Skip to main content
ToolCall renders all eight input, approval, execution, output, failure, and denial states from an agent tool invocation. Lifecycle tinting flows through the shared status vocabulary.
Use argsText for partial JSON while input streams. It overrides args. resultText similarly overrides result. Object rendering is BigInt-safe and cyclic-safe through the exported formatJsonSafe helper.

Lifecycle states

The default compact layout discloses its details with a native button. The expanded layout always mounts details and ignores disclosure props. Inject approve and deny controls through approvalSlot; it renders only during approval-requested.