Status bar shows stale model after settings.json change from another session
Resolved 💬 3 comments Opened Feb 22, 2026 by liushawulan Closed Feb 25, 2026
Bug
When the model is changed via /model in one Claude Code session (tmux pane), other running sessions pick up the new model (via shared ~/.claude/settings.json), but the status bar still displays the old model name.
Impact
This is misleading for subscription users managing usage quota. I thought I was running Sonnet 4.6 (as shown in status bar) but was actually consuming Opus quota the entire time.
Steps to reproduce
- Open two tmux panes, both running Claude Code
- Both start as
Sonnet 4.6(confirmed via status bar) - In Pane B:
/model opus - In Pane A: status bar still shows
Sonnet 4.6 - In Pane A:
/modelcommand reveals actual model is nowOpus - System prompt also confirms
claude-opus-4-6
Expected behavior
The status bar should always reflect the actual model being used for API calls, not a cached/stale value. Either:
- Poll
settings.jsonperiodically and update the display, or - Update status bar on each API call when the model changes, or
- Keep model selection per-session (in-memory) and only use
settings.jsonas default for new sessions
Environment
- Claude Code (CLI)
- Ubuntu 24.04, tmux, Alacritty terminal
- Max subscription plan
Status bar (stale): python (git:main) | Sonnet 4.6 | S:31K↑/299K↓
Actual model: claude-opus-4-6This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗