Status line JSON reports wrong model after /model switch

Resolved 💬 4 comments Opened Mar 28, 2026 by Spaventu2A Closed Apr 18, 2026

Bug

After switching model via /model (e.g. selecting Opus 4.6), the status line JSON input still reports the previous model (Sonnet 4.6). The model.id and model.display_name fields in the JSON payload sent to the status line command do not reflect the currently selected model.

Steps to reproduce

  1. Start Claude Code (defaults to Sonnet 4.6)
  2. Run /model and select Opus 4.6
  3. Observe status line still shows Sonnet 4.6

Debug output

Dumped the raw JSON received by the status line command to a file. Result:

{
  "model": {
    "id": "claude-sonnet-4-6",
    "display_name": "Sonnet 4.6"
  }
}

The conversation itself confirms Opus 4.6 is active (system prompt says claude-opus-4-6), but the status line JSON still reports Sonnet.

Expected behavior

model.id and model.display_name in the status line JSON should reflect the model currently in use after a /model switch.

Environment

  • Claude Code version: 2.1.78
  • OS: macOS (Darwin 25.2.0)
  • Shell: zsh

View original on GitHub ↗

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