settings.json model field ignored at startup (v2.1.81)

Resolved 💬 5 comments Opened Mar 21, 2026 by bcmatteo Closed May 10, 2026

Bug Description

The model field in ~/.claude/settings.json is ignored when launching Claude Code. The CLI always starts with Opus 4.5 (claude-opus-4-5-20251101) regardless of the settings file value.

Steps to Reproduce

  1. Set "model": "claude-opus-4-6" in ~/.claude/settings.json
  2. Launch claude
  3. Check /context — shows claude-opus-4-5-20251101 · 7k/200k tokens
  4. Header also shows "Opus 4.5"

Expected Behavior

CLI should launch with Opus 4.6 (1M context) when "model": "claude-opus-4-6" is set in settings.json.

Actual Behavior

  • Settings file is ignored; CLI starts with Opus 4.5 (200k context)
  • /model menu shows "Default (recommended) → Opus 4.6" but selecting it removes the model key from settings.json instead of persisting it
  • --model claude-opus-4-6 flag works correctly (confirms the CLI recognizes the model ID)
  • The /model menu also shows "Opus 4.5" as option 4 with a checkmark, and "Newer version available" note — but selecting "Default" doesn't stick across sessions

Workaround

alias claude="claude --model claude-opus-4-6"

Environment

  • Claude Code v2.1.81
  • macOS (Darwin 25.3.0)
  • Native installation at ~/.local/bin/claude
  • Claude Max subscription

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗