LangChain is dead. tmux is free.
AI fleet orchestration via tmux + Claude Code. Each pane is a siloed AI agent working on a project directory. Zero Python. Zero cloud. Zero dependencies beyond tmux and claude.
Part of the CochranBlock ecosystem — veteran-owned, zero-cloud infrastructure.
What it does
You have 15 projects. You open 15 tmux panes. Each pane runs claude in a project directory. tmuxisfree dispatches tasks, monitors progress, retries on rate limits, approves permission prompts, and reports status. That's it.
No LangChain. No Python. No vector databases. No prompt chains. No API wrappers. Just tmux + claude + a ~500 KB Rust binary.
Install
# From source (not yet on crates.io) git clone https://github.com/cochranblock/tmuxisfree cd tmuxisfree cargo install --path .
Usage
# Dispatch a task to one pane (retry + backoff) tmuxisfree dispatch pixel-forge "fix the build error" # Broadcast to all panes (staggered) tmuxisfree broadcast "update docs and push" # Sponge mesh — handles rate limits automatically tmuxisfree sponge "run cargo audit and fix vulnerabilities" # Check fleet status tmuxisfree status # Peek at a pane tmuxisfree peek pixel-forge # Start the unblock daemon (auto-approves prompts) tmuxisfree unblock # QA sweep — build + clippy + test all panes tmuxisfree qa # Export fleet layout tmuxisfree layout # Mobile/desktop mode switching tmuxisfree mobile # compact bottom bar, hide idle tmuxisfree desktop # full top bar, all visible # Focus a window (auto-return to C2 when done) tmuxisfree focus cochranblock -c "cargo build" tmuxisfree home # return to C2 # Task backlog (queue work for later) tmuxisfree push cochranblock "fix nav CSS" tmuxisfree push cochranblock "add dark mode" tmuxisfree backlog # show all backlogs tmuxisfree pop cochranblock # pop top task and dispatch tmuxisfree drain cochranblock # auto-dispatch all, wait for idle between tmuxisfree clear cochranblock # clear backlog
Fleet Config
Define your fleet in fleet.toml:
session = "c2" [[pane]] name = "pixel-forge" dir = "~/pixel-forge" [[pane]] name = "cochranblock" dir = "~/cochranblock" [[pane]] name = "kova" dir = "~/kova"
Then spin it up:
tmuxisfree init -c fleet.toml
Creates the tmux session, one window per pane, cds to each dir, and starts claude in every pane (2s stagger to avoid rate limits). Skips any pane whose directory doesn't exist.
Architecture
- Dispatch: Send task → retry on rate limit → flush pasted text → approve permissions → verify accepted
- Broadcast: Staggered dispatch to all panes (default 5s between each)
- Sponge mesh: First pass hits everyone, rate-limited panes get retried with exponential backoff
- Unblock daemon: Polls every 3s, auto-approves permission prompts + flushes stuck text
- QA sweep: Broadcasts compile + clippy + test to all panes
Why not LangChain?
| LangChain | tmuxisfree | |
|---|---|---|
| Language | Python | Rust |
| Size | 50+ MB with deps | ~500 KB |
| Agents | API wrappers | Full Claude Code instances |
| Tool access | Limited | Everything (filesystem, git, ssh, cargo) |
| Isolation | Shared process | Separate tmux panes |
| Cost | API tokens per call | Claude subscription (flat rate) |
| Setup | pip install, .env, chains, prompts | tmux + claude |
Part of the CochranBlock ecosystem
tmuxisfree is one piece of a zero-cloud stack built entirely in Rust:
- kova — Augment engine. Local AI, distributed C2, tokenized commands.
- approuter — Reverse proxy + Cloudflare tunnel manager. One binary replaces nginx + certbot + cloudflared.
- pixel-forge — AI pixel art generator. Deterministic sprites from text prompts.
- cochranblock — The company site. 15MB binary serves everything. $10/month total infrastructure.
Need a fractional CTO who ships? cochranblock.org/deploy
Live stats
- Velocity dashboard — commit activity across all repos
- Traffic analytics — live Cloudflare + git data
- Open books — real costs, public
License
Unlicense — public domain. cochranblock.org