Interrupt card

The agent stops and asks before it acts

A human-in-the-loop checkpoint: a question, some context, and option buttons to decide. The card stays deliberately quiet while it waits, one tone behind a regular border, because the question itself is the signal. Once answered, the footer echoes the choice.

The question

A title that asks, one line of context, and the choices left to right. Mark the recommended option primary so there is a default to reach for.

Allow file edit?

The agent wants to write to src/routes/checkout.ts.

Waiting for your decision

With a tool call

The detail slot holds whatever the decision covers. The intended pairing is a pending tool call, so the person can open the arguments before answering.

Allow file edit?

Review the call, then decide.

Waiting for your decision
json
{
  "path": "src/routes/checkout.ts",
  "bytes": 2048
}

Deciding

The card is fully controlled: it reports the choice and the consumer renders it back. Pick an option to see the answered state, where the buttons give way to the chosen label echoed in the footer.

Allow file edit?

The agent wants to write to src/routes/checkout.ts.

Waiting for your decision

Danger options

A destructive approval takes the danger weight, which renders the destructive button. The card itself stays quiet either way, because the state is still the same: waiting on a person.

Delete 3 files?

This removes the generated fixtures and cannot be undone.

Waiting for your decision