Skip to content

shelldone - Terminal Notifications

Never miss a finished build again.

Cross-platform terminal notifications for long-running commands. Desktop alerts, sounds, Slack, Discord, Telegram, and more. Pure bash, zero dependencies.

6 Notification Channels
5 AI CLI Integrations
452 Tests Passing
4 Platforms
<50ms Shell Startup Overhead

Terminal Notification Features

Everything you need, nothing you don't. Built for developers who run long commands and need to know when they finish.

Auto-Notify

Commands running longer than a configurable threshold trigger notifications automatically. No need to remember to prefix anything.

6 External Channels

Slack, Discord, Telegram, Email, WhatsApp, and generic webhooks. Get notified wherever you already work.

AI CLI Integration

Native hooks for Claude Code, Codex, Gemini CLI, Copilot, and Cursor. Know when your AI agent finishes its task.

Cross-Platform

macOS, Linux, WSL, and Windows via Git Bash, MSYS2, and Cygwin. One tool that works everywhere you have a terminal.

Zero Dependencies

Pure bash. No Python, no Node, no Go, no Rust. Just your shell. Installs in seconds, works immediately.

Notification Control

Mute per channel or globally, toggle individual layers, schedule quiet hours. Full control over when and how you get alerted.

Interactive TUI Setup

Run shelldone setup for a menu-driven interface to configure channels, webhooks, and AI CLI hooks.

Up and running in 30 seconds

Install via your favourite package manager or clone the repo.

$ brew install nareshnavinash/tap/shelldone
$ curl -fsSL https://nareshnavinash.github.io/shelldone/KEY.gpg \ | sudo gpg --dearmor -o /usr/share/keyrings/shelldone-archive-keyring.gpg $ echo "deb [signed-by=/usr/share/keyrings/shelldone-archive-keyring.gpg] \ https://nareshnavinash.github.io/shelldone stable main" \ | sudo tee /etc/apt/sources.list.d/shelldone.list $ sudo apt update && sudo apt install shelldone
$ scoop bucket add shelldone https://github.com/nareshnavinash/scoop-bucket $ scoop install shelldone
# Coming soon - submitted for review $ choco install shelldone
$ git clone https://github.com/nareshnavinash/shelldone.git $ cd shelldone && ./install.sh
# Add to your .zshrc or .bashrc $ eval "$(shelldone init zsh)" # for zsh $ eval "$(shelldone init bash)" # for bash # Or auto-configure everything $ shelldone setup

How to Use shelldone

Prefix any command with alert or use the built-in setup commands.

Run with alert

$ alert make build

Wraps any command. Sends a desktop notification when it finishes, with exit code and duration.

AI CLI hooks

$ shelldone setup claude-hook

Installs a hook so Claude Code, Codex, Gemini, Copilot, or Cursor notifies you on task completion.

Test webhooks

$ shelldone webhook test slack

Sends a test notification to your configured Slack channel. Works with Discord, Telegram, and others too.

shelldone vs Alternatives

The most complete terminal notification tool available.

Feature shelldone undistract-me noti done (fish)
Auto-notify Yes Yes Partial Yes
macOS + Linux + WSL + Windows Yes No Yes No
External channels (6) Yes No Partial No
Zero dependencies Yes Yes No (Go) Yes
AI CLI integration (5 tools) Yes No No No
Sound + TTS Yes No Partial No
Per-channel mute / schedule / toggle Yes No No No

Tested on macOS. Built for everywhere.

Honest status report on where shelldone has been validated.

shelldone status --tested
PASS macOS (bash + zsh) Extensively tested with Claude Code, Gemini CLI, and Codex CLI
PASS Claude Code Full support: task complete + waiting-for-input alerts
PASS Gemini CLI Task complete + notification hooks. Input-wait timing may vary
EXPECTED Codex CLI, Copilot, Cursor Task complete alerts only. Waiting-for-input not supported by these CLIs
PASS Slack webhook End-to-end tested with real webhook delivery
EXPECTED Discord, Telegram, Email, WhatsApp, Webhook Same HTTP dispatch pattern, not yet validated end-to-end
EXPECTED Linux bash/zsh behave identically - should work out of the box
EXPECTED WSL Same shell layer, Windows notification path untested
EXPECTED Windows (Git Bash) PowerShell notification path untested

shelldone is MIT licensed. If something doesn't work on your platform, we'd love your help. Pull requests are always welcome. The codebase is pure bash with zero dependencies.

Ready to never miss a build?

Install in 30 seconds. No dependencies. Works everywhere you have a terminal.