Skip to main content
HTTP status: 400

Error message

duplicate caller-declared tool names (must be unique within tools[]): {names}

When this error occurs

Caller-declared tools (top-level tools[]) are looked up by exact name match when a model emits a dash-free tool call. Two entries with the same name would make resolution ambiguous (which input_schema does the model see? which tools[] entry does the call resolve to?), so the API rejects the config up front.

How to fix

Give each caller-declared tool a unique name. If two tools really need similar names, differentiate them with a suffix (confirm_booking_user, confirm_booking_admin).