Advisor binds claude-opus-5-5 when advisorModel is set to Fable mid-session; resume keeps it
Summary
When advisorModel is set to Fable while a session is already running, the advisor tool attaches with claude-opus-5-5 instead of Fable. This happens with both the fable alias and the full ID claude-fable-5-1. A session that starts with the same setting gets claude-fable-5-1. Resuming the Opus-bound session keeps Opus. Nothing tells the user that the advisor is not the model they configured.
Environment
- Claude Code 2.1.294, macOS
- Max plan, Anthropic API (no gateway);
/modelshows no usage-credit note on the Fable row - Main model:
claude-sonnet-5-5in the repro below (also seen withclaude-opus-5-5)
Steps to reproduce
- Make an empty project with
.claude/settings.jsoncontaining{}. - Run
claude -p --permission-mode bypassPermissions --model claude-sonnet-5-5with a prompt that:
- writes
{"advisorModel": "fable"}to.claude/settings.jsonwith Bash and waits 8 seconds, - makes two more Bash calls so new requests go out,
- calls the advisor once.
- Read the transcript's
advisor_toolattachment and theadvisor_messageusage row.
Expected
The attachment and the advisor answer name claude-fable-5-1.
Actual
{"type":"advisor_tool","available":true,"model":"claude-opus-5-5","toolChange":"add"}
{"type":"advisor_message","model":"claude-opus-5-5","input_tokens":52103}
Controls
| Case | Advisor model bound |
|---|---|
| "fable" written mid-session | claude-opus-5-5 |
| "claude-fable-5-1" written mid-session | claude-opus-5-5 |
| "fable" set before the session starts | claude-fable-5-1 |
| Opus-bound session resumed with claude -p --resume <id> | claude-opus-5-5 (no new attachment) |
The same thing happened to interactive sessions. Every session that was already open when a shared project setting added advisorModel: "fable" got claude-opus-5-5. Every session started after that got claude-fable-5-1.
Impact
- The user believes a Fable advisor is reviewing work while an Opus advisor answers. In one interactive session the main model wrote "You switched the advisor to Fable" before a call that Opus answered.
- Each call on a long session reads the whole transcript uncached. One such call read 515,071 input tokens on Opus.
- The advisor docs describe no fallback from Fable to Opus for this case. The only documented cases are a refused pairing (the advisor is dropped) and missing usage-credit consent (the advisor is disabled).
Workaround
Start a new session after setting advisorModel. Resuming does not rebind the model.