Advisor tool: Fable 5 (claude-fable-5) consistently returns error_code "unavailable"; Opus 4.8 succeeds under identical config
Description
The advisor tool fails 100% of the time (2/2 attempts, two independent sessions) when advisorModel is set to fable (claude-fable-5), while the exact same executor (Sonnet 5) succeeds immediately when advisorModel is set to opus (claude-opus-4-8).
Environment
- Claude Code version: 2.1.205 (macOS)
- Executor model: Sonnet 5 (
claude-sonnet-5) - Advisor model under test: Fable 5 (
claude-fable-5)
Steps to reproduce
- Set
"advisorModel": "fable"in settings (or pass--advisor fable) with executor--model sonnet. - Trigger an advisor call from within a session (interactively via the
advisortool, or headless:claude -p "<prompt instructing the model to call advisor>" --advisor fable --model sonnet). - Observe the tool result.
Expected behavior
Per the Model compatibility table, Claude Sonnet 5 → Claude Fable 5 is a documented, supported executor/advisor pair. A successful advisor_tool_result (variant advisor_redacted_result for Fable, per docs) is expected.
Actual behavior
Every attempt returns:
{"type": "advisor_tool_result_error", "error_code": "unavailable"}
Reproduced twice in independent sessions:
- requestId
req_011CcqsqAHekKpGEFnCpymPy,2026-07-09T04:47:29.042Z - requestId
req_011CcqtrbPQdvShwenumrYy4,2026-07-09T05:00:37.074Z
No advisor_message iteration ever appears in usage.iterations for these calls — the advisor sub-inference appears to fail before any Fable-side tokens are consumed. This also means Fable advisor usage never shows up in account usage/billing despite advisorModel being correctly configured, which is what led me to investigate in the first place.
Control test (same executor, different advisor model)
Identical setup, only --advisor opus instead of --advisor fable:
claude -p "<explicit instruction to call advisor>" --advisor opus --model sonnet
succeeded immediately — requestId req_011CcquLsfyRnp8vEJGHTnam, 2026-07-09T05:07:00.116Z, advisorModel: "claude-opus-4-8", returned a proper advisor_result with real text content.
Why this matters
This makes the documented "Sonnet executor + Fable advisor" cost-optimization pattern (as described in Anthropic's own "the advisor strategy" post) non-functional in practice — the advisor call is attempted, correctly reaches the server, and is rejected every time, silently degrading to "no advice" while the executor continues unassisted. Since error_code: "unavailable" is documented as a generic catch-all, it isn't possible to self-diagnose further from the client side.
Ask
Could someone confirm whether Fable 5 (or Mythos 5) is currently fully enabled as an advisor model for standard accounts, or if this is a known rollout/availability gap?
3 Comments
[Bug] Filing this as a bug — not a usage question. I don't have label permissions on this repo (external contributor), so flagging here for triage: this is a 100% reproducible server-side failure (
error_code: "unavailable") specific to Fable 5 as the advisor model, with a passing control test (Opus 4.8) under an otherwise identical config. Happy to provide more repro detail if needed.Confirming this with a different executor, which narrows it further.
The report above pairs a Sonnet 5 executor with the Fable advisor. I hit the identical failure with Opus 4.8 (1M context) (
claude-opus-4-8[1m]) as the executor and"advisorModel": "fable"in~/.claude/settings.json:advisorcall of the session, no prior calls, so not rate-limiting from usage.The advisor tool is unavailable. Do not try to use it again.— no error code, no requestId surfaced to the model, no retry hint.Since the failure reproduces across two different executor models (Sonnet 5 and Opus 4.8) against the same advisor model, this looks like Fable-as-advisor being unavailable outright rather than an executor/advisor pairing incompatibility. That's consistent with your observation that no
advisor_messageiteration ever appears inusage.iterations— the sub-inference is rejected before any Fable tokens are consumed.Worth flagging one downstream effect for whoever picks this up: because the harness surfaces it as a terminal
Do not try to use it again, an agent mid-task drops the advisor for the remainder of the session and proceeds unassisted. The degradation is silent from the user's side — they configured an advisor, are billed for none, and get no advice, with nothing in the transcript explaining why. A distinguishable error code (advisor_model_unavailablevs. the genericunavailable, per #66784) would at least make it self-diagnosable.Workaround for anyone landing here: set
"advisorModel": "opus". Advisor works immediately.Reproduced on Claude Code v2.1.205 (Claude Max, Linux/WSL2), with data that narrows down the cause — for us this is not Fable-specific serving, it is the deferred-tools / ToolSearch interaction reported in #73923.
Environment: Sonnet 5 main (also tested Fable 5 main),
advisorModel: fable, valid pairing, no gateway.Observations:
Advisor unavailable (unavailable). Once failed, the session stays latched off (matches #75903 / #74530) —/advisorre-selection does not recover it, and--continueinherits the broken state (#73128).claude -p --model sonnetasking for one advisor call succeeded 5/5 (also with--model claude-fable-5).ENABLE_TOOL_SEARCH=true+ load a deferred tool via ToolSearch, then call advisor →The advisor tool is unavailable. Do not try to use it again.ENABLE_TOOL_SEARCH=false(all tools upfront) → advisor succeeds."env": {"ENABLE_TOOL_SEARCH": "false"}in settings.json fixes Fable-as-advisor in fresh interactive sessions (confirmed working). Previously-failed sessions remain latched and must be abandoned.So at least for this account, "Fable advisor unavailable" = deferred tools present in the request (default in interactive sessions) breaking the advisor server tool, plus the per-session latch. Opus-as-advisor appearing to "work" may just have different tolerance on that path.