{"id":38978276,"url":"https://github.com/bupd/ccn","last_synced_at":"2026-01-17T16:49:35.929Z","repository":{"id":330567798,"uuid":"1122640410","full_name":"bupd/ccn","owner":"bupd","description":"Desktop notifications for Claude Code CLI with tmux integration","archived":false,"fork":false,"pushed_at":"2025-12-26T13:24:31.000Z","size":3152,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-27T23:11:00.011Z","etag":null,"topics":["agentic-coding","ai-agents","anthropic","automation","claude-code","cli","developer-tools","dunst","linux","notifications","productivity","terminal","tmux","vibe-coding"],"latest_commit_sha":null,"homepage":"https://cc-notify.bupd.xyz","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bupd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-25T07:25:46.000Z","updated_at":"2025-12-27T01:16:51.000Z","dependencies_parsed_at":"2025-12-27T23:11:07.079Z","dependency_job_id":null,"html_url":"https://github.com/bupd/ccn","commit_stats":null,"previous_names":["bupd/ccn"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/bupd/ccn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bupd%2Fccn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bupd%2Fccn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bupd%2Fccn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bupd%2Fccn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bupd","download_url":"https://codeload.github.com/bupd/ccn/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bupd%2Fccn/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28511870,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T13:38:16.342Z","status":"ssl_error","status_checked_at":"2026-01-17T13:37:44.060Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentic-coding","ai-agents","anthropic","automation","claude-code","cli","developer-tools","dunst","linux","notifications","productivity","terminal","tmux","vibe-coding"],"created_at":"2026-01-17T16:49:35.675Z","updated_at":"2026-01-17T16:49:35.907Z","avatar_url":"https://github.com/bupd.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Claude Code Notify (CCN)\n\n![Claude Code Notify](docs/claude-code-notify.png)\n\nDesktop notifications for Claude Code with tmux integration.\n\n[View Documentation](https://cc-notify.bupd.xyz)\n\n## The Problem\n\nYou're running multiple Claude Code sessions in tmux. Each instance works autonomously on different tasks. But when Claude finishes and needs your input, you have no way to know which session needs attention without manually checking each one.\n\n## The Solution\n\nThis script sends desktop notifications whenever Claude Code:\n- Stops and waits for input\n- Sends a notification event\n\nClick the notification to jump directly to the tmux pane that needs you.\n\n## User Story\n\n\u003e As a developer running multiple Claude Code instances in tmux,\n\u003e I want to receive desktop notifications when any instance needs my attention,\n\u003e so that I can context-switch efficiently without polling each session.\n\n## Quick Start\n\n```bash\n# 1. Copy the notify script\ncp scripts/claude-notify ~/.local/bin/\nchmod +x ~/.local/bin/claude-notify\n\n# 2. Add hooks to your Claude Code settings (~/.claude/settings.json)\n# See https://cc-notify.bupd.xyz/#/installation for details\n```\n\n## Requirements\n\n- Linux with X11/Wayland\n- tmux\n- dunst (notification daemon)\n- Claude Code CLI\n\n## Documentation\n\n- [Installation Guide](https://cc-notify.bupd.xyz/#/installation)\n- [Configuration](https://cc-notify.bupd.xyz/#/configuration)\n- [Keyboard Navigation](https://cc-notify.bupd.xyz/#/keyboard-navigation)\n\n## Why Not a Full Orchestration Tool?\n\nThere are great multi-agent orchestration tools out there:\n\n- [claude-squad](https://github.com/smtg-ai/claude-squad) - manage multiple AI terminal agents\n- [claude-colony](https://github.com/MakingJamie/claude-colony) - tmux-based multi-agent orchestration\n- [claude-code-agent-farm](https://github.com/Dicklesworthstone/claude_code_agent_farm) - run 20+ agents in parallel\n- [ccmanager](https://github.com/ryanhoangt/ccmanager) - Claude Code session manager\n\nCCN is intentionally minimal. No meta layer. No orchestration. Just notifications.\n\nI work alongside Claude across multiple features running in parallel. I prefer manual approval over yolo mode. When context gets full, Claude starts yak shaving. These notifications help me monitor all my instances without the overhead of orchestrators. Simple and minimal.\n\n## How It Works\n\n```\nClaude Code stops/notifies\n        |\n        v\nHook triggers claude-notify\n        |\n        v\nCaptures tmux session/window/pane info\n        |\n        v\nSends dunstify notification with action\n        |\n        v\nUser clicks \"Go to window\"\n        |\n        v\nSwitches to exact tmux pane\n```\n\n## License\n\nApache-2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbupd%2Fccn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbupd%2Fccn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbupd%2Fccn/lists"}