{"version":"2.1.206","anchor":"refusal-category-fallback-routing","canonical_anchor":"refusal-category-fallback-routing","heading":"Refusal Category Fallback Routing","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.206\/e\/refusal-category-fallback-routing","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.206","markdown":"### Refusal Category Fallback Routing\n\n**What**\n\nWhen the API returns a refusal with a known category, Claude can now route the retry to a specific fallback model rather than always using the armed default fallback.\n\n**Details**\n\n- The `cyber` refusal category routes to `claude-opus-4-8` on Opus plan configs.\n- The `bio` category additionally routes to `claude-opus-4-8` on Opus plan configs.\n- A new env var `CLAUDE_CODE_REFUSAL_FALLBACK_CATCH_ALL` (if set) enables a catch-all fallback for unmapped categories.\n- Per-category routing is overridable by config; unresolvable mapped targets return `matched: \"none\"` with reason `\"mapped_target_unresolvable\"`.\n\n**Evidence**\n\nCategory map (search for `\"cyber\": \"claude-opus-4-8\"`); env var (search for `\"CLAUDE_CODE_REFUSAL_FALLBACK_CATCH_ALL\"`)"}