{"version":"2.1.181","anchor":"refusal-message-and-category-improvements","canonical_anchor":"refusal-message-and-category-improvements","heading":"Refusal Message and Category Improvements","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.181\/e\/refusal-message-and-category-improvements","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.181","markdown":"### Refusal Message and Category Improvements\n\nRefusal handling has been refactored to better distinguish between model-level safety measures and topic-specific restrictions:\n\n- `frontier_llm` and `reasoning_extraction` are now recognized as known refusal categories with dedicated handling.\n- Cybersecurity refusals now surface an exemption link: `https:\/\/claude.com\/form\/cyber-use-case`\n- Refusal messages now explicitly call out which model triggered the block (using a readable model name via `Mp()` rather than a raw model ID).\n- The `stop_details.category` type is now an open string schema to forward new categories before schema updates ship.\n\n**Evidence**\n\nCybersecurity exemption URL (search for `\"https:\/\/claude.com\/form\/cyber-use-case\"`) \u2014 `xTd` constant at line ~265379; category helpers (search for `\"frontier_llm\"`) \u2014 `GNi()` at line ~265278"}