v0.1.1 · MIT License · Go + npm
openswarm
Open, composable, file-backed primitives for multi-agent terminal orchestration. Any agent. Any multiplexer. No daemons.
subsystems
Everything your swarm needs
One binary. Five primitives. All state in .swarm/ — no services to run.
-
swarm msgAgent-to-agent messaging via lock-free inbox files. Threaded replies, unread tracking, inbox watch.
-
swarm taskShared task queue with atomic flock-safe mutations. Assign, claim, block, complete, fail.
-
swarm paneSpawn, capture, send keystrokes to terminal panes across tmux, Zellij, and WezTerm.
-
swarm runRun a command in a managed pane. Fire-and-forget or block until exit. PATH and env inherited.
-
swarm worktreeGit worktree lifecycle tied to agent identity. Merge and clean when the work is done.
-
swarm eventsTail the shared append-only event log across all subsystems. Filter by type.
design
Built like Claude Code's internals
The same file-backed, daemon-free architecture used by Claude Code's agent teams — available outside Claude Code.
-
01
File-backed everything
No daemons, no sockets. Atomic writes,
flock()for all mutations. State survives crashes and is readable by any tool. -
02
Agent-friendly by default
--jsonon every command. Machine-readable exit codes. Designed to be called from agent sessions, not just humans at a terminal. -
03
Multiplexer-agnostic
Eight-method
Backendinterface. Swap tmux for Zellij without changing a single caller. WezTerm, Kitty, and others plug in the same way. -
04
Pull complexity downward
CLI handlers are <15 lines. All logic lives in
internal/— tested in isolation, never entangled with flag parsing.
quickstart
Up in 30 seconds
Requires tmux, Zellij, or WezTerm for pane commands. Everything else works standalone.
Install
npm install -g @justestif/openswarm
Initialize your project
cd your-project swarm init
Register, add tasks, and spawn agents
swarm agent register coder swarm task add "implement the auth module" swarm run start -- claude --print "$(swarm prompt)"
Other install methods
Homebrew
brew install justEstif/tap/openswarm
Go
go install github.com/justEstif/openswarm/cmd/swarm@latest
mise
[tools] "npm:@justestif/openswarm" = "latest"