Only get interrupted when an agent needs you
Updated August 10, 2026
Goal: run several agents without reading every event twice, while still catching the one that’s stuck.
What you need
- Nothing extra. Approval modes and notification settings are part of the app.
- The CLI approval commands (
crystl approve,crystl deny) are Guild control commands.crystl pending,crystl wait, andcrystl eventsare read-only and free.
Steps
-
Pick an approval mode per project. Open the gem menu (the ⋮ on the gem’s tab) and choose approval ›:
- Ask Every Time for unfamiliar or sensitive work.
- Smart for day to day: reads auto-approve, writes come to you.
- Auto when the task is well defined and you’re watching.
- Pause when you’re stepping away and want requests queued, not answered.
The per-project setting saves to
.crystl/project.json. The global fallback lives in Settings → agents → defaults, under Tool Approvals. -
Trim the activity notifications in Settings → agents → defaults → NOTIFICATIONS. Task complete, agent finished, session ended, and team task each toggle independently.
-
Leave the panels on for the agents you aren’t watching. You don’t have to mute them to stop the double-reading. When crystl is focused and the source shard is on screen, its panels are withheld already, because the terminal is the notification.
-
Batch the pile. When two or more approvals queue up, an Allow All bar appears. From another terminal,
crystl pendinglists them andcrystl wait pending --timeout 60blocks until the next one instead of polling. -
Stop a run that’s going wrong. Deny rejects one tool call and the agent carries on. Hold Option while clicking Deny to stop the whole session, with a confirmation first.
What you’ll see when it works
The shard you’re reading stays quiet. Everything the agent prints still prints in full, in-terminal approval menus still work, and nothing is dropped, queued, or deferred: a withheld card is simply not drawn, and it doesn’t play its sound either.
The moment you look away, the panels come back. Switch shards, switch gems, click to another app, or let the in-terminal prompt clear while a request is still unanswered, and the panel appears. Questions and approvals are withheld only while crystl can confirm the terminal is showing the same prompt, so a request with no other way to answer it always gets its panel. Denials always show.
Parallel subagents get named so a pile of cards is readable: each one carries a dwarf name, a pickaxe glyph, and its role, and the name is stable across launches.
Go deeper
- approval modes for the four modes and the priority chain.
- notifications for the exact withholding rule.
- Supervise your agents from your phone for the interruptions that should follow you out of the room.