🚨 Fable 5 completely unusable: 400 error on every request when advisorModel is set to Sonnet

Open πŸ’¬ 0 comments Opened Jun 10, 2026 by CesarNog

Summary

Fable 5 is completely broken out of the box. Switching to claude-fable-5 via /model immediately causes a 400 on every single request. The error is not triggered by calling the advisor β€” it fires the moment any prompt is sent, because the tool schema itself (sent in every API request) is rejected.

Users who set "advisorModel": "sonnet" (explicitly or as a common recommendation in docs/guides) are fully blocked from using Fable 5 with zero indication of why.

---

Error

API Error: 400 tools.10.model: 'claude-sonnet-4-6' cannot be used as an advisor
when the request model is 'claude-fable-5'.

---

Root Cause

The advisor tool definition is included in every API request with a hardcoded model field (e.g. "model": "claude-sonnet-4-6"). When the main request model is claude-fable-5, the API rejects the entire request β€” not the tool call, but the request itself.

This means:

  • The error happens before any response
  • Denying the advisor tool via permissions.deny does not fix it (tool def still sent)
  • There is no in-app error message explaining what's wrong or how to fix it

---

Steps to Reproduce

  1. Add to ~/.claude/settings.json:
{
  "advisorModel": "sonnet"
}
  1. Run /model β†’ select Fable 5
  2. Type any prompt and submit

Result: API Error: 400 tools.10.model: 'claude-sonnet-4-6' cannot be used as an advisor when the request model is 'claude-fable-5'.

---

Impact

| Scenario | Result |
|---|---|
| /model β†’ Fable 5, advisorModel: "sonnet" | πŸ’₯ Every request fails |
| /model β†’ Fable 5, advisorModel: "fable" | βœ… Works |
| /model β†’ Sonnet 4.6, advisorModel: "sonnet" | βœ… Works |
| No advisorModel set, /model β†’ Fable 5 | ❓ Untested β€” may also fail |

Anyone who followed setup guides or has advisorModel: "sonnet" in their config cannot use Fable 5 at all without manual intervention.

---

Expected Behavior

Claude Code should auto-match advisorModel to the active session model when no explicit override is given β€” or at minimum, validate at model-switch time and warn the user, instead of silently failing on every request.

---

Workaround

Manually edit ~/.claude/settings.json:

{
  "advisorModel": "fable"
}

⚠️ This breaks the advisor when switching back to Sonnet. There is currently no way to make both work simultaneously without manually toggling the setting each time.

---

Environment

  • Platform: macOS 25.5.0 (Darwin)
  • Claude Code CLI (latest)
  • Main model: claude-fable-5
  • Advisor model: claude-sonnet-4-6 (via alias "sonnet")

View original on GitHub β†—