Summary
When the Fable 5 safety classifier flags a request, Claude Code re-runs it on a fixed default Opus model and keeps the session there. Please allow users to configure which model the classifier fallback lands on, and at which effort level — on the Anthropic API, not only on third-party providers.
Current behavior
- On the Anthropic API, the classifier fallback target is fixed (currently Opus 4.8) and the switch is sticky until a manual
/model.
ANTHROPIC_DEFAULT_OPUS_MODEL can redirect the fallback target, but per the docs this applies to third-party providers (Bedrock / Vertex / Foundry). Anthropic API users have no equivalent handle.
--fallback-model / fallbackModel is a separate mechanism: it only fires on availability errors (overload / unavailable), never on classifier flags.
"switchModelsOnFlag": false gives a pause-and-choose prompt, but the choice is still binary (default Opus, or edit and retry) — the target itself is not selectable, and per-flag prompts don't work for long-running or unattended sessions.
So today there is no way for an Anthropic API user to say "when the classifier fires, send me to Opus 4.6 at max effort" — even though every ingredient (model routing, effort control) already exists in the product.
Why users need explicit control (not only a better default)
#73833 proposes mapping the fallback to a capability-equivalent effort tier automatically — that would fix the silent degradation for most users, and I support it. But an automatic mapping cannot know user-specific constraints, e.g.:
- Model-specific regressions. Several reports describe tool-call serialization problems on the current default fallback target. A user tracking such an issue may prefer an older Opus until it is resolved.
- Effort compensation as a deliberate strategy. Effort levels are not capability-equivalent across tiers. When the substitute model is less capable, some of us want to compensate by raising effort — if the stand-in is less clever, let it be more diligent. That trade-off (latency/cost vs. quality mid-fallback) is a preference, not a constant.
- Language/workload-specific behavior. Model behavior on e.g. CJK-heavy tool-calling workloads differs across versions; teams keep their own compatibility notes and want to route accordingly.
Proposed behavior
A settings key (naming up to the team), e.g.:
{
"classifierFallbackModel": "claude-opus-4-6",
"classifierFallbackEffort": "max"
}
or extending the existing fallback concept to accept model+effort pairs for the classifier path. Constraining the target to the Opus family (as the current mechanism already does) would be fine — the point is choosing the seat, even inside the cage.
Supporting context
This request came out of a community discussion in which --fallback-model was (very reasonably) assumed to cover the classifier fallback — the two same-named mechanisms are widely conflated:
https://x.com/hawkymisc/status/2073444035336065067
The effort-compensation point in that thread:
https://x.com/Bizuayeu/status/2073458044919497111
An explicit classifierFallback* setting would not only add the missing control, it would also make the mental model of the two mechanisms clearer.
Related issues
Environment
- Claude Code CLI (v2.1.x), Windows / Git Bash
- Session model: claude-fable-5, Anthropic API (subscription)
Summary
When the Fable 5 safety classifier flags a request, Claude Code re-runs it on a fixed default Opus model and keeps the session there. Please allow users to configure which model the classifier fallback lands on, and at which effort level — on the Anthropic API, not only on third-party providers.
Current behavior
/model.ANTHROPIC_DEFAULT_OPUS_MODELcan redirect the fallback target, but per the docs this applies to third-party providers (Bedrock / Vertex / Foundry). Anthropic API users have no equivalent handle.--fallback-model/fallbackModelis a separate mechanism: it only fires on availability errors (overload / unavailable), never on classifier flags."switchModelsOnFlag": falsegives a pause-and-choose prompt, but the choice is still binary (default Opus, or edit and retry) — the target itself is not selectable, and per-flag prompts don't work for long-running or unattended sessions.So today there is no way for an Anthropic API user to say "when the classifier fires, send me to Opus 4.6 at max effort" — even though every ingredient (model routing, effort control) already exists in the product.
Why users need explicit control (not only a better default)
#73833 proposes mapping the fallback to a capability-equivalent effort tier automatically — that would fix the silent degradation for most users, and I support it. But an automatic mapping cannot know user-specific constraints, e.g.:
Proposed behavior
A settings key (naming up to the team), e.g.:
{ "classifierFallbackModel": "claude-opus-4-6", "classifierFallbackEffort": "max" }or extending the existing fallback concept to accept model+effort pairs for the classifier path. Constraining the target to the Opus family (as the current mechanism already does) would be fine — the point is choosing the seat, even inside the cage.
Supporting context
This request came out of a community discussion in which
--fallback-modelwas (very reasonably) assumed to cover the classifier fallback — the two same-named mechanisms are widely conflated:https://x.com/hawkymisc/status/2073444035336065067
The effort-compensation point in that thread:
https://x.com/Bizuayeu/status/2073458044919497111
An explicit
classifierFallback*setting would not only add the missing control, it would also make the mental model of the two mechanisms clearer.Related issues
auto-mode-config.md#68107 — auto-mode classifier fallback /ANTHROPIC_DEFAULT_OPUS_MODELpinning is undocumented (docs side)Environment