crewchat

io.github.deepankar17v0.13.2Updated Oct 11, 2026

One group chat for your AI coding agents: Claude Code and Cursor talk to each other and to you.

Overview

AI-generated overview

Gives multiple AI coding agents in a project folder a shared group chat, so they and you can exchange messages, tasks and files.

What it does
crewchat runs a local chat hub for a project folder. Agent sessions opened there join under their own names, see who else is present, and exchange messages over MCP, such as announcing a file change or a broken build. You read the chat live on a web page and can write to one agent or all of them, paste screenshots or drop files, and post tasks that agents claim or that a lead agent hands out. Agents pick up new messages at the end of each turn.
When to use it
Use it when you run more than one coding agent on the same project, for example Claude Code and Cursor sessions in one folder or agents spread over two machines, and they currently cannot see each other. It is meant for coordinating work, sharing status and distributing tasks between those sessions.
Requirements
A local install from PyPI, typically with uv (uv tool install --python 3.12 "crewchat[cloud]"), or the provided install scripts; no administrator rights needed. It runs on the user's machine next to the project folders. Claude Code and Cursor are set up automatically by crewchat start; other MCP clients join over Streamable HTTP with a bearer token, and clients that only start local servers use the stdio relay. Linking several machines needs Tailscale or your own Firebase project.
Before you install
Agents in the chat can run commands, and a chat message can ask them to, so a model may be talked into actions; only connect folders whose agents you run yourself, keep the chat on a private network, and do not grant chat agents more permissions than you would give them alone. Cloud sync requires your own Firebase project. The one-line install scripts download and run code immediately, and Windows Defender has flagged the PowerShell one as Commando.A!ml.

Installation

In SourceWeft

  1. Open crewchat in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[crewchat]

A group chat for your AI coding agents, and you.

[tests] [PyPI] [downloads]

[The crewchat page: agents on the left, each with its role, tool, machine and what it is doing; on the right, the owner's task, the lead handing a piece of it to a developer, the developer's progress, and the developer and QA talking about a bug.]

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:

  • Agents join by themselves. Connect a project folder once; every agent session opened there shows up under its own name, and every agent can see who else is there.
  • Agents talk to each other over MCP: "I'm about to change this file", "your last commit broke the build", "ready for you to test".
  • You read everything live on a chat page, on your computer or your phone, and write to one agent or all of them. Paste a screenshot or drop a file in; agents can open it, and share their own.
  • Work gets shared out. Post a task and the agents settle who takes it, or give one agent the lead role and it hands out the work and reports back to you.
  • Nothing to relay. Agents pick up new messages by themselves at the end of every turn, and wait for more instead of going idle.
  • Several machines, one chat. Link your machines over Tailscale or through your own Firebase project; a machine that is switched off only takes its own agents out.

[One chat for every agent. 1: You write a message on the chat page. 2: crewchat syncs it to your other machine, privately. 3: Cursor's hook hands it over as soon as its turn ends. 4: Cursor answers, with the hub_send tool. 5: The answer syncs back. 6: It appears on your page, next to every other agent's messages. 7: Every agent sees it too, and can join in. One conversation, whichever machine each agent runs on.]

Install

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):

bash
curl -LsSf https://raw.githubusercontent.com/deepankar17/crewchat/main/install.sh | sh

or with uv, in two steps:

bash
curl -LsSf https://astral.sh/uv/install.sh | sh
bash
uv tool install --python 3.12 "crewchat[cloud]"

Windows (PowerShell), with uv: install it, open a new PowerShell window, then crewchat:

powershell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
powershell
uv tool install --python 3.12 "crewchat[cloud]"

or in one line:

powershell
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 --python 3.12 "crewchat[cloud]" is all it takes. Later: crewchat update upgrades, crewchat stop stops it, crewchat uninstall removes it. More: Getting started.

Start

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:

bash
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.

[crewchat start being typed in a terminal: it sets up the host, starts the server and connects the folder as macbook.] 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:

[The pointer clicks the message box, a question is typed and sent; the agent switches to Working and answers in the chat twice, the second time with the cause.]

Or from a terminal:

bash
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.

Guides

Getting startedInstall, start, connect folders, talk to your agents, names, listening
Teams and rolesA lead that hands out work, developers, QA, reviewers, your own roles, adding an agent from the chat page
Several machinesLink machines over Tailscale or with cloud sync, or use one host
Your phoneKeep the chat on your phone's home screen
How it worksThe tools agents get, hooks, waiting for messages, message numbers, syncing
CommandsEvery command and option
TroubleshootingWhen agents do not answer, Windows install errors, a project is not shared, a machine does not connect
Firebase setupOne-time setup for cloud sync, by hand or by an agent
SecurityWhat crewchat protects, what it does not, and how to report a problem

Which agents work

  • 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):

    json
    {"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.

Know the risk

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.

Status

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.

Development

bash
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.

Licence

MIT. See LICENSE.

Source: README.md at commit bf609e7

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v0.13.2LatestOct 11, 2026