Agent list labels the 1M context window inconsistently between model families (Fable vs Opus)

Status Open
Maintainer reply None cached
Activity 1 comment · opened Sep 1, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

In the Background tasks panel's workflow agent list, two models that both resolve to their [1m] variants are labelled inconsistently — only the Opus row indicates the 1M window.

| Agent rows | Model shown |
| --- | --- |
| impl:BossMovesets, impl:Eggspresso | Fable 5.1 |
| impl:Headshot, impl:IVSInventory | Opus 5 1M |

Both are running [1m] variants. In ~/.claude.json, additionalModelOptionsCache shows the Fable option's stored value already carries the suffix:

{
  "value": "claude-fable-5-1[1m]",
  "label": "Fable",
  "description": "Fable 5.1 · Most capable for your hardest and longest-running tasks"
}

The suffix is applied by the client rather than typed by the user — the session was launched with a plain --model claude-opus-5 and the client appends [1m] based on entitlement. So both families reach [1m] by the same path; only the rendering differs.

What Should Happen?

Both rows should indicate the context window the same way — either Fable 5.1 1M and Opus 5 1M, or Fable 5.1 and Opus 5.

Within a single list, the same property should render consistently across model families, so the label can be trusted as a signal of which context window an agent actually ran with.

Error Messages/Logs

Steps to Reproduce

  1. Use Claude Code inside the Claude Desktop app on an account entitled to the 1M context window.
  2. In the model picker, select Fable (resolves to claude-fable-5-1[1m]).
  3. Start a dynamic workflow that fans out several agents in parallel, e.g. a parallel() stage with a handful of agent() calls. Do not set model on the agent calls, so they inherit the session model.
  4. While the workflow is still running, switch the session model to Opus 5 with /model.
  5. Open the Background tasks panel and look at the agent rows.

Agents launched before the switch read Fable 5.1. Agents launched after read Opus 5 1M. Both are running [1m] variants, but only the Opus rows show the window in the label.

A single-model run also shows it: any workflow on Opus 5 labels its agents Opus 5 1M, while any workflow on Fable 5.1 labels them Fable 5.1 — the model switch above just puts both in one list side by side.

Claude Model

Other

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.255 (Claude Code)

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Other

Additional Information

Environment detail: Claude Code running inside the Claude Desktop app on Windows 11 (native, not WSL). The account is entitled to the 1M context window — the session picker shows plain "Opus 5" while the reported context window is 1M, which is consistent with the client-side suffix described above.

Related but separate — possible provenance gap. Workflow run journals do not record which model each agent used. I checked all 31 journal.jsonl files under .claude/projects/<project>/<session>/subagents/workflows/*/ and none contains a model field for agent entries.

That matters in exactly the scenario above: when the session model changes mid-run, agents launched before and after the change run on different models. The Background tasks panel shows this live, but once the run ends there is no artifact recording which agent used which model. For workflows whose output is retained (reports, evaluations, generated code), the provenance is not recoverable afterwards.

Noting it here as context rather than filing a second bug, since the template asks for one bug per report. #84047 requests surfacing model and effort per agent in the Web UI, which is adjacent to this.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗