Cotal CLI

An open standard and CLI for a shared space where Claude Code, Codex and OpenCode exchange messages and tasks

  • 369 ★ on the repository
  • Last commit
  • Apache-2.0
CLI

Broad access

Why this level

  • Starts agents and a background broker that read and write files in the project
  • An agent can spawn other agents on the mesh with cotal_spawn
  • The installer is downloaded from the internet and run in a shell
All reasons and checks

cotal-ai/cotal

Install

Manual install

npm install -g cotal-ai && cotal setup

Works on Windows and on systems with Node 22 or newer. The cotal setup command starts nothing and installs skills and the default persona.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • Starts agents and a background broker that read and write files in the project
  • An agent can spawn other agents on the mesh with cotal_spawn
  • The installer is downloaded from the internet and run in a shell

This is third-party code. Review the repository files before installing.

What it does

Cotal is a publish-subscribe protocol for AI agents with a reference implementation in TypeScript on top of NATS and JetStream. Agents in one space see each other and address messages three ways: to a channel for all subscribers, to one agent through a queue with guaranteed delivery, or by role, where exactly one free worker takes the task. Every agent has a presence status and a card in the A2A format. You set the team structure: equal peers, a manager with workers or a chain of command, and you can mix them. A cotal.yaml manifest describes the team, and spaces run in parallel without seeing each other. Claude Code, OpenCode, Codex and three more agents can join, and each gets the same cotal_* tools. Workflows are written in the Cotal Lang language. Every action goes into a step journal, so a stopped run resumes on any host. You can watch the network in a terminal with cotal watch and cotal console, or in a read-only web dashboard.

Who it is for. For developers who run several agents at once and want them to coordinate with each other without a single dispatcher.

Good fit when

  • You need a reviewer and a builder on different agents handing tasks to each other by message
  • A task should go to any free agent with the right role
  • The work lasts hours and a run must survive a restart and continue from its step journal
  • Agents on different machines have to join one shared space

Not a fit when

  • There is one agent: the overhead of a broker and a space will not pay off
  • You need a built-in scheduler with a single manager: Cotal leaves the structure to you
  • You cannot install a NATS broker and run background processes on the machine

Example request

Bring up a two-agent team with cotal: a builder writes code, a reviewer checks it and replies in the channel

Limitations

Node.js 22 or newer is required. The install script puts Cotal into your home folder without sudo, and you can read it first or run it with --dry-run. The script targets POSIX systems, so on Windows Cotal is installed through npm. The cotal setup command starts nothing but places skills into agent folders. By default the broker admits agents by JWT, and the --open mode without checks is valid only on a loopback address. The web dashboard is configured separately with an explicit credential and is read-only.

How to disable. Stop the mesh with cotal down. Remove the skills and the cotal-skills plugin from agent folders by hand. Remove the home-folder install the way you installed it, for example npm uninstall -g cotal-ai.

FAQ

How do I install Cotal?

On macOS and Linux run curl -fsSL https://get.cotal.ai | sh; on Windows, or with Node 22 installed, run npm install -g cotal-ai and then cotal setup. You can also hand the agent the link https://docs.cotal.ai/prompt.md.

Which agents are supported?

Claude Code, OpenCode, Codex, Hermes, Jcode and pi. Cotal skills are also installed for Cursor, Gemini CLI and Windsurf into ~/.agents/skills.

How are messages addressed?

Three ways: to a channel for all subscribers, to one agent through a guaranteed-delivery queue, and by role, where one free worker claims the message.

How is Cotal different from MCP and A2A?

MCP connects an agent to its tools and A2A links two agents with request-response. Cotal adds publish-subscribe for many agents in one space, with presence and channels. From A2A it takes only the data shapes and uses its own transport.

What is cotal up --open?

A broker without authentication, reachable on a loopback address only and without message persistence. A regular cotal up uses JWT and per-agent permissions.

Discussion

No questions or reviews yet.

CLI tools

A terminal workspace where several CLI agents like Codex, Claude and Gemini exchange messages and work on one task under human oversight

CLIExtended access3.6KRepository stars

A local dashboard for many Claude Code sessions: each job gets its own context and todo, agents spawn child agents and message each other

CLIBroad access1.4KRepository stars

A CLI that lets agents in different terminals message, watch and spawn each other

CLIBroad access612Repository stars

CLI Agent Orchestrator

CLI Agent Orchestrator (CAO)

A CLI that coordinates several coding agents: a supervisor delegates tasks to specialists in parallel or in sequence across isolated tmux sessions

CLIBroad access1.5KRepository stars

A memory and coordination layer for coding agents: specs and issues live in git while agents work in parallel

CLIBroad access295Repository stars
Editors’ pick

Multi-agent orchestration for Claude Code: teams, roles, autopilot and task routing across skills and subagents

PluginBroad access40.4KRepository stars

README in short

The author explains the idea of a shared space for agents and compares Cotal with MCP and A2A. A separate section lists what Cotal adds on top of NATS: sender identity, permissions and message replay.

README badge

Report a problem

Foxx AICotal
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.