Notifications
Updated August 16, 2026
crystl uses floating glass notification panels to keep you informed without interrupting your flow. Notifications appear as translucent panels near your workspace and dismiss automatically or on click.
Watching a shard silences its panels. If crystl is focused and the shard is on screen, you’re already reading its terminal, so crystl doesn’t float a copy over it. See Panels you’re already watching for the exact rule.
Approval panels
When Claude or another agent needs permission to run a tool, an approval panel appears with:
- The tool name and working directory
- Allow and Deny buttons
- A session-colored glow so you know which shard is asking
- A shimmer animation while waiting for your response
When two or more requests are queued, an Allow All bar appears to approve everything at once.
Answering from the keyboard
You don’t have to reach for the mouse. Two chords answer the approval panel that belongs to the project in front of you:
| Shortcut | Action |
|---|---|
Cmd + Return | Allow the focused project’s current approval |
Cmd + Esc | Deny it |
Cmd + Shift + Return | Allow all queued approvals |
The chords are scoped to the focused project, so a pending approval sitting in another gem can’t be answered by accident. Bring that gem forward first.
Plain Return in the terminal no longer approves anything. In older versions it did. Now Return only sends what you typed, so a stray keypress while an approval is waiting can’t allow a tool call. Answer with the chords above, click Allow or Deny on the panel, or use the agent’s own menu in the terminal. See the keyboard reference for the full list.
Question panels
When Claude asks multiple-choice questions via AskUserQuestion, a question panel appears. Each panel shows the project icon, project name, and shard name at the top so you know which session is asking.
- Multi-question flows show prev/next dot navigation within a single panel. Answers are preserved when you navigate between questions
- Type an answer or enter a number to select an option, then click Next or Submit
- Skip sends the question to the terminal for manual answering
- Configure the alert sound in Settings → agents → defaults → QUESTION SOUND
Denial panels
When a tool is denied under auto-approve in gem, an orange denial panel appears showing the denied tool name and a summary of its input. This lets you see what was blocked without digging through terminal output.
- Retry re-attempts the denied tool
- Dismiss closes the panel
- Configure the alert sound in Settings → agents → defaults → DENIED SOUND
Activity notifications
crystl can notify you when:
- A task completes in a background session
- An agent finishes its work
- A session ends
- A team task completes
Configure which notifications you see in Settings → agents → defaults → NOTIFICATIONS. Each type can be toggled independently.
Panels you’re already watching
crystl withholds a panel when it would duplicate something already in front of you. If you’re looking at the shard that raised it, the terminal is the notification, and a floating card over the top is noise.
The rule. A panel is withheld only when both of these are true:
- The crystl window is focused (it’s the frontmost, active window), and
- The source shard is on screen: it’s the selected shard in the front gem, or, in a split view, the shard in either pane.
Miss either condition and the panel appears exactly as before. crystl in the background, a different gem in front, a different shard selected, the shard scrolled off in a side pane you closed. Every one of those is the case notifications exist for, and every one of them still fires.
What each panel type does
| Panel | Withheld while you watch the shard |
|---|---|
| Activity notifications | Yes, all types: task complete, agent finished, session ended, quest mentions, scheduled agents |
| Question panels | Yes, but only when the same question is already up in the terminal |
| Approval panels | Yes, but only when the agent’s own approval menu is already up in the terminal |
| Denial panels | No, denials always show |
Questions and approvals carry an extra guard on purpose: they need an answer, so crystl withholds the panel only after confirming the terminal is showing the same prompt. That prompt is the second place you can answer. If a question or approval arrives with no in-terminal prompt to answer it, leaving the panel as the only way to respond, the panel appears no matter what you’re watching.
Your terminal is untouched
Suppression only affects the floating glass panels. Nothing about the agent’s session changes:
- Everything the agent prints still prints, in full, in the terminal
- In-terminal approval menus and question prompts still appear, and answering there works normally
- Nothing is dropped, queued, or deferred; a withheld card is simply not drawn
A withheld activity notification also doesn’t play its sound, since the event it would announce is on your screen already.
When a withheld panel comes back
Questions and approvals are withheld for as long as you’re watching, not discarded. Switch to another shard, switch gems, click away to another app, or let the in-terminal prompt clear while the request is still unanswered, and the panel appears. You never lose a request by looking at it.
Why it works this way
Without this, working inside a shard meant reading every event twice: once as terminal output, once as a card floating over that same output a moment later. Panels are for the sessions you aren’t watching: the parallel agents, the background gem, the shard behind the one you’re in. Narrowing them to that case is what makes a screenful of agents quiet enough to run.
Subagent identification
When Claude dispatches subagents (parallel child agents that work on independent tasks), crystl gives each one a stable, human-friendly name so you can tell them apart on both approval cards and notifications. Each subagent shows:
- A dwarf name drawn from Tolkien’s legendarium: Thorin, Balin, Dwalin, Glóin, Gimli, Durin, and dozens more
- A pickaxe glyph (⛏) marking it as a subagent rather than the main session
- A “sub · <role>” line showing the subagent’s role (its agent type)
Names are deterministic: the same subagent keeps the same dwarf name across app launches, and two subagents never collide on screen at a glance. This makes parallel subagent activity easy to follow. When three agents request approvals at once, you can see that Thorin is editing files while Glóin runs tests, instead of an anonymous pile of identical panels.
Behavior
- Notifications float above other windows as translucent glass panels
- Approval panels stay visible until you respond
- Question panels stay visible until you submit or skip
- Denial panels stay visible until you retry or dismiss
- Activity notifications can be dismissed with a click or cleared all at once
- Notifications respect your system focus mode, so they won’t interrupt Do Not Disturb
- Panels for the shard you’re currently watching are withheld, see Panels you’re already watching
Disabling notifications
Toggle all notifications off in Settings → agents → defaults → NOTIFICATIONS. Approval panels will still appear since they require a response, but informational notifications will be suppressed.