
Harness
ai.autonomous.harnessPublished by harness.autonomous.aiv0.4.20Updated Nov 2, 2026
Start Claude Code and Codex agents the person can watch, wait for them and read their answers.
Overview
Local MCP server that lets an assistant start Claude Code and Codex agent sessions, wait for them, and read their answers.
- What you can do
- Start coding-agent sessions (Claude Code, Codex and others) as harnesses on the user's machines
- Wait for a running harness to finish and read back its answer
- Group and organize sessions into tabs and workspaces
- Install and launch domain-specific harnesses from a store of craft-specific setups
- Run agents in tmux panes with per-harness worktrees and optional local models
- When to use it
- Useful when you want an assistant to delegate work to separate coding agents, launch them, wait for results and pull their output back into the conversation, including across several linked machines.
- Requirements
- Runs as a local stdio process from the npm package or the mcpb bundle; desktop only. The Harness app and a per-machine daemon are needed, with the CLI installed and signed in (harness login) and a remote password set for linking machines. Building from source needs Node.js 20+, tmux, Xcode and Flutter/Dart.
Installation
In SourceWeft
- Open Harness in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Harness like a boss.
The ultimate harness for coding agents and beyond.
Claude Code at work. Codex at home. Hermes in the cloud. One command center.
Start with code. Then follow your curiosity and build across disciplines: CAD, circuits, robots, games and music.
Download · How it works · Beyond code · Harnesses · Device
Every agent, side by side
Claude Code, Codex, Cursor, OpenCode, Devin, Amp, Copilot and seven more.
Every machine, side by side
Your laptop, home server and GPU box in one window. Link each one with a password. No SSH keys. No Tailscale. No port forwarding.
Keyboard first
⌘P finds any harness on any machine. ⇧⌘I jumps to the harness waiting on you. ⌘D splits. Every key remaps.
End-to-end encrypted
Code, keys and keystrokes are sealed on your machine. The relay forwards bytes it can't read.
Fast and light
A native app, not Electron. Close it and your agents keep working.
Idle measurements on an M2 Max:
- ⌘N, ⌘O, ⌘T UI: 11–13 ms median, 15–18 ms p95.
- Local terminal echo: 1.1 ms median, 7.2 ms p95, excluding UI rendering.
- Desktop resources: ~0.1% of one CPU core and 304 MiB, including terminal rendering and scrollback; agent CLIs and the daemon are excluded.
Desktop results use a Release fixture with 16 terminals and 1,000 scrollback lines each. See the workflow and resource benchmarks and remote P2P, TURN and relay results for workloads, slow tails, connection failures and raw data.
Built the way developers work
- Real terminals. Every agent runs in its own tmux pane. Scrollback, colors and keys just work.
- Your CLIs, as they are. Harness never wraps an agent. It reads transcripts and uses the vendor's own hooks.
- A worktree per harness. Start an agent on its own branch. Your working copy stays clean.
- Remap every key. One JSONC file, reloaded on save. Chords up to four strokes.
- Local models. Run open-weight models on your own machines with Grid, Ollama, MLX-LM and vLLM.
- Bytes, not pixels. Remote terminals stream text peer to peer. No remote desktop.
- Open source, all of it. App, CLI, daemon, relay and device, in this repo.
How it works
In the workspace, a harness is one running session of an agent such as Codex
or Claude Code, with its own conversation and working context. A tab groups
harnesses. Use New Harness to start one and New Tab to group work.
Harnesses in the same tab can message each other with harness send: Agent Messages,
an experiment of your account, off by default and turned on in Settings ▸ Experimental.
The Store offers harnesses with instructions, tools, and optional viewers for specific crafts. Install a harness, then start it in your workspace. See the Naming System for the complete naming rules.
One daemon per machine runs your agents in tmux. It dials out, so no machine opens a port.
Every path is sealed end to end: ChaCha20-Poly1305, X25519 session keys, pinned Ed25519 identities. Harness picks the best path on its own.
Direct. A WebRTC channel between your machines. No server in the path.
Through Cloudflare. When a firewall blocks the direct path, the same encrypted channel runs over Cloudflare's TURN network. Harness keeps trying for a direct path.
Through our relay. A fallback while WebRTC negotiates. The relay holds no keys and forwards ciphertext.
The architecture guide has the details.
Get started
Download the app for macOS or Linux.
Add a machine. Run this on it, then Machines → Link Machine in the app:
In a terminal: the same line installs hn — tmux's keys and your ~/.tmux.conf, with every
harness on every machine (hn). The first time, hn signs in and connects the
computer:
For agents: Claude Code and Codex can start, wait for and read other harnesses with the harness skill
(harness.autonomous.ai/agents, which has the Codex lines too):
Build from source
Needs Node.js 20+, tmux, Xcode and Flutter 3.47+ / Dart 3.13+:
make install-cli installs this checkout's CLI and restarts the local daemon. See the
development guide.
Beyond code: Build across disciplines
“World-class entrepreneurs are polymaths.” — Peter Thiel
Coding agents can build far more than software. Give one a harness and it works with the real tools of a craft. You steer in a live viewer. Every clip below is a real session.
Beyond code: Design
Blender. Ask for a lamp and the sliders that matter. Turn them and Blender rebuilds the geometry. Keep the versions you love.
Beyond code: Circuits
CircuitJS. Build a filter. Change one resistor. Overlay the new trace, measure the difference and keep both.
Beyond code: Robotics
MuJoCo. Pin a moment in a robot's run. Shove it with 100 N. Watch two futures split.
[A Unitree Go2 in MuJoCo: the original and shoved futures play together with a height chart.]
Beyond code: Games
Godogen. Your agent makes a playable game. Miss a jump, rewind, try again. Pin the moment so the agent sees what you mean.
Beyond code: Music
Strudel. The track is code you can perform. Bring voices in and out, mark the good parts, keep the WAV. Hear it.
[A live Strudel performance: voice lanes play beside the code, and the take is kept with markers.]
Beyond code: Chemistry
RDKit. Turn a bond and watch the molecule move. Follow the real energy curve. Keep the pose worth a closer look.
[A bond scan in RDKit: the molecule rotates through sampled poses along an MMFF94 energy curve.]
Beyond code: Documents
Typst. Your agent writes a real PDF. Circle a detail, quote a line, leave a note. The next draft answers it.
Domain-specific harnesses (DSH)
Code is the common medium. Geometry scripts make parts. Netlists make boards. Animation code makes film.
A domain-specific harness turns a coding agent into a specialist. It brings the craft's instructions and skills, a pinned toolchain, a project template, checks and a live viewer. You chat on one side. The board, the part or the game takes shape on the other.
The agent does the reasoning. The harness supplies the tools and the view. It's a folder with a
harness.json, so adding a craft never touches the app.
49 harnesses in the Store
Upstream open-source tools and original workflows. 10 shared viewers install alongside the harnesses that need them. Unlisted experiments are not shown.
Build your own
The next harness is the one for your craft. Wrap a tool you love or your team's toolchain. It can live here or in your own repo. From this repo:
Press ⌘N → Hello World and say hello. The authoring guide covers the rest.
Harness device
Get a Harness device, or build your own from the files below. The firmware guide lists the supported boards and build commands, and the hardware guide covers the design files.
The optional Harness device is a round, always-on display that sits beside your keyboard and shows your agents at a glance: what each one is doing, which one has finished, and which one is waiting on you. Read a question and answer it on the screen, or tap and speak a new task, without switching windows.
It is open hardware, all the way down. This repository has everything it takes to build one:
Contribute
Make a harness for a tool you love. Improve terminals, engines, the daemon or the relay. Port the firmware. Start with the contribution guide.
Architecture · Product direction (proposal) · Development · Extending · CLI · Security · MIT license; upstream tools keep their own.
Source: README.md at commit cd9684c
Tools
0Version history
1- v0.4.20LatestOct 19, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts