~/tools / Tool Definition Checker
Tool Definition Checker — Check tool and function definitions for OpenAI, Anthropic and Gemini
Check the tool (function) definitions you send to OpenAI, Anthropic or Gemini against each API's documented format: names, descriptions, parameter schemas, strict mode and input examples. Find mistakes before the request fails. Nothing leaves your browser.
Rules checked against the documentation on 2026-10-23.
Documentation: OpenAI / Anthropic / Gemini API reference
Not checked: whether a model supports the tool, strict tool use details for Anthropic, tools that Anthropic provides itself, and rules the documentation does not state.
Everything runs in your browser. The definitions are not uploaded.
Tool use, also called function calling, lets a model ask your code to run a function. You describe each function in a JSON definition, and the three big APIs expect different shapes: OpenAI Chat Completions nests the function inside a function object, OpenAI Responses keeps its fields at one level, Anthropic uses name and input_schema, and Gemini uses function declarations. The name rules differ too. This tool reads the definition you paste, works out which API it is written for, and checks it against what that vendor's documentation says: the name, a description, the parameter schema, strict mode and, for Anthropic, whether each input example matches the schema. It also points out when a name that works for one API would be rejected by another. The rules were checked against the documentation on the date shown below the tool.
Use Cases
- Checking a tool definition before you add it to a request, so a bad name or a wrong shape does not fail the call
- Finding out why strict mode rejects a function schema
- Moving a tool from one vendor to another and seeing what has to change
Usage
- Paste one tool definition, an array of tools, or a request body that has a tools array, or load the example.
- Read which API each tool was recognized as, then the list of findings. Fix means the documentation says it will be rejected or is invalid, Check means it is worth a look, and Note is for information.
- Correct the definitions and paste them again. For strict mode problems, the Structured Output Schema Checker shows each one in detail.
FAQ
How does it know which API a definition is for?
From its shape. A definition with input_schema is read as Anthropic. One with type function and a nested function object is read as OpenAI Chat Completions, and one with type function and its fields at the top level is read as OpenAI Responses. An object with functionDeclarations, or with name, description and parameters, is read as Gemini. The result shows what each tool was recognized as.
What are the name rules?
OpenAI documents letters, numbers, underscores and dashes, up to 64 characters. Anthropic documents letters, numbers, underscores and dashes, up to 128 characters. Gemini documents letters, numbers, underscores, colons, dots and dashes, up to 128 characters. A name that is valid for one API can be rejected by another, and the tool tells you when that happens.
Why does it check the schema again when strict is true?
OpenAI says strict mode needs additionalProperties set to false on every object and every property listed in required, with optional values written as a type that also allows null. A schema that breaks these rules is rejected. The tool counts the problems and shows where the first one is.
What does it check in input_examples?
Anthropic says each example must be valid against the tool's input_schema and that an invalid example returns a 400 error. The tool checks every example against the schema and tells you which one fails.
What does it not check?
Whether a particular model supports the tool, strict tool use details for Anthropic, tools that Anthropic provides itself, and anything the documentation does not state. It does not call any API, so a definition that passes can still fail in a real request.
Is my definition sent to a server?
No. The check runs in your browser.