Statusline model data not updated after /model switch
Status Fixed / completed
Maintainer reply None cached
Activity 4 comments · opened Feb 15, 2026 · 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
4 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Confirming duplicate of #19570
+1 — Still reproducible on v2.1.44 (Linux). The root issue #19570 is marked
staledespite having 5+ duplicates. This is a trust-breaking bug for anyone using custom statuslines: if the model field lies, the statusline becomes unreliable. Worth re-opening #19570 or at minimum removing the stale label.This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.