Statusline model data not updated after /model switch
Resolved 💬 4 comments Opened Feb 15, 2026 by jimmy-harden Closed Feb 15, 2026
Description
The statusline command receives stale model data after switching models mid-session with /model. The JSON input to the statusline script continues to report the original session model, not the newly selected one.
Steps to Reproduce
- Start a Claude Code session (defaults to Sonnet 4.5 in my case)
- Configure a custom statusline that displays model info:
``json``
"statusLine": {
"type": "command",
"command": "jq -r '.model.id'"
}
- Run
/modeland switch to Opus - Send a message to trigger a statusline refresh
- Observe the statusline still shows the previous model
Expected Behavior
After /model switch, the statusline JSON input should reflect the new model:
{
"model": {
"id": "claude-opus-4-6",
"display_name": "Opus"
}
}
Actual Behavior
The statusline JSON input still contains the pre-switch model:
{
"model": {
"id": "claude-sonnet-4-5-20250929",
"display_name": "Sonnet 4.5"
}
}
Confirmed by dumping the raw JSON stdin to a file — Claude Code is sending the stale data, not a statusline script bug.
Environment
- Claude Code v1.0.34
- macOS (Darwin 25.3.0)
- Model switched from Sonnet 4.5 → Opus 4.6 via
/model
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗