Setup Guide
Run omp with a free coding model
Connect omp to OpenRouter and start with Poolside: Laguna S 2.1 (free). Your first agentic coding run costs $0 in model tokens. The free-model catalog refreshes every 24 hours, and every setup on this page keeps the explicit :free suffix.
$ omp
model: openrouter/poolside/laguna-s-2.1:free · $0 model tokens
Free catalog · 24-hour refresh
Pick the model omp will use
Start with Laguna S 2.1 for agentic coding. Choose another model and the terminal example, YAML, manual commands, and Claude Code prompt update together.
Every option below currently has explicit :free pricing, text output, tools, and tool choice. OpenRouter can change availability and rate limits. Review the provider’s data policy before sending private code.
Model
Context
Use it for
Published evidence
Setup
MiniMax: MiniMax M3 (free)
1.0M tokens
Long-context coding, tool use, and repositories that include images or video.
1,048,576-token context, tool calling, and text, image, and video input on the OpenRouter model card. Source
NVIDIA: Nemotron 3 Ultra (free)
1M tokens
Long-context reasoning, orchestration, and coding-agent experiments.
OpenRouter lists a 1,000,000-token context window, reasoning controls, and tool calling. Source
NVIDIA: Nemotron 3.5 Lightning (free)
1M tokens
High-throughput agent experiments and smaller coding tasks.
OpenRouter lists a 1,000,000-token context window, reasoning controls, and tool calling. Source
Dots Studio: Dots3-Note Preview (free)
512k tokens
Open the model card before choosing it for a repository.
No GraniteAI coding recommendation has been recorded for this model yet. Source
Google: Gemma 4 26B A4B (free)
262k tokens
Lighter multimodal instruction following with tool use.
OpenRouter lists tools, reasoning controls, and a 262,144-token context window. Source
Google: Gemma 4 31B (free)
262k tokens
General multimodal instruction following with tool use.
OpenRouter lists tools, reasoning controls, and a 262,144-token context window. Source
inclusionAI: Ling 3.0 Flash Fin (free)
262k tokens
Open the model card before choosing it for a repository.
No GraniteAI coding recommendation has been recorded for this model yet. Source
inclusionAI: Ling 3.0 Flash Sante (free)
262k tokens
Open the model card before choosing it for a repository.
No GraniteAI coding recommendation has been recorded for this model yet. Source
NVIDIA: Nemotron 3 Super (free)
262k tokens
Multi-agent experiments and structured repository work.
OpenRouter lists tool calling, structured output, and a 262,144-token context window. Source
Poolside: Laguna S 2.1 (free)
RecommendedPoolside says free inputs and outputs may be used to improve its models.
262k tokens
Agentic coding, terminal work, and multi-step repository changes.
70.2% Terminal-Bench 2.1 and 40.4% DeepSWE, published on the OpenRouter model card. Source
Poolside: Laguna XS 2.1 (free)
262k tokens
Smaller agentic coding tasks where latency matters more than maximum capability.
Coding-focused Poolside model with tool calling and a 262,144-token context window. Source
Cohere: North Mini Code (free)
256k tokens
Fast routine coding tasks and small tool-driven changes.
Coding-focused model with tool calling and a 256,000-token context window. Source
NVIDIA: Nemotron 3 Nano Omni (free)
256k tokens
Open the model card before choosing it for a repository.
No GraniteAI coding recommendation has been recorded for this model yet. Source
Z.ai: GLM 5.2 (free)
256k tokens
Project-scale coding, structured output, and long-running tool use.
256,000-token current API context with tools, tool choice, and structured outputs. Source
MiniMax: MiniMax M2.7 (free)
197k tokens
Earlier MiniMax agent workflows and tool-use experiments.
OpenRouter lists tools, reasoning controls, and a 196,608-token context window. Source
LiquidAI: LFM2.5-2.6B (free)
66k tokens
Open the model card before choosing it for a repository.
No GraniteAI coding recommendation has been recorded for this model yet. Source
Catalog read Sep 6, 2026, 11:58 AM UTC. Availability and technical fields come from the public OpenRouter catalog. Fit notes and evidence links were reviewed by GraniteAI on Aug 27, 2026. They are not equivalence rankings.
The setup at a glance
6
Steps
~10
Minutes
$0
Model tokens
24h
Catalog refresh
For Claude Code users
Give Claude Code the setup job
Paste the prompt on the right into Claude Code. It opens OpenRouter for sign-up, installs omp, registers all 16 free models above, and runs one :free test call. A new account calls them with no credit card and no credits.
The guardrails are part of the prompt. No paid fallback. No API key in chat. No credentials typed for you. Run omp, press /model, and the whole free list is yours to switch between. The manual path below exposes every command.
Set up the omp coding agent on this machine and register every free OpenRouter coding model.
OpenRouter is one account and one API key that reaches models from many providers. A model id ending in :free costs $0 per token.
Safety rules:
- Never print my full API key after I confirm it.
- Do not ask me to paste the key into chat or save it in a project file.
- Ask me before any action that could create a charge. A paid model id needs my approval.
- Keep the :free suffix on every model id and command.
1. Read the free catalog.
Fetch https://openrouter.ai/api/v1/models?max_price=0&output_modalities=text without authentication.
Keep every model whose id ends in :free, whose prompt and completion prices are both numeric zero, and whose supported_parameters include tools and tool_choice.
Tell me how many you found. Drop any model in the roster below that is gone from that list. Add any new one that qualifies.
2. Get me an OpenRouter account.
Open https://openrouter.ai in a browser. If I am already signed in, go to step 3.
Otherwise open https://openrouter.ai/sign-up and stop there. Tell me to create the account myself in that window.
Never type my email, my password, or a verification code. Wait for me to say I am signed in.
A new account needs no credit card and no credits to call a :free model.
3. Create the API key.
Open https://openrouter.ai/settings/keys. Tell me to select Create Key and name it omp-free.
Do not read the key, copy it into chat, or write it to a project file.
Give me the command for my platform with <key> left as a placeholder:
macOS/Linux: export OPENROUTER_API_KEY=<key>
Windows PowerShell: [System.Environment]::SetEnvironmentVariable('OPENROUTER_API_KEY','<key>','User')
On macOS/Linux, tell me to add that export line to ~/.zshrc or ~/.bashrc so it survives a new terminal.
On Windows, tell me to open a new PowerShell so the user variable loads.
Wait for me to confirm the key is set. Then continue.
4. Install omp.
macOS/Linux: curl -fsSL https://omp.sh/install | sh
Windows PowerShell: irm https://omp.sh/install.ps1 | iex
Verify with "omp --version". If the shell cannot find omp, tell me to open a new terminal and run it again. The installer edits PATH and an open shell keeps the old one.
5. Register every free model.
Write ~/.omp/agent/models.yml (Windows: %USERPROFILE%\.omp\agent\models.yml).
If the file exists, merge into it. Keep every provider, model, and setting already there. Add these under providers.openrouter.models and replace only an entry with the same id.
Use this shape for each entry:
providers:
openrouter:
models:
- id: poolside/laguna-s-2.1:free
name: "Poolside: Laguna S 2.1 (free)"
reasoning: true
input: [text]
contextWindow: 262144
maxTokens: 32768
cost:
input: 0
output: 0
cacheRead: 0
cacheWrite: 0
compat:
thinkingFormat: openrouter
Write one entry per row below. Every field value comes from this roster:
poolside/laguna-s-2.1:free | Poolside: Laguna S 2.1 (free) | contextWindow 262144 | maxTokens 32768 | reasoning true
minimax/minimax-m3:free | MiniMax: MiniMax M3 (free) | contextWindow 1048576 | maxTokens 943718 | reasoning true
nvidia/nemotron-3-ultra-550b-a55b:free | NVIDIA: Nemotron 3 Ultra (free) | contextWindow 1000000 | maxTokens 65536 | reasoning true
nvidia/nemotron-3.5-lightning:free | NVIDIA: Nemotron 3.5 Lightning (free) | contextWindow 1000000 | maxTokens 65536 | reasoning true
dots-studio/dots-3-note-preview:free | Dots Studio: Dots3-Note Preview (free) | contextWindow 512000 | maxTokens 460800 | reasoning true
google/gemma-4-26b-a4b-it:free | Google: Gemma 4 26B A4B (free) | contextWindow 262144 | maxTokens 32768 | reasoning true
google/gemma-4-31b-it:free | Google: Gemma 4 31B (free) | contextWindow 262144 | maxTokens 32768 | reasoning true
inclusionai/ling-3.0-flash-fin:free | inclusionAI: Ling 3.0 Flash Fin (free) | contextWindow 262144 | maxTokens 32768 | reasoning true
inclusionai/ling-3.0-flash-sante:free | inclusionAI: Ling 3.0 Flash Sante (free) | contextWindow 262144 | maxTokens 32768 | reasoning true
nvidia/nemotron-3-super-120b-a12b:free | NVIDIA: Nemotron 3 Super (free) | contextWindow 262144 | maxTokens 235929 | reasoning true
poolside/laguna-xs-2.1:free | Poolside: Laguna XS 2.1 (free) | contextWindow 262144 | maxTokens 32768 | reasoning true
cohere/north-mini-code:free | Cohere: North Mini Code (free) | contextWindow 256000 | maxTokens 64000 | reasoning true
nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free | NVIDIA: Nemotron 3 Nano Omni (free) | contextWindow 256000 | maxTokens 65536 | reasoning true
z-ai/glm-5.2:free | Z.ai: GLM 5.2 (free) | contextWindow 256000 | maxTokens 230400 | reasoning true
minimax/minimax-m2.7:free | MiniMax: MiniMax M2.7 (free) | contextWindow 196608 | maxTokens 176947 | reasoning true
liquid/lfm-2.5-2.6b:free | LiquidAI: LFM2.5-2.6B (free) | contextWindow 65536 | maxTokens 8192 | reasoning true
Two spaces per indent level. Never a tab.
6. Verify. No credits needed.
Run "omp models openrouter". Every id from step 5 appears in the list.
Then run: omp -p --model openrouter/poolside/laguna-s-2.1:free "Reply with only OK"
Expect exactly OK. That call costs $0 and draws on no balance.
OpenRouter allows 20 requests per minute on free models, and 50 requests per day for an account that has never bought credits. The daily cap rises to 1000 after a 10 dollar credit purchase. If a call returns 429, tell me which cap it hit.
If a provider reports a model as unavailable, remove that entry and tell me which one. Never drop the :free suffix and never retry against a paid id.
7. Hand off.
Tell me to open a project, run "omp", and type /model.
Tell me how many free models are now in that list, and set Poolside: Laguna S 2.1 (free) as the Default role.
Tell me I can switch to any other model in that list with /model at no cost.
Tell me to check a provider's data policy before sending private code.The working setup
Three pieces. One free coding run.
omp gives the model a repository, tools, and a terminal workflow. OpenRouter gives omp one API key across many providers. The selected :free model does the reasoning and coding without a per-token charge.
This page starts with Poolside: Laguna S 2.1 (free). Agentic coding, terminal work, and multi-step repository changes. 70.2% Terminal-Bench 2.1 and 40.4% DeepSWE, published on the OpenRouter model card.
Free endpoints are made for experiments and personal learning. OpenRouter allows 20 requests per minute, and 50 requests per day on an account that has never bought credits. That daily cap rises to 1000 after a 10 dollar purchase. Endpoints can also disappear and may use different data policies. Read the policy before a private repository. Then switch models from the live list without rewriting the setup by hand.
omp
The coding harness. It reads the repository, edits files, runs commands, and keeps the work inside a terminal session you control.
OpenRouter
The provider layer. One account and one key expose the current free catalog. Explicit :free ids prevent a quiet move onto paid inference.
Poolside: Laguna S 2.1 (free)
Agentic coding, terminal work, and multi-step repository changes. 262k-token context. $0 prompt and completion pricing when this catalog was read.
Step by step
The manual guide
Pick your system. Each step is short on purpose. Commands in the dark boxes have a copy button.
Install omp
Open Terminal.
curl -fsSL https://omp.sh/install | shRun omp --version. A version number confirms the install.
If Terminal cannot find omp, open a new terminal window. Run omp --version again.
Get an OpenRouter API key
Open openrouter.ai in your browser. Make an account if you do not have one.
Go to Settings, then Keys. Select Create Key. Name it omp-free.
Copy the key into the local command in the next step. Do not paste it into chat or a project file.
Give omp the key
In Terminal, run this command. Use your key from step 2:
export OPENROUTER_API_KEY=sk-or-v1-...This export lasts for this terminal session only.
To keep the key, add the same export line to your ~/.zshrc file. Then run source ~/.zshrc.
Register the model
Create the file ~/.omp/agent/models.yml. Paste this text. Save the file:
providers: openrouter: models: - id: poolside/laguna-s-2.1:free name: "Poolside: Laguna S 2.1 (free)" reasoning: true input: [text] contextWindow: 262144 maxTokens: 32768 cost: input: 0 output: 0 cacheRead: 0 cacheWrite: 0 compat: thinkingFormat: openrouterCheck that it works
Run omp models openrouter. Poolside: Laguna S 2.1 (free) appears in the list.
Then run this test. The reply must be exactly OK:
omp -p --model openrouter/poolside/laguna-s-2.1:free "Reply with only OK"Make it your default
Run omp inside one of your projects.
Type /model and press Enter.
Find Poolside: Laguna S 2.1 (free) under openrouter. Assign it to Default.
New sessions now start with Poolside: Laguna S 2.1 (free).
When something fights back
Four problems, four fixes
The shell cannot find omp
The installer adds omp to your PATH, but an open terminal keeps the old PATH. Close the terminal, open a new one, and try again.
models.yml validation failed
Almost always indentation. YAML needs two spaces per level, never tabs. Keep the id line exactly poolside/laguna-s-2.1:free.
Poolside: Laguna S 2.1 (free) does not appear in /model
Check two things. The file must sit at ~/.omp/agent/models.yml, and OPENROUTER_API_KEY must be set in the terminal you launched omp from. Run omp models openrouter to see what loaded.
The free model is rate-limited or unavailable
A 429 means a cap, not a bill. OpenRouter allows 20 requests per minute, and 50 per day on an account that has never bought credits. Wait for the window to reset, or pick another explicit :free model from the list above. Never remove the suffix to force a paid retry.
Keep experimenting
One key. A catalog you can change.
Start with Poolside: Laguna S 2.1 (free). Return when the free catalog changes, choose a different model, and copy a fresh setup. The explicit :free id keeps the boundary visible.