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

  1. Open two tmux panes, both running Claude Code
  2. Both start as Sonnet 4.6 (confirmed via status bar)
  3. In Pane B: /model opus
  4. In Pane A: status bar still shows Sonnet 4.6
  5. In Pane A: /model command reveals actual model is now Opus
  6. 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.json periodically 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.json as 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-6

View original on GitHub ↗

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