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.

Used in

Approval Inbox