ia

Getting Both Opus 4.7 Variants Back in Claude Code's Model Picker

If you’re on a Claude Max plan and use Claude Code in the terminal, you might have noticed something odd: the /model picker only shows Opus 4.7 with 1M context. The standard 200k variant — the one you can still pick freely on claude.ai and the desktop app — is gone.

Turns out it’s not a bug. It’s documented behavior. And there’s a workaround that the Anthropic docs surface, but only if you read the right page.

What’s actually happening

From the Claude Code model config docs:

On Max, Team, and Enterprise plans, Opus is automatically upgraded to 1M context with no additional configuration.

The CLI silently swaps claude-opus-4-7 for claude-opus-4-7[1m] and removes the 200k entry from the picker. The desktop and web apps don’t apply this auto-upgrade the same way, which is why the variant is still visible there.

The official escape hatch is CLAUDE_CODE_DISABLE_1M_CONTEXT=1 — but that nukes 1M context entirely from your picker, for both Opus and Sonnet. If you actually want to choose between 200k and 1M depending on the task, that’s the wrong tool.

This is a known UX complaint. GitHub issue #39401 flags it explicitly: users get pushed toward the more expensive variant with no in-picker affordance to opt out. Issue #50803 goes further — on Max, even passing --model claude-opus-4-7 can silently revert to the 1M variant under some conditions.

The clean workaround

Buried in the same docs page is ANTHROPIC_CUSTOM_MODEL_OPTION. It adds a custom entry to the /model picker without removing the built-in ones. It was meant for LLM gateway deployments, but it works just as well for re-surfacing a model the picker has hidden.

Add this to ~/.zshrc:

export ANTHROPIC_CUSTOM_MODEL_OPTION="claude-opus-4-7"
export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="Opus 4.7 (200k)"
export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="Standard 200k context Opus 4.7"

Open a fresh terminal — not just a new tab in an existing one, since some terminals (Warp included) don’t always re-source ~/.zshrc for child processes. Verify the env var is set:

echo $ANTHROPIC_CUSTOM_MODEL_OPTION
# should print: claude-opus-4-7

Then run claude and open /model. The standard variant appears at the bottom of the list as a fourth entry, alongside Default (1M Opus), Sonnet, and Haiku. You can switch between 200k and 1M freely, in either direction, mid-session.

Does it cost extra?

No. On Max, both variants are bundled.

For plans where extended context is included with your subscription, usage remains covered by your subscription.

There’s no premium for tokens beyond 200k on the 1M variant either — it’s the same per-token rate, just a larger window. The practical difference is session shape: 200k forces compaction sooner (lossy summaries, slight context loss), and 1M lets sessions grow before compacting (more tokens per turn, but no information lost to summarization). Pick based on the work, not the bill.

Limitations

ANTHROPIC_CUSTOM_MODEL_OPTION only supports one custom entry. If you wanted to surface, say, both standard Opus 4.7 and a Bedrock-routed deployment, you’d have to pick one. The community has been asking for a configurable picker via settings.json for a while (#12386, #14443) — both closed as duplicates, neither resolved.

The right long-term fix is for Claude Code to just list both variants in the picker by default on qualifying plans. Until then, this env-var hack is the cleanest path I’ve found to having a real choice.

TL;DR

  1. Add three ANTHROPIC_CUSTOM_MODEL_OPTION* exports to ~/.zshrc
  2. Open a fresh terminal
  3. Run claude/model
  4. The 200k Opus variant is now selectable as entry #4

No extra cost on Max. No 1M context disabled. Just the picker behaving the way the desktop app does.