agent
tool-call
The default renderer for a tool call — metadata, input/output state, approval choices, and free-form response, with binary consent, multi-choice, and error branches.
input
{ "path": "config/site.json", "bytes": 2048}Allow write-file to modify config/site.json?
Binary consent: Allow once / Deny, with an Always-allow escape and a free-text response field.
Installation
Usage
Use when
- Any tool call that needs human review before it runs — approval semantics live here, not in AgentTask
- Rendering completed, errored, denied, and skill-call states with one component
Not for
- A step of work with no approval semantics — that's AgentTask
- Swapping raw JSON for a designed output card — register a renderer in tool-renderer-registry
3+ options map to button variants — danger, default, primary — and the free-text field still accepts an answer the options didn't anticipate.
input
{ "from": "drafts/note.md", "to": "notes/note.md"}notes/note.md already exists. How should move-file resolve it?
3+ options map to button variants — danger, default, primary — and the free-text field still accepts an answer the options didn't anticipate.
The terminal states
input
{ "url": "https://example.invalid"}ENOTFOUND — no such host (example.invalid)
The terminal states: output available, output error (destructive), and a skill call (book glyph) — one component, every branch.