# Only get interrupted when an agent needs you

> Tune approval modes and notification panels so a screenful of agents stays quiet until one of them actually needs a human.

**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](/pricing/) control commands. `crystl pending`, `crystl wait`, and `crystl events` are read-only and free.

## Steps

1. **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**.

2. **Trim the activity notifications** in **Settings → agents → defaults → NOTIFICATIONS**. Task complete, agent finished, session ended, and team task each toggle independently.
3. **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.
4. **Batch the pile.** When two or more approvals queue up, an **Allow All** bar appears. From another terminal, `crystl pending` lists them and `crystl wait pending --timeout 60` blocks until the next one instead of polling.
5. **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](/docs/approval-modes/) for the four modes and the priority chain.
- [notifications](/docs/notifications/#panels-youre-already-watching) for the exact withholding rule.
- [Supervise your agents from your phone](/docs/scenario-supervise-from-your-phone/) for the interruptions that should follow you out of the room.

---
Source: https://crystl.dev/docs/scenario-only-interrupt-when-needed/
