Codo — AI skill for Claude Code
🔔 macOS menubar toast notification daemon and CLI — notification bridge for Claude Code hooks and AI agents.
How to install Codo
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open nocoo/codo and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Codo does
🔔 macOS menubar toast notification daemon and CLI — notification bridge for Claude Code hooks and AI agents.
Alternatives in AI
- Peekaboo — Peekaboo is a macOS CLI & optional MCP server that enables AI agents to capture screenshots of applications, o 3.2k ★
- Agmsg — Cross-vendor messaging for CLI AI coding agents — let Claude Code, Codex, Gemini & Copilot talk to each other 1.5k ★
- NeuroAPI — NeuroAPI: российский AI API для Codex CLI и Claude Code — безопасные one-click установщики для Windows и macOS 1.3k ★
README
Codo
macOS menubar daemon + CLI for displaying system toast notifications. Designed as a notification bridge for Claude Code hooks and other AI agent workflows.
# Simple notification
codo "Build Done" "All 42 tests passed"
# With template (sets subtitle + sound automatically)
codo "Build Done" "42 tests passed" --template success
codo "Build Failed" "3 errors" --template error
codo "Deploying..." --template progress
# Group related notifications
codo "Step 1/3" --template progress --thread deploy-v1.2
codo "Step 2/3" --template progress --thread deploy-v1.2
codo "Deploy Done" --template success --thread deploy-v1.2
# Via stdin JSON
echo '{"title":"Build Done","body":"All tests passed","subtitle":"✅ Success"}' | codo
# List available templates
codo --template list
Architecture
Two layers: **Swift menubar app** (daemon, listens on Unix Domain Socket, shows toast) + **TypeScript CLI** (Bun script, sends messages to daemon).
Claude Code hook → codo CLI (Bun) → UDS → Codo.app (Swift) → macOS notification
Development
Prerequisites
- macOS 14+ (Sonoma)
- Swift 5.10+ (
swift --version) - Bun (
bun --version) — CLI runtime and TS test runner - SwiftLint (
brew install swiftlint)
Setup
# Install dependencies and git hooks
bun install
This runs `husky` via the `prepare` script, which sets up `.husky/` as the git hooks directory.
Git Hooks
| Hook | Stage | What runs |
|---|---|---|
| pre-commit | L1+L2 | swift test + bun test + SwiftLint strict + Biome lint |
| pre-push | L1+L2+L3 | Unit tests + lint + integration tests |
Hooks **cannot be skipped** — this is by design. Every commit must pass unit tests and lint.
Running Tests Manually
# L1: Swift unit tests (46 tests)
swift test
# L1: TypeScript unit tests (60 tests)
cd cli && bun test
# L2: Swift lint
swiftlint lint --strict --quiet
# L2: TypeScript lint
cd cli && bunx biome check .
# L3: Integ
Related Skills
Lithium
Mood stabilizer for your AI bill. Cross-provider LLM-spend aggregator (Anthropic / OpenAI / OpenRouter). Local
Agmsg Cmux Bridge
Bridges CLI AI agents (Claude Code, Codex, Gemini CLI, and more) over local SQLite with tmux/cmux/wezterm turn
Claude Code Notification
A lightweight macOS desktop notification hook for Claude Code that displays native notifications with customiz
AI Quota
macOS menubar utility to monitor your AI coding quota — track OpenAI Codex and Claude Code usage at a glance
Custats Feedback
CUStats is a native macOS menubar app that lets you monitor your Claude AI usage limits at a glance, with real
Sissy
Menubar meter for AI coding CLIs on macOS. Today's token spend, cost and rate-limit headroom for Claude Code a
Related Agents
Hooks Daemon Plan Dedupe Scout
Before a new plan is filed, check whether an existing plan already covers the same work. Read-only; reports ca
Monk Installer
Install, upgrade, and troubleshoot monk-agent plus Monk CLI/daemon for Claude, Codex, and Cursor users.
macOS System Operator
Mac housekeeping and CLI operations — installing tools (brew/npm/curl installers), logins that open a browser,