Slack message-turn bridge to AI coding agents (Claude Code / Codex / Copilot) running on your Mac
Project description
cc-agent-messenger
English | 日本語
Reply to your AI coding agents from Slack on your phone, while they keep working in VS Code on your Mac. A small resident bot bridges a Slack channel to the live Claude Code session (and, headlessly, to Codex / Copilot), so you can ask for status, choose the next step, or get pinged when a long job finishes — as complete message turns, not live terminal mirroring.
⚠️ Security & responsibility. This tool runs commands in response to Slack messages (RCE-adjacent). It is built for a single trusted operator on a trusted machine. Enabling hands-free auto-reply grants auto-execution of the reply command — a conscious risk you accept. No warranty; use at your own risk. See SECURITY.md.
iPhone Slack ──(@bot !status)──► resident bot (Bolt + Socket Mode)
│ authorize (NN4) + match command
▼
tmp/.slack_message ◄── tail -f Monitor (live Claude session)
iPhone push ◄── bot chat.postMessage ◄── cc-agent-messenger send (Unix-socket send API)
What it does
- Inbound: a Slack message in your private channel is authorized and appended
to a local file; your live Claude Code session (watching it with
tail -f) wakes, interprets the command, and replies. - Outbound: the reply is posted by the project's own bot, @-mentioning you, so your phone gets a push.
- Agents: Claude Code via the live session (C0); Codex and Copilot via headless CLIs (C1). (C1 is also available for Claude.)
Requirements
- macOS or Linux/WSL, VS Code + the Claude Code extension, Python ≥ 3.11,
uv. - A Slack workspace + one private channel, and a Slack app (Socket Mode).
- For Codex/Copilot: their own CLIs installed + authenticated (
codex,@github/copilot). Claude via C0 needs no extra CLI.
Install
uv tool install cc-agent-messenger
# or from source:
uv tool install git+https://github.com/noboru2000/cc-agent-messenger
Quickstart
cd your-project
cc-agent-messenger init # scaffolds the skill, config template, gitignore, allowlist
# 1) create a Slack app (Socket Mode + scopes + Event Subscriptions); see docs/SETUP.md
# 2) fill .cc-agent-messenger/config.toml with your tokens + channel id
cc-agent-messenger daemon # run the resident bot
# verify the return path:
cc-agent-messenger ping # -> {"status":"alive"}
cc-agent-messenger send --text "test" # -> posts to your channel; phone gets a push
Then, in your VS Code Claude Code session, invoke the cc-agent-messenger skill
to start watching the channel and replying. Add the printed allow-rule to
.claude/settings.json to make replies hands-free.
Commands
cc-agent-messenger <init | uninstall | daemon | send | ping | status | stop | kill on|off | doctor>
— see cc-agent-messenger --help. From Slack, @bot the bot with either an
explicit command — !status, !options, !select 2, !continue, !doctor,
!help (a leading ! is deterministic and needs no Slack slash registration) —
or plain words (状況は?, status). Full reference in
docs/USAGE.md.
Limitations
- Session-bound: the live (C0) bridge works only while VS Code and the Mac are awake and the skill's monitor is armed. It is not a 24/7 service.
- Copilot/Codex replies come from a headless CLI turn, separate from their VS Code GUI panels.
Docs
- docs/SETUP.md — Slack app creation, invite, config, run, E2E, troubleshooting.
- docs/USAGE.md — Slack command reference (
!status,!options, …), keywords, and expected behavior once it is running. - docs/ARCHITECTURE.md — the C0 loop, the egress chokepoint, the four input surfaces, the security model.
License & author
MIT © 2026 Noboru Harada.
Author / maintainer: Noboru Harada <noboru@ieee.org>. Security reports: see SECURITY.md. Bugs / features: open an issue.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cc_agent_messenger-0.1.1.tar.gz.
File metadata
- Download URL: cc_agent_messenger-0.1.1.tar.gz
- Upload date:
- Size: 929.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a83d7c3fec49ee0a6f0485821e60ab45f6bc41dab81ba5e9e4dc06632c41349
|
|
| MD5 |
4a331546de38008dc32cb9a33744db65
|
|
| BLAKE2b-256 |
9045de3cb9d55608fbb2443728413ee89a96f6268f6ce661cb2b29c4a16323be
|
Provenance
The following attestation bundles were made for cc_agent_messenger-0.1.1.tar.gz:
Publisher:
release.yml on noboru2000/cc-agent-messenger
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cc_agent_messenger-0.1.1.tar.gz -
Subject digest:
7a83d7c3fec49ee0a6f0485821e60ab45f6bc41dab81ba5e9e4dc06632c41349 - Sigstore transparency entry: 1871564172
- Sigstore integration time:
-
Permalink:
noboru2000/cc-agent-messenger@9af1db1a1225758d3cc2e904868c6c0fe0889485 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/noboru2000
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9af1db1a1225758d3cc2e904868c6c0fe0889485 -
Trigger Event:
release
-
Statement type:
File details
Details for the file cc_agent_messenger-0.1.1-py3-none-any.whl.
File metadata
- Download URL: cc_agent_messenger-0.1.1-py3-none-any.whl
- Upload date:
- Size: 40.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7f02ddf9e9e2641abb2b479951f349e09c2e2f8e42f14fc94d25fe62ef536f2
|
|
| MD5 |
882ac7ba55fe304ba3e2383114dfc92b
|
|
| BLAKE2b-256 |
ea6ddffe9e9f2f86b2489c55bb36963580b992777f22514d10f7cec260fd2374
|
Provenance
The following attestation bundles were made for cc_agent_messenger-0.1.1-py3-none-any.whl:
Publisher:
release.yml on noboru2000/cc-agent-messenger
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cc_agent_messenger-0.1.1-py3-none-any.whl -
Subject digest:
e7f02ddf9e9e2641abb2b479951f349e09c2e2f8e42f14fc94d25fe62ef536f2 - Sigstore transparency entry: 1871564224
- Sigstore integration time:
-
Permalink:
noboru2000/cc-agent-messenger@9af1db1a1225758d3cc2e904868c6c0fe0889485 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/noboru2000
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9af1db1a1225758d3cc2e904868c6c0fe0889485 -
Trigger Event:
release
-
Statement type: