Under the hood
API 400 errors about an invalid tool input schema now get their own error type instead of being generic
What
When Claude Code calls the API and gets back a 400 error whose message references tools.*.input_schema (or the custom-tool variant tools.*.custom.input_schema), it's now recognized and labeled as a tool_schema_invalid error, rather than being treated as a generic, unclassified 400 error.
Why
Giving this specific error its own classification makes it easier to identify that a tool's input schema is the actual problem, rather than having to dig through a generic error message to figure out what went wrong.