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.

terminal

$ 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.

  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. Poolside: Laguna S 2.1 (free)

    Recommended

    Poolside 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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.

paste this into Claude Code
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.

  1. Install omp

    Open Terminal.

    curl -fsSL https://omp.sh/install | sh

    Run omp --version. A version number confirms the install.

    If Terminal cannot find omp, open a new terminal window. Run omp --version again.

  2. 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.

  3. 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.

  4. 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: openrouter
  5. Check 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"
  6. 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.