System-prompt env block misreports the model: says Opus 4.8 while /status shows claude-fable-5

Status Open
Reported on v2.1.207
Maintainer reply None cached
Activity 0 comments · opened Jul 21, 2026

Environment

  • Claude Code version: 2.1.207
  • Platform: macOS (Darwin 24.6.0), terminal CLI
  • Login method: Claude Max account
  • Model setting: Fable 5, persisted in user settings; 1M context enabled

Bug description

With the session model set to Fable 5, every UI surface agrees the model is Fable:

  • /model picker shows Fable selected ("Kept model as Fable 5")
  • /status shows: Model: claude-fable-5[1m] (claude-fable-5)
  • statusline shows: Model: Fable 5

But the environment block injected into the model's context says:

You are powered by the model named Opus 4.8. The exact model ID is claude-opus-4-8.

So the assistant confidently self-identifies as Opus 4.8 in a Fable 5 session. Since a model cannot self-identify from its weights, the env block is its only source of truth for identity; misreporting it is worse than omitting it.

Steps to reproduce

  1. Set model to Fable 5 (via /model, persisted to user settings) with 1M context active.
  2. Start a session and ask the assistant which model it is, or have it write a model-attribution footer.
  3. It reports Opus 4.8, quoting the env block, and will argue against the user's own /status output.

Expected

The env block's model name/ID matches the model the client requests (claude-fable-5), i.e. agrees with /status.

Actual

Env block claims claude-opus-4-8; /status and the statusline claim claude-fable-5 in the same session.

Additional context

  • First theory was a silent 1M-context fallback (Fable lacking a 1M tier), but the platform docs model overview shows Claude Fable 5 has a 1M token context window natively, so that doesn't explain it. From the client side we cannot tell whether this is a prompt-templating bug (env text derived from the wrong value) or a real server-side substitution being surfaced only in the env block — either way the two surfaces should agree.
  • Practical impact beyond confusion: the assistant wrote the wrong model name into an attribution footer of an external comment and had to be corrected with screenshots.
  • Session ID (if useful for tracing): 793e70de-7683-4fc1-b11e-439c851211bc

View original on GitHub ↗