Cross-agent messaging via SQLite. Send messages between Claude Code, Codex, Gemini CLI, GitHub Copilot CLI, and other agents. No daemon, no network, no dependencies beyond bash and sqlite3.
$npx -y skills add fujibee/agmsg --skill agmsgInstalls into the current project.
Run `npx skills use "https://github.com/fujibee/agmsg" --skill "fujibee/agmsg"` and follow the generated skill instructions now. Read its complete output, redirecting it to a temporary file first if necessary. Resolve relative paths from the supporting-files directory it provides.
Use the skills in "https://github.com/fujibee/agmsg" that are relevant to the current task. Run `npx skills add "https://github.com/fujibee/agmsg"` and select the relevant skills, then follow their instructions.
| 1 | # agmsg |
| 2 | |
| 3 | *[日本語](README.ja.md)* |
| 4 | |
| 5 | [](https://github.com/fujibee/agmsg/actions/workflows/tests.yml) |
| 6 | [](https://github.com/fujibee/agmsg/releases/latest) |
| 7 | [](LICENSE) |
| 8 | |
| 9 | Cross-agent messaging for CLI AI agents. No daemon, no network, no complexity. |
| 10 | |
| 11 | > **For AI agents:** see [`/llms.txt`](llms.txt) for a quick, machine-friendly orientation. |
| 12 | |
| 13 | <a href="https://www.producthunt.com/products/agmsg?utm_source=badge-top-post-badge&utm_medium=badge" target="_blank"> |
| 14 | <picture> |
| 15 | <source media="(prefers-color-scheme: dark)" |
| 16 | srcset="https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=1165435&theme=dark&period=daily"> |
| 17 | <img src="https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=1165435&theme=light&period=daily" |
| 18 | alt="agmsg — #5 Product of the Day on Product Hunt" width="250" height="54"> |
| 19 | </picture> |
| 20 | </a> |
| 21 | |
| 22 | You stop being the copy-paste courier between your agents. Claude Code, Codex, Gemini CLI, GitHub Copilot CLI, and any other CLI agent message each other directly through a shared local SQLite database — no human in the middle. |
| 23 | |
| 24 | <p align="center"> |
| 25 | <img src="docs/logos/supported-agents.png" width="780" |
| 26 | alt="Supported agents: Claude Code, Codex, Gemini, GitHub Copilot, Antigravity, OpenCode, Hermes"> |
| 27 | </p> |
| 28 | |
| 29 | **What it isn't:** |
| 30 | |
| 31 | - Not MCP. No MCP server, no extra runtime — just `bash` + `sqlite3`. |
| 32 | - Not subagents. agmsg connects *peer* sessions across different tools. `spawn` can launch a new peer agent in its own terminal, but it's an independent session you talk to over agmsg — not a child process this one manages. |
| 33 | - Not a message queue. There's no broker. The SQLite file is the floor; agents are the players. |
| 34 | |
| 35 | ## Demo |
| 36 | |
| 37 | Two `monitor`-mode Claude Code instances, left alone in the same team, play tic-tac-toe against each other with no human in the loop — each picks up the other's move in real time: |
| 38 | |
| 39 |  |
| 40 | |
| 41 | In real use it looks like this — Claude Code asking Codex for a code review and getting it back, all over agmsg: |
| 42 | |
| 43 |  |
| 44 | |
| 45 | ## Quick Start |
| 46 | |
| 47 | **Requires:** `bash` and `sqlite3`. macOS ships both. On a minimal Linux box (some Debian/Ubuntu containers, Alpine) you may need to install `sqlite3` first — `sudo apt-get install -y sqlite3` or your distro's equivalent. |
| 48 | |
| 49 | ```bash |
| 50 | # 1. Install — npx is the fastest path, no clone needed |
| 51 | npx agmsg |
| 52 | |
| 53 | # 2. Restart Claude Code / Codex / Gemini CLI / Antigravity / OpenCode to pick up the new skill |
| 54 | |
| 55 | # 3. Run the command — it will prompt for team and agent name on first use |
| 56 | # Claude Code: /agmsg |
| 57 | # Codex: $agmsg |
| 58 | # Gemini CLI: $agmsg |
| 59 | # Antigravity: $agmsg |
| 60 | # OpenCode: $agmsg |
| 61 | ``` |
| 62 | |
| 63 | That's it. The slash command prompts you for a team name and an agent name on first use, then asks you to pick a [delivery mode](#delivery-modes) (default on Claude Code: `monitor` — real-time push; Codex offers a beta `monitor` bridge or `turn`). After that, you talk to your agent naturally — see [First run](#first-run) below. |
| 64 | |
| 65 | Prefer to inspect the code first, track the latest `main`, or pick a custom command name? See [Install](#install) below for the `setup.sh` one-liner, `git clone`, and the Claude Code plugin marketplace paths. |
| 66 | |
| 67 | ## How it works |
| 68 | |
| 69 | agmsg is a thin transport. Each agent has a hook (or a Monitor stream, depending on delivery mode) that reads from a shared SQLite file and surfaces incoming messages as text the agent can react to. Sending is a `send.sh` call that appends a row. There is no daemon, no socket, no broker — the file is the shared floor and the agents take turns on it. |
| 70 | |
| 71 | The store is WAL- |