Status line shows incorrect model name at startup (Opus instead of Sonnet)

Resolved 💬 4 comments Opened Jan 29, 2026 by JMoores-AU Closed Feb 2, 2026

Bug Description

When Claude Code starts up, the status line displays \"Opus 4.5\" even though the configured default model in ~/.claude/settings.json is set to \"model\": \"sonnet\".

Steps to Reproduce

  1. Configure ~/.claude/settings.json with:

``json
{
\"model\": \"sonnet\"
}
``

  1. Start Claude Code CLI
  2. Observe the status line

Expected Behavior

Status line should display \"Sonnet 4.5\" (or the configured model's display name)

Actual Behavior

Status line displays \"Opus 4.5\" on startup

Environment

  • OS: Windows 10/11
  • Platform: win32
  • Custom status line: PowerShell script reading $data.model.display_name

Additional Context

The status line script correctly reads $data.model.display_name from the JSON data Claude Code provides. The issue appears to be that Claude Code is sending incorrect model information in the JSON payload at startup, not respecting the configured default model setting in settings.json.

After running /model to manually switch to Sonnet, the correct model is used, but the status line initially shows the wrong model name on startup.

View original on GitHub ↗

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