Create a tool
Put a tool in the catalog two ways — a decorated function whose code owns the definition, or a catalog version your code only implements — and pick the owner that fits the project.
Connect a tool to a prompt
Bind a catalog tool to a prompt by choosing the tool alias it follows, give one prompt alias its own tools, and see when the tool's code changed underneath you.
Call a prompt's tools from the SDK
Every way to run the tools bound to a prompt from the SDK — the two-line shortcut, the loop by hand, and one raw completion — streaming or not.
Version and track a tool
Commit a second tool version, move staging ahead of production, read real call volume, error rate and latency, and retire a tool you no longer call.
Report a tool failure from your own code
A tool call can fail while the HTTP status says 200. Return a ToolResult from your tool and the failure is recorded as a red span instead of a green one.