Install Coordigent
One command sets up Coordigent on a machine. Run it inside a repo you want your agents to coordinate in (any directory works; a repo also gets connected).
Install · once per machine
Run in your terminal
curl -fsSL https://coordigent.com/install | shShow the full prompt
# Set up Coordigent on this machine
Coordigent coordinates several AI coding agents working on one repo: it shows
which files each agent is in, warns when two agents reach for the same file,
and lets agents message each other.
Do these steps in order. Stop and tell me if any step fails.
1. Install the `coord` and `coord-mcp` binaries. Any directory will do.
On macOS or Linux:
curl -fsSL https://coordigent.com/install | sh
On Windows, in PowerShell:
irm https://coordigent.com/install.ps1 | iex
If `coord` is not found afterwards, start a new shell (the installer added
it to the PATH) and try again.
2. Log this machine in:
coord login
It prints a code and opens my browser. Tell me to check that the code in
the browser matches the one in the terminal and to click **Approve**. Wait
for the command to finish; it finishes on its own once I approve.
Never ask me for a token, never invent one, and never print, repeat or
write to a file anything `coord login` saves. It is a credential.
3. Check the result:
coord doctor
It prints a pass or a fail for each agent app, and the fix for anything
that failed. Tell me what it said, and carry out any fix it names.
4. From the root of the repo I am working in, run:
coord connect
That links the agent apps on this machine (Claude Code, Codex, Cursor and
others) and registers the repo. Tell me which apps it linked.
5. Tell me to restart my coding agent.
Coordigent is registered now, but an agent app reads its MCP configuration
only at startup, so nothing appears until it restarts. That includes you:
you will not be able to call the coordigent tools in this session.
Or with npm Node 18+
npm i -g coordigentThen run coord connect in each repo, the same as after the install line.
Or with nothing installed first
npx coordigent setupRun it inside your repo: it downloads coord, signs you in and connects the repo.
The same command works on macOS and Linux: the installer works out the operating system and processor itself and downloads the matching binaries. On Windows, choose Windows and run the command in PowerShell (see Windows below). If you already use Node, npm works on macOS, Linux and Windows too (see Install with npm below). To hand the setup to the agent you already use, choose Let your agent do it: it copies a setup prompt and opens Claude Code, Codex or Cursor with it.
What happens
The command does the whole setup, and asks you nothing:
- Installs
coordandcoord-mcpand puts them on yourPATH. On Windowscoordworks in the same PowerShell window straight away. On macOS and Linux new terminals find it; the last line says what to paste to use it in the terminal you ran the installer in. - Signs you in. If this machine has no login for the server, it opens the approval page in your browser and waits up to 10 minutes while you check the code and approve. A login that still works is reused. With a token (CI), it uses the token. In CI, or anywhere with no terminal, it never waits for a browser: it says to run
coord logininstead. - Links your agent apps: Claude Code, Codex, Cursor, VS Code, Windsurf and Kiro, whichever are installed, get the Coordigent tools and capture hooks.
- Connects the current folder to your project when it is a git repo. Anywhere else it says to run
coord connectinside a repo. - Starts the background daemon. A daemon left running by another version is replaced automatically.
It ends with three lines that say what is now true:
✓ Signed in as Ada Lovelace · project Lovelace Labs
✓ Repo acme/app connected · daemon started
✓ Agents linked: Claude Code, Cursor
→ Restart Claude Code and Cursor to pick up the tools.The last line appears only when one of those apps is running. When the repo was new to your project the repo line says connected (new to the project), and when another of your projects holds the same repo a line under the summary names it: agents in this repo record into the project you are looking at only. Run the command again at any time: it updates the binaries and leaves everything that is already right alone.
If you don't approve in time, the summary says Not signed in and everything else is still done. Run coord login when you're ready, then coord connect in your repo.
What it installs
The installer downloads two programs and puts them in ~/.tower/bin:
coord, the command line tool. You use it to log in and watch your agents. Your agent apps also run it through hooks to report what they do.coord-mcp, the MCP server your agent apps start. It gives each agent thecoordigent.*tools: see who else is working, check files, send messages.
Each download is checked against the checksum the server publishes before it is made executable. A download that does not match is deleted and the installer stops. If the server publishes no checksum, the installer says so and installs unverified.
The installer adds a PATH line to existing zsh, bash and sh startup files. On a fresh machine, it also creates the current shell's startup file: .zshrc for zsh (under ZDOTDIR when set), .bashrc and .profile for bash, or .profile for sh. Existing bash login profiles are updated too. New shells find coord through this line:
export PATH="$HOME/.tower/bin:$PATH"It adds the line once and never rewrites it. Open a new terminal, or run ~/.tower/bin/coord directly, if coord is not found right after installing. If the install directory is already on PATH, it leaves startup files alone. If a startup file cannot be created or updated, it warns and finishes installing; use the printed executable path and add the PATH line yourself. --no-path-update skips startup-file changes entirely.
On a machine that has never logged in, the installer also writes ~/.tower/config.json with the server it came from and no token, so coord login and coord update use that server. When the file names a different server, the installer switches to its own server unless that would lose a login:
- Not logged in there: it switches and says so ("Switched from … to …").
- Logged in there: it asks (the answer defaults to no). With a yes, or with a token for the new server, it switches and keeps the old login in
~/.tower/config.<host>.json. With no terminal to ask, it keeps the old server and printscoord login --server <url>for switching later.
config.json holds one login at a time, so to go back to the old server, copy its kept file over config.json or run coord login --server <url>. The Windows installer (install.ps1) does the same.
The installer ends by running coord setup, which does steps 2 to 5 above. You can run coord setup yourself at any time, for example after installing with npm.
Options
Pass options after sh -s -- (on Windows, see Windows):
| Option | What it does |
|---|---|
--token <token> | Signs in with a token instead of the browser, for CI and machines with no browser. See headless and CI. |
--no-login | Never starts the browser sign-in. A login already on this machine is still used. |
--no-connect | Installs the binaries without signing in or connecting, and prints Next: coord login. A daemon still running an older build is replaced by this one's. |
--bin-dir <dir> | Installs somewhere other than ~/.tower/bin. |
--no-path-update | Leaves your shell startup files alone. |
--server <url> | Installs from, and signs in to, another Coordigent server. |
curl -fsSL https://coordigent.com/install | sh -s -- --no-loginSupported platforms
| Platform | Supported |
|---|---|
| macOS on Apple silicon (arm64) | Yes |
| macOS on Intel (x86_64) | Yes |
| Linux on x86_64 (glibc) | Yes |
| Linux on arm64 / aarch64 (glibc) | Yes |
| Windows on x64 (PowerShell 5.1 or 7) | Yes |
| Alpine / musl Linux | No: the installer stops before downloading |
| Anything else | No: the installer stops before downloading |
The installer needs curl or wget, and sha256sum or shasum to check the download. Each network address can download 60 binaries an hour, and one install downloads two. Past that, the installer stops with "Too many downloads from this address. Try again in N minute(s)." and changes nothing. On Apple silicon, an x86_64 shell gets the native ARM64 binaries when the installer detects Rosetta through sysctl.proc_translated; if that check is unavailable, it uses the Intel pair.
Windows
Run this in PowerShell (no administrator rights needed):
irm https://coordigent.com/install.ps1 | iexIt downloads coord.exe and coord-mcp.exe to %USERPROFILE%\.coordigent\bin and checks each one against the checksum the server publishes. It adds that folder to your user PATH and to the window you ran it in, so coord works there at once. Then it does the rest of the setup as on macOS and Linux (What happens): the browser sign-in, your agent apps, the current repo and the daemon, ending with the same three lines.
For CI, set the token first: $env:TOWER_TOKEN = "<token>"; irm https://coordigent.com/install.ps1 | iex. The other options are switches: iex "& { $(irm https://coordigent.com/install.ps1) } -NoLogin", or -NoConnect to install the binaries without signing in or connecting. $env:TOWER_BIN_DIR installs somewhere else.
Run it in a normal PowerShell, from the Start menu or Windows Terminal, not one an agent in the Claude desktop app opened. The Claude app is a packaged (MSIX) app, and Windows keeps what any process it starts writes under AppData, and to your user PATH, private to the app. The binaries go outside AppData, so every app shares them, but run inside the app the installer warns that the PATH change and the cleanup of an older copy still need a normal PowerShell. Up to coord 0.1.1 the installer used %LOCALAPPDATA%\Coordigent\bin. The new install first points every agent app's hooks and MCP entry at the new folder, then removes that copy, the copies the Claude app was given privately, and the old PATH entry. A copy something still runs is left, with a line saying what runs it, and goes the next time you install. coord doctor lists any copy left on another version, and coord update refuses to update one under AppData.
Where things live on Windows:
| What | Where |
|---|---|
coord.exe, coord-mcp.exe | %USERPROFILE%\.coordigent\bin |
| Login, local agents, the daemon's files | %USERPROFILE%\.tower (TOWER_DIR moves it) |
| Logs: hook errors, upload failures, daemon jobs | %USERPROFILE%\.tower\emit.log |
The background daemon uploads what your agents do and keeps their messages moving. On Windows it is not a service and needs no administrator rights or scheduled task. The installer, coord login, your first agent's hook, or coord daemon start starts it in the background. It does not start by itself when you sign in to Windows; your next agent's hook does that. coord daemon status and coord doctor say whether it is running.
To uninstall, run coord uninstall. It takes Coordigent out of your agent apps, removes %USERPROFILE%\.tower, the binaries and their folder (%USERPROFILE%\.coordigent, and the older %LOCALAPPDATA%\Coordigent with the Claude app's private copies of it), and takes the installer's entries out of your user PATH. Run it in a normal terminal too: from inside the Claude app it cannot change your PATH, and says so. The coord.exe that runs the uninstall is deleted a moment after it exits. If it says a binary is in use, close your agent apps and run it again.
Install with npm
With Node 18 or later, the coordigent package gives you the same coord and coord-mcp:
npm i -g coordigentcoord setupTo try it with nothing installed first, run npx coordigent setup inside your repo. It downloads coord and coord-mcp, signs you in and connects the repo, as coord setup does after an install. Any other coord command works the same way: npx coordigent status.
The package holds a small launcher and no binaries, and nothing runs at install time. The first coord you run downloads coord and coord-mcp for this machine, checks each against the checksum the server publishes, and puts them where the installer does: ~/.tower/bin, or %USERPROFILE%\.coordigent\bin on Windows (TOWER_BIN_DIR moves them). From then on coord and coord-mcp run those binaries. npm puts the two commands in its own global bin folder, which is normally on your PATH already, so the installer's PATH line is not needed.
If you also installed with the command above, both coord commands run the same binary in ~/.tower/bin; whichever comes first on your PATH is the one that starts, and it does not matter which.
- Updates:
coord updateupdates the binaries, as for any install.npm update -g coordigentupdates only the launcher, which rarely changes. - Remove it: run
coord uninstallfirst (see Remove it), thennpm rm -g coordigent. Removing only the package leaves the binaries and your agent apps' setup in place.
In your editor and in Claude Code
Both work through coord. Install it first for the plugin; the extension offers to install it if it's missing.
- VS Code extension:
coordigent.coordigent, on the VS Code Marketplace (opens in a new tab) and on Open VSX (opens in a new tab), which is where Cursor and Windsurf install extensions from. Search for Coordigent in the Extensions view. See Extension manager. - Claude Code plugin: inside Claude Code, run:
/plugin marketplace add startupproj/coordigent-public
/plugin install coordigent@coordigentSee Claude Code.
An MCP client that can't run coord on your machine can use the hosted server instead: Coordigent is in the MCP Registry as com.coordigent/coordigent. See Hosted server.
Why ~/.tower
Coordigent keeps everything it knows about this machine in ~/.tower: your login, the background daemon's files, the record of local agents, and the binaries. The directory has an older name than the product. It kept that name so that every existing install keeps working. Set TOWER_DIR to move it.
Keep it current
coord update downloads the current coord and coord-mcp, checks them, swaps them in place, refreshes existing capture hooks in your agent apps (so new hook events land without a re-connect), and restarts the background daemon. It needs no login.
coord updatecoord update --check only tells you whether an update is available. It offers only a newer build: a coord newer than your server's says so instead.
Check the install
coord doctor checks each agent app on this machine, whether you are logged in, and whether the daemon is running. Most failing lines name the command that fixes them. When some of those fixes are safe to make for you, doctor ends with → Run coord doctor --fix to …: coord doctor --fix links the agent apps again, restarts a daemon from another version, and connects repos the project lost, then checks again. Logging in and updating are left to you. If the server permanently refused some upload events, doctor also warns and points at coord spool requeue|clear <session> (see This machine).
coord doctorIt ends with one line per repo this machine is connected to:
✓ acme/app: hooks claude-code · registered · last upload 2m ago · 0 lines waiting · claims 3s old · daemon watching
! acme/api: hooks claude-code · not registered in this project · last upload 45m ago · 12 lines waiting · claims 3s old · daemon watching
Fix: coord connectA ✓ repo is fine. A ! repo works but needs a look; a ✗ repo is not being recorded. Each ! or ✗ line ends with the command that fixes it, such as coord connect --clients cursor for an agent app with no hooks, coord spool requeue <id> for refused events, or coord daemon start. Run coord connect inside the repo it names.
Remove it
coord uninstall removes Coordigent from this machine: the daemon, its hooks and MCP entries in your agent apps, the rules it wrote, and ~/.tower. Add --dry-run to see the plan first, or --keep-data to keep everything in ~/.tower except the binaries. If you installed with --bin-dir or TOWER_BIN_DIR, pass the same --bin-dir (or keep TOWER_BIN_DIR set) so the binaries there go too. Anything you edited by hand is kept and named.
It also takes out the PATH line the installer added, the two lines that start with # Added by the Coordigent installer. A PATH line you wrote yourself stays, and uninstall prints it so you can remove it.
To stop Coordigent in one repo only, or to take a repo out of your project, see Connect a repo.
Next
The installer has signed you in and connected the repo you ran it in. To connect another repo, run coord connect inside it (see Connect a repo). Setting up a machine with no browser, such as a CI runner? See headless and CI.