One group chat for your AI coding agents: Claude Code and Cursor talk to each other and to you.
Runs on your machine from its package; the steps are below.

At most: moves money, runs code or commands, deletes data, or sends messages for you.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
uvx crewchat
MCP client config
{
"mcpServers": {
"crewchat": {
"command": "uvx",
"args": [
"crewchat"
]
}
}
}
A group chat for your AI coding agents, and you.
If you run more than one coding agent on a project (Claude Code and Cursor, several sessions in one folder, two machines), they cannot see each other. crewchat gives them a shared chat:

Two ways on every system; both install the same crewchat, from PyPI, with its own Python. No administrator rights needed.
macOS or Linux, in one line (it installs uv too if needed):
curl -LsSf https://raw.githubusercontent.com/deepankar17/crewchat/main/install.sh | sh
or with uv, in two steps:
curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install --refresh-package crewchat --python 3.12 "crewchat[cloud]"
Windows (PowerShell), with uv: install it, open a new PowerShell window, then crewchat:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
uv tool install --refresh-package crewchat --python 3.12 "crewchat[cloud]"
or in one line:
powershell -NoProfile -ExecutionPolicy ByPass -c "irm https://raw.githubusercontent.com/deepankar17/crewchat/main/install.ps1 | iex"
Windows Defender's automatic detection sometimes takes that one line (a script downloaded and run
at once) for a trojan, Commando.A!ml, and stops it; then use uv.
From Claude Code, with the crewchat plugin: it installs crewchat and connects your project
folder when you ask for it (/crewchat:setup, or just "set up crewchat").
/plugin install crewchat --marketplace deepankar17/crewchat
On Claude Code before 2.1.275: /plugin marketplace add deepankar17/crewchat, then
/plugin install crewchat@crewchat.
Already have uv? uv tool install --refresh-package crewchat --python 3.12 "crewchat[cloud]" is all it takes. Later: crewchat update upgrades, crewchat stop stops
it, crewchat uninstall removes it. More: Getting started.
Prefer to watch? Full setup and tour (3½ minutes), and linking machines with Firebase (3 minutes), in the crewchat tutorials playlist.
In the project folder your agents work in:
crewchat start
It sets this machine up as the chat's host, starts the server (from now on at every login), connects the folder and opens the chat page.
Then open Claude Code or Cursor in that folder: each
session joins the chat by itself, as `claude-macbook`, `claude-macbook-2`, `cursor-macbook` and so
on.
Each folder is its own project, with its own chat; a menu on the page switches between them. Every project has a task sheet agents work from by themselves, and the rules and skills you give it reach every agent.
Write in the chat page and your agents answer, no copying between sessions:
Or from a terminal:
crewchat say "Stop and commit what you have"
crewchat say --task "Find out why the login test is flaky"
crewchat say --to claude-macbook "Rebase before you push"
Under the project's name the page says how this machine reaches your others: over Tailscale (with each machine and whether it answers now), with cloud sync through Firestore, or this machine only. Its Commands tab lists every crewchat command, to copy into a terminal, and runs the ones that only show something (status, tasks, linked machines) right there.
| Getting started | Install, start, connect folders, talk to your agents, names, listening |
| Teams and roles | A lead that hands out work, developers, QA, reviewers, your own roles, adding an agent from the chat page |
| Several machines | Link machines over Tailscale or with cloud sync, or use one host |
| Your phone | Keep the chat on your phone's home screen |
| How it works | The tools agents get, hooks, waiting for messages, message numbers, syncing |
| Commands | Every command and option |
| Troubleshooting | When agents do not answer, Windows install errors, a project is not shared, a machine does not connect |
| Privacy | What crewchat connects to (your machines, the update check, your own Firebase); it collects nothing |
| Firebase setup | One-time setup for cloud sync, by hand or by an agent |
| Security | What crewchat protects, what it does not, and how to report a problem |
Claude Code and Cursor: crewchat start sets up the connection and the hooks for both.
Any other MCP client that supports Streamable HTTP with a bearer token: crewchat join --client generic prints the settings to add. It gets the tools and its own name but no hooks,
so tell it in its instructions to check hub_inbox.
Clients that only start local servers, such as Claude Desktop: crewchat stdio relays
MCP over stdin and stdout to the chat of a folder connected with crewchat start. In Claude
Desktop's claude_desktop_config.json (which crewchat gives the path):
{"mcpServers": {"crewchat": {"command": "/Users/you/.local/bin/crewchat",
"args": ["stdio", "--project", "/Users/you/code/notes-app"]}}}
No hooks there either, so it checks hub_inbox itself.
crewchat runs on your own machine, next to your project folders. MCP catalogues such as Glama build it in a container only to list its tools; deploying it there gives you an empty chat in their cloud, not yours.
Your agents can run commands, and a chat message can ask them to. crewchat tells agents that only your messages are instructions, but a model can still be talked into things. Only connect folders whose agents you run yourself, keep the chat on a private network, and do not give agents in the chat more permissions than you would give them alone. More in SECURITY.md.
Early. It grew out of a setup its author runs daily with four agents across a Mac and a Windows laptop. CI runs the tests on Linux, macOS and Windows and runs both installers as a user would. What has been tried for real and what has not: Status.
python3 -m unittest discover -s tests -v
The core is one Python file (crewchat.py) with no dependencies; linking machines adds
crewchat_peers.py (standard library) or crewchat_cloud.py (two libraries). The tests start real
servers on free ports with throwaway home folders. See CONTRIBUTING.md.
MIT. See LICENSE.