Only get interrupted when an agent needs you
Updated September 18, 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 auto-approval mode per gem. Open the gem menu (the ⋮ on the gem’s tab) and choose auto-approval ›:
- off for unfamiliar or sensitive work.
- in gem for day to day: reads and in-tree changes go through, anything else comes to you.
- all when the task is well defined and you’re watching.
The per-gem setting saves to
.crystl/project.json. The global fallback lives in settings, agents > defaults, under AUTO-APPROVAL (DEFAULT). To stop every auto-approval at once without editing a gem, use pause auto-approvals in the crystl app menu. -
Trim the activity notifications in settings, agents > defaults, under NOTIFICATIONS. Task completed, tool finished, and agent finished each toggle independently, and the approval, denial, and question cards have switches of their own.
-
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, or click to another app, and the panel appears. Questions and approvals are withheld only while crystl can confirm the terminal is showing the same prompt; a question whose in-terminal prompt scrolls away unanswered gets its panel too, so a request with no other way to answer it is never lost. 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 three 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.