Notifications
An agent that stops to ask a question is invisible until you look at its board. Kangentic raises native desktop notifications, in-app toasts, sidebar badges, a taskbar flash, and optional auto-focus so you find out without checking each board. Notifications tell you when an agent needs you; the Agent Monitor shows everything running, across every project.
Desktop notifications
Section titled “Desktop notifications”Kangentic sends native OS notifications when an agent needs attention and you can’t already see it - either the window is minimized/unfocused, or a different project is active.
Notification triggers
Section titled “Notification triggers”| Event | Notification Body |
|---|---|
| Agent idle | Agent has stopped and may need input (includes permission prompts) |
| Session crash | Agent process exited with a non-zero exit code |
| Plan completion | Agent finished planning and auto-moved to the next column |
| Workflow complete | Every task in a workflow reached Done |
| Spawn stalled | A task spawn is waiting too long on the git queue while its worktree is prepared |
| Notify me automation | Whatever the automation’s title and body say (by default the task title and the column it moved into), when a task enters or leaves a column that carries one, or when the column’s agent finishes a turn there. See Automations |
The project name is the notification body. The title is the task title for an idle alert; the crash, plan, and spawn triggers prefix it with “Session crashed: ”, “Plan complete: ”, or “Still preparing: ”. Workflow complete is titled “Workflow complete: ” and the workflow’s name, and since it belongs to no one task, its click switches to the workflow’s project without opening a task. A Notify me automation sets both from its own fields, and its click opens the task like any other.
Click behavior
Section titled “Click behavior”Clicking a notification:
- Brings the Kangentic window to the foreground
- Switches to the correct project
- Opens the task detail window for that task
One click takes you to the agent that needs attention.
Taskbar flash
Section titled “Taskbar flash”On Windows, the taskbar icon also flashes when a notification fires, so you’ll notice even if you miss the popup.
One notification per task
Section titled “One notification per task”A newer notification for a task replaces that task’s older one in the Windows Action Center or the macOS Notification Center instead of stacking beside it, and a project’s notifications are grouped together. Command Terminal notifications are exempt, so they never collapse into one. On macOS a notification the system refuses, which an unsigned build or a denied notification permission causes, is written to the log instead of vanishing without a trace.
Cooldown
Section titled “Cooldown”A 10-second cooldown prevents the same agent repeating the same kind of notification. If an agent goes idle, fires a notification, then goes idle again within 10 seconds, no second notification is sent.
Idle and crash keep separate counts for each session, since v0.43.0. They shared one until then, and an agent that died in the seconds right after finishing a turn is the ordinary shape of a crash, so the crash alert was the one being swallowed. A cooldown is there to stop one event repeating, not to let one event hide another.
Notification settings
Section titled “Notification settings”Settings > Notifications gives each of the five events - Agent idle, Agent crash, Plan complete, Workflow complete, and Spawn stalled - its own channel choice: Off, Desktop, Toast, or Both (desktop and in-app toast). Agent crash covers a session ending unexpectedly, and its two channels differ on purpose: the desktop alert fires on error exits only, while the toast also reports clean exits. Two more settings shape the in-app toasts: Toast auto-dismiss (how long a toast stays visible, 1-30 seconds) and Max visible toasts (how many stack on screen at once, 1-10).
In-app toasts
Section titled “In-app toasts”A desktop notification is for when you are away from the app. A toast is for when you are here but looking at something else, so the two are split by project: every toast is scoped to the project whose board is open, and a background project speaks through the desktop channel alone. The desktop channel also goes quiet while the window is focused and that session’s project is the open one, which is the case the toast exists to cover. The two do overlap in one situation: an unfocused window with the open project’s agent going idle raises both, because the desktop side gates on focus and the toast side does not.
The Agent idle toast fires when an agent on the open project finishes its turn or stops to ask permission, and carries an Open button that opens the task. It says “finished its turn” or “needs permission” and names the task. It is the one toast with two extra rules: it fires on the change into waiting rather than on every progress update underneath it, and it is skipped when that session’s terminal is already on your screen, whether that is an open task detail window, the Agent Monitor in the app or popped out, or a phone streaming it. A Command Terminal raises none at all, since a shell returning to its prompt is not an agent waiting on anyone and there is no task to open.
The other four are scoped to the open project and nothing else: Agent crash, Plan complete, Workflow complete, and Spawn stalled toast whether or not you are looking at the session. Workflow complete toasts on the project the workflow belongs to, saying how many of its tasks are in Done. Crash is also the one whose two channels differ on purpose, reporting a clean exit as a toast while the desktop alert covers error exits only, and Spawn stalled is the one that stays on screen until you act, since it carries a Cancel. Notification settings above picks each event’s channels, and sets how long a toast stays and how many stack at once.
Idle badges
Section titled “Idle badges”The sidebar shows all your projects in a list. When an agent goes idle on a project you’re not currently viewing, an idle badge appears next to that project’s name. This tells you at a glance that an agent has stopped - it may have finished, hit a permission prompt, or encountered an error.
Click the project to switch to it and see what the agent needs.
Auto-focus idle session
Section titled “Auto-focus idle session”When enabled, Kangentic automatically switches to an agent’s terminal tab when that agent goes idle. This means you’ll immediately see what the agent is waiting for - whether it’s asking a question, requesting permission, or showing its final output.
This behavior is controlled by the autoFocusIdleSession setting (disabled by default). You can turn it on in Settings if you want the terminal to auto-switch when an agent goes idle. When disabled, idle agents show an amber tab indicator instead.
Real-time card indicators
Section titled “Real-time card indicators”The state a notification fires on is the same state the task card shows: a pulsing spinner while the agent works, a static icon once it is idle. Card indicators lists everything a card can show, and the Agent Monitor uses the same vocabulary for every project at once.
Multi-project awareness
Section titled “Multi-project awareness”Desktop notifications, idle badges, the taskbar flash, and auto-focus together let you work one project while agents run in others: when a background agent needs you, the notification or the badge says which, and one click switches you there. To watch rather than wait, the Agent Monitor (Ctrl+Shift+M / Cmd+Shift+M) lists every project’s sessions in one view with a live output peek per card. See Multiple projects for the sidebar’s own counts and badges.
Status bar
Section titled “Status bar”The status bar runs along the bottom of the window with at-a-glance metrics for the current project (the Agent Monitor’s summary tiles are the machine-wide counterpart):
| Metric | Description |
|---|---|
| Agents | Count of actively running agent sessions (green when above zero), plus any queued count |
| Tasks | Count of active (non-done) tasks on the board |
Token and cost metrics live in Usage Stats, a full-page view opened from the title-bar chart icon or Ctrl+Shift+U / Cmd+Shift+U, with time ranges, scopes, and per-model and per-agent breakdowns. Hide the status bar with the Status bar toggle under Settings > Board.
In-app announcements
Section titled “In-app announcements”Every other surface on this page reports on your agents. Announcements are the one thing the app tells you about itself: a slim banner above the board carrying occasional product news, such as a call for mobile-app beta testers or a store launch.
The banner has two controls. Learn more opens the full message in a dialog, which can carry titled sections, external links, and a large scannable QR code beside any link meant for your phone. The X dismisses that announcement for good on this machine, and dismissals are per announcement, so retiring one does not silence the next.
The megaphone, the badge, and the history
Section titled “The megaphone, the badge, and the history”The banner is single-use, so the megaphone in the title bar is the permanent way back in. It sits at the right end of the icon row, next to the update-available indicator: both of those are the app telling you something, as opposed to the monitor and stats buttons to their left, which report on your running work. Unlike every other conditional control in that row it is always mounted, so nothing shifts position when an announcement arrives.
A small count badge on the glyph is the number of unread announcements, and the megaphone itself warms to the attention color while any remain. Read is not the same as dismissed, and the two are tracked separately on purpose: closing the banner with the X hides the strip but leaves the announcement unread, so the badge stays lit until you have actually opened it. The megaphone means “there is something you have not read”, not “there is a banner”.
Clicking it opens the Announcements list: every announcement this machine has ever had active, most recently seen first, read and unread alike. Each row shows an unread dot, the announcement’s own publication date, and a chevron. Clicking a row opens the same full message dialog the banner’s Learn more does, on top of the list, so closing the message returns you to the list rather than out of it. Opening a message marks it read, and only the first open stamps the timestamp, so revisiting one never rewrites when you first read it.
The list is the client’s own archive rather than a live query, which is what makes it work on a cold or offline launch: the live feed is empty for the first 10 seconds of every launch and stays empty with no network, but the archive is already on disk. It also outlives the feed, so an announcement the team retires upstream is still readable here. Only announcements that were targeted at this machine in the first place ever enter it, and it is capped at 50 entries. An announcement edited upstream refreshes in place rather than arriving as a second copy.
Where the feed comes from
Section titled “Where the feed comes from”There is no announcement server and no account. The app fetches a static announcements.json file from the public GitHub repository, 10 seconds after launch and every 4 hours after that. Filtering happens in the main process before anything reaches the window: each entry carries an inclusive version window and an optional desktop-platform list, so an announcement can be aimed at the builds it actually applies to.
That design has a deliberate consequence for anyone running Kangentic disconnected. An unreachable, malformed, or empty feed simply means no banner. Nothing is retried loudly, nothing is logged as an error, and no telemetry is emitted for the attempt. A fully offline or self-hosted setup loses nothing but the announcements themselves.
See also
Section titled “See also”- Activity detection - the underlying state that drives notifications
- Agent Monitor - watch every project’s sessions instead of waiting for an alert
- Multiple projects - cross-project sidebar badges
- Settings - configure which states trigger which alerts
- Push notifications - the same alerts on your phone, from the companion app
Kangentic is free and open source. A star helps other people find it.
Star on GitHub