REFERENCE
Compatibility
Assistants load the tool list when they connect and keep it for the whole chat. We change tools in ways that keep those chats working.
Our promise
- We only add: new tools, new optional inputs, new output fields.
- We never rename, remove or retype an input, make an optional input required, narrow the values an input accepts, or change what an existing field means.
- A change that can’t keep that promise ships as a new tool name, with the old one kept for a deprecation period.
This is enforced in our test suite: every release is checked against a saved copy of each tool’s schema, and real recorded assistant calls are replayed against it.
What this means for you
- Ignore output fields you don’t know; new ones will appear.
- Don’t depend on the exact wording of
summary,next_stepor error sentences; they’re written for people and may improve. Branch onstatus,outcomeandexpected_outcome. - Starting a new chat always gives an assistant the newest tools.
The current contract is schema version 2 (search by the customer’s words, services identified by service_id). See the changelog.
