DEV Community

Cover image for Run Ox Alpha in Claude Code without touching your Claude subscription
Aqsa Inayat
Aqsa Inayat

Posted on

Run Ox Alpha in Claude Code without touching your Claude subscription

Ox Alpha showed up on OpenRouter on 20 August with no author attached to it. Nobody has confirmed which lab built it — community fingerprinting points at Z.ai's GLM family, unconfirmed. It has a 1M-token context window, it's been scoring well on coding benchmarks, and it's free during its preview window, which is expected to run to roughly 27 August.

I wanted to try it on a real project without disturbing the Claude Code setup I use every day. This is what I worked out.

The key detail most guides skip: if you configure this the obvious way, you'll silently reroute all your Claude sessions through OpenRouter and start burning credits instead of your subscription. The setup below scopes it to a single project folder so that doesn't happen.


What you're actually doing

Claude Code normally talks to Anthropic's API. OpenRouter exposes an endpoint that speaks the same protocol, so you can point Claude Code at OpenRouter instead and have it route to Ox Alpha.

You keep the entire Claude Code experience — the tools, the agentic loop, the file editing, the terminal integration. Only the model answering changes.


Step 1 — Get an OpenRouter API key

Sign in at openrouter.ai/keys and create one. It looks like sk-or-v1-…. Creating a key is free.


Step 2 — Create a project-local settings file

In the project you want to use Ox Alpha on, create:

your-project/.claude/settings.local.json
Enter fullscreen mode Exit fullscreen mode
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://openrouter.ai/api",
    "ANTHROPIC_AUTH_TOKEN": "sk-or-v1-YOUR-KEY-HERE",
    "ANTHROPIC_API_KEY": "",
    "ANTHROPIC_MODEL": "stealth/ox-alpha"
  },
  "permissions": {
    "deny": [
      "Read(.env)",
      "Read(**/.env)",
      "Read(**/.env.local)",
      "Grep(**/.env)",
      "Grep(**/.env.local)"
    ]
  }
}
Enter fullscreen mode Exit fullscreen mode

Why project-local and not global

ANTHROPIC_BASE_URL reroutes everything, not just Ox Alpha. Put it in ~/.claude/settings.json and your normal Sonnet and Opus sessions also start going through OpenRouter — billed to OpenRouter credits rather than your Claude Pro or Max plan.

Project-local keeps it contained to one folder. Every other window carries on exactly as before.

Why the deny block

It stops Claude Code's file tools reading your .env files. Worth having when the model on the other end is operated by someone you can't identify.

Treat it as a seatbelt, not a guarantee — the stronger move is simply not keeping production secrets in a project you point an unknown model at.


Step 3 — Keep the key out of git

Add this to the project's .gitignore before you commit anything:

# Local Claude Code overrides — never commit
.claude/settings.local.json
Enter fullscreen mode Exit fullscreen mode

Step 4 — Open the folder in its own VS Code window

File → Open Folder, and pick that project.

A separate window — not a folder tab inside an existing one. The settings are read per-window at startup.


Step 5 — Open the Claude Code panel

Cmd + Esc (or Ctrl + Esc), or the Claude Code icon in the activity bar.

If you'd already opened the window before saving the key, run Developer: Reload Window from the command palette first. The config is only read at startup.


Confirm it actually worked

Don't skip this. A config that's being silently ignored looks identical to one that's working.

Type this into the Claude Code chat box:

Which model are you, and who made you?

  • It identifies as ox-alpha → you're connected.
  • It says it's Claude, made by Anthropic → the config isn't being read. Reload the window, and check the key really saved.

You can also run /model — the picker marks the active model with a tick, and stealth/ox-alpha shows up as a custom entry at the bottom. Switching back to Sonnet or Opus is just /model again in the same window.


Two things worth knowing

Your code goes somewhere unidentified. Anything the model reads — files, terminal output, error messages — is sent to whoever operates Ox Alpha, and nobody has publicly confirmed who that is or what their retention policy looks like. Fine for a side project. Think harder before pointing it at client work, anything under NDA, or a repo with real user data.

The prices in /model aren't your Claude plan. Once the base URL points at OpenRouter, the picker lists OpenRouter's rates for the Claude models too. You aren't charged those unless you actually switch to one of those rows in this window — but it's a useful reminder that this window is no longer on your subscription.


Troubleshooting

There's no /status command. Not every build has one, and you don't need it. Ask the model what it is, or run /model and see what's ticked.

Slash commands don't autocomplete at all. You're probably typing in the VS Code command palette rather than the Claude Code chat input. Click into the chat box first.

It still answers as Claude. Almost always one of three things: the window was opened before you saved the key (reload it), the file is in the wrong place (it must be .claude/settings.local.json inside the folder you opened), or the JSON is malformed — a trailing comma is enough to break it silently.

Authentication errors. Check ANTHROPIC_API_KEY is present and set to an empty string. It looks redundant, but leaving it out lets an existing Anthropic key take precedence and the request goes to the wrong place.

Model not found, or it suddenly costs money. Stealth models are temporary by design — they get renamed, repriced, or withdrawn when the preview ends. Check the model page for the current slug and pricing.


Worth it?

For the length of the free window, it costs nothing to find out, and the setup above means you can switch back with one /model command.

The more interesting use I've found isn't replacing Claude — it's running two windows side by side on the same codebase: one on my Claude subscription, one on Ox Alpha, each in its own git worktree working on a different feature. That's a longer post.

The same environment variables work in the terminal CLI too — export them before launching claude.


Written 25 August 2026, while Ox Alpha's provenance was still unconfirmed. I drafted this with AI assistance and ran every step on my own machine before publishing.

Top comments (0)