{"version":"2.1.280","anchor":"new-tool-definition-rejection-reasons-unsupported-on-platfo","canonical_anchor":"new-tool-definition-rejection-reasons-unsupported-on-platfo","heading":"New classifier for rejected custom tool definitions","tier":"internal","area":"Elsewhere","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.280\/e\/new-tool-definition-rejection-reasons-unsupported-on-platfo","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.280","markdown":"### New classifier for rejected custom tool definitions\n\nA new classifier sorts tool-definition errors into unsupported platform, disabled kind, or name conflict, and uses it to retry automatically\n\n**Unclear.** The finding doesn't say whether or how this classification is surfaced to end users versus used only internally.\n\n**What** A new helper classifies 400\/422 errors that mention a custom tool definition into one of three reasons:\n\n- `unsupported_on_platform` - the platform doesn't support tool definitions\n\n- `kind_not_enabled` - this kind of tool can't yet be defined in a message\n\n- `name_conflict` - the tool's name collides with an existing tool or addition\n\nThis classifier is used in the tool error-recovery retry path to decide whether to strip or downgrade a tool definition and retry the request. The feature is currently gated on the server side.\n\n**Why** Instead of a custom tool definition failing outright, Claude Code can now recognize why it was rejected and automatically retry with an adjusted request in some cases.\n\n- Area: Elsewhere\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5"}