teamroom tells every coding agent which files the others are changing, before it edits them. Claude Code, Codex, Cursor, Gemini CLI, Mistral Vibe, or any agent that speaks MCP. One command, no server.
Five steps, about a minuteTwo agents, two worktrees, one repo. They are about to need the same file.
Everything teamroom knows arrives through one of three doors. Two run whatever the model does. One works with every agent.
Always runs. Git calls it.
main, including uncommitted and untracked ones.Any agent, all session long.
teamroom_post_note announces a plan, teamroom_check_overlap asks before editing.Enforced by Claude Code.
Hooks are enforced. Tools are a request. The room stays accurate even when an agent ignores its instructions.
By default the room is a file in your repo's .git directory, which every worktree shares. No server, no account, nothing leaves your machine. To include teammates on other machines, point the repo at a small shared server instead.
Three kinds of entries. Each one carries a session, a branch, the agent that sent it, and a list of file paths.
File contents are never shared. In local mode nothing leaves your machine at all. A shared server gets paths, branch names, commit ids and short messages; tokens are stored hashed there and kept in .git/teamroom.json on yours, readable only by you. Lockfiles are left out of overlap, and .teamroomignore leaves out more.
You need Node 22 or newer and git. No server, no account.
npm install --global teamroom
Hooks and agent configs launch teamroom by name, so it needs to be on your PATH.
teamroom init
Adds git hooks, MCP config for the agents it finds, an AGENTS.md block and the Claude Code hooks. Commit what it wrote.
git worktree add ../app-header -b feat/header
cd ../app-header && codex # or claude, gemini, vibe
Each worktree is its own session. Worktrees you add later are set up automatically.
teamroom watch # every session, live
teamroom check src/theme.ts # who else is in this file
Agents get their warnings on their own. These are for you.
teamroom create --server https://teamroom.example.com
teamroom join '<invite link>' # on their machines
Needs a server your team can reach: teamroom serve, or the Docker image on Fly.io.