# Run Ox Alpha in Claude Code without touching your Claude subscription

> Source: <https://dev.to/aqsainayat/run-ox-alpha-in-claude-code-without-touching-your-claude-subscription-34c2>
> Published: 2026-08-24 20:00:27+00:00

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.

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.

Sign in at [openrouter.ai/keys](https://openrouter.ai/keys) and create one. It looks like `sk-or-v1-…`

. Creating a key is free.

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

```
your-project/.claude/settings.local.json
{
  "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)"
    ]
  }
}
```

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

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.

Add this to the project's `.gitignore`

**before** you commit anything:

```
# Local Claude Code overrides — never commit
.claude/settings.local.json
```

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

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

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?

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.

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

**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](https://openrouter.ai/stealth/ox-alpha) for the current slug and pricing.

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