finds.dev← search

// the find

shanselman/toasty

★ 442 · C++ · MIT · updated Sep 2026

Tiny Windows toast notification CLI (229 KB)

A small Windows CLI that pops a toast notification when a command finishes, with built-in auto-detection for AI coding agents (Claude Code, Copilot, Gemini, Codex) so it can fire from their hook systems. Aimed at devs who leave long agent runs going in the background and want a ping — on the desktop and optionally on their phone via ntfy — when one wraps up.

Zero runtime dependencies and a tiny binary, which matters for something meant to live inside a hook command. The agent auto-detection (picks the right icon/title based on the calling process) means you don't have to hardcode --app everywhere once it's installed. The ntfy integration is pragmatic: a 5-second timeout and a local toast fallback if the push fails, so a flaky network doesn't turn into a hung hook. --dry-run plus a test suite that checks XML generation and install/uninstall logic without touching real config files is a level of test discipline you don't usually see in a repo this small.

Windows-only and C++/CMake-only build — no prebuilt releases or winget/choco package mentioned, so anyone not on Visual Studio 2022 is stuck compiling it themselves. --install writes directly into shared config files like ~/.claude/settings.json and .codex/config.toml; the README doesn't say anything about merging vs. overwriting existing hooks, which is exactly the kind of thing that silently eats someone's other hook config. The daily update check phones home to GitHub once a day with no documented opt-out flag beyond not running the binary. It's a single-maintainer, single-purpose utility — 442 stars but no real community layer (no notification history, no multi-machine sync), so it lives or dies on one person keeping the agent hook formats in sync as Claude/Copilot/Gemini/Codex change theirs.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →