openharness
The ultimate harness for coding agents and beyond. All your agents. All your machines. One command center. Start with code, then follow your curiosity and build across disciplines: CAD, circuits, robots, games and music.
Install / Use
claude mcp add autonomous-ai -- npx -y github:autonomous-ai/openharnessIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
OtherSupported Platforms
Tags
Our assessment of openharness
openharness scores 93/100 on our quality scale, 18th of 250 Other skills we index (top 8%).
Its MCP Server is 16 KB long, well organised into 21 sections with 7 code examples: a thorough specification that gives an agent plenty to work with.
With 1,239 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated today, so openharness is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
openharness compared with similar skills
All 4 of these similar skills score higher than openharness; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| openharness (this skill)by autonomous-ai | 93 | 1.2k | today | MCP Server |
| Agent-Reachby Panniantong | 100 | 96.7k | 5d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 75.2k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.4k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 87.1k | today | MCP Server |
Frequently asked questions
- How do I install openharness?
- Run
claude mcp add autonomous-ai -- npx -y github:autonomous-ai/openharness. The install tabs above show the steps for each supported agent. - Which AI agents does openharness work with?
- It is written for Claude Code, Claude Desktop and OpenAI Codex, as a MCP Server file. Other agents that read the same format can often use it too.
- Is openharness safe to use?
- It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is openharness still maintained?
- The repository was last updated today, so openharness is actively maintained.
Skill content
View source on GitHubEvery agent, side by side
Claude Code, Codex, Cursor, OpenCode, Devin, Amp, Copilot and seven more.
<p align="center"><img src=".github/assets/readme/agents.gif" width="960" alt="Four agents working at once in one window: Claude Code and Codex on a MacBook, Cursor on an office desktop, OpenCode on a GPU box. Each pane shows its machine, project and branch."></p>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.
<p align="center"><img src=".github/assets/readme/machines.gif" width="960" alt="A new GPU box runs four setup commands and comes online. The app links it with its password, then starts Claude Code there."></p>Keyboard first
⌘P finds any harness on any machine. ⇧⌘I jumps to the harness waiting on you. ⌘D splits. Every key remaps.
<p align="center"><img src=".github/assets/readme/keyboard.gif" width="960" alt="Keyboard only: open a harness by typing a few letters, zoom it, jump to the agent asking a question and answer it, then split a new pane below."></p>End-to-end encrypted
Code, keys and keystrokes are sealed on your machine. The relay forwards bytes it can't read.
<p align="center"><img src=".github/assets/readme/e2ee.gif" width="960" alt="On the left, an agent rotates a secret and redeploys. On the right, the same harness as the relay sees it: numbered frames of ciphertext."></p>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.
flowchart LR
subgraph laptop["Your laptop"]
app["Harness app"] -- loopback --> d1["daemon"]
d1 --> a1["tmux · Claude Code · Codex"]
end
subgraph box["Your GPU box"]
d2["daemon"] --> a2["tmux · OpenCode · Hermes"]
end
device["Harness device"] -- USB --> d1
d1 <-. "direct WebRTC" .-> d2
d1 <-- "ciphertext" --> relay["Harness relay · no keys"]
relay <-- "ciphertext" --> d2
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.
<p align="center"><img src=".github/assets/readme/connect/direct.gif" width="800" alt="The Harness window connects straight to home-server, office-desktop, cloud-server and mac-mini over WebRTC, with no server in the path."></p>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.
<p align="center"><img src=".github/assets/readme/connect/cloudflare.gif" width="800" alt="The encrypted WebRTC channel passes through the nearest Cloudflare edge when a firewall blocks the direct path."></p>Through our relay. A fallback while WebRTC negotiates. The relay holds no keys and forwards ciphertext.
<p align="center"><img src=".github/assets/readme/connect/relay.gif" width="800" alt="The Harness relay keeps the harness reachable over its WebSocket while WebRTC negotiates. It holds no keys."></p>The architecture guide has the details.
<a id="run-it"></a>
Get started
Download the app for macOS or Linux.
Add a machine. Run this on it, then Machines → Link Machine in the app:
curl -fsSL https://harness.autonomous.ai/cli/install.sh | bash
harness login
harness remote-password set
harness start
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:
curl -fsSL https://harness.autonomous.ai/cli/install.sh | bash
hn
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):
claude plugin marketplace add autonomous-ai/openharness --sparse .claude-plugin plugins
claude plugin install harness@openharness
<details>
<summary><b>Build from source</b></summary>
Needs Node.js 20+, tmux, Xcode and Flutter 3.47+ / Dart 3.13+:
git clone https://github.com/autonomous-ai/openharness.git
cd openharness
(cd cli && npm ci)
make install-cli
cd desktop
flutter config --enable-swift-package-manager
flutter pub get
flutter run -d macos
make install-cli installs this checkout's CLI and restarts the local daemon. See the
development guide.
<a id="beyond-code"></a>
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.
<p align="center"><img src=".github/assets/readme/beyond/blender.gif" width="800" alt="Shape Lab in Blender: dragging height and twist sliders rebuilds a ribbon lamp, and chosen designs are kept."></p>Beyond code: Circuits
CircuitJS. Build a filter. Change one resistor. Overlay the new trace, measure the difference and keep both.
<p align="center"><img src=".github/assets/readme/beyond/circuitjs.gif" width="800" alt="Scope Lab in CircuitJS: an RC filter captured at 1 kΩ and 2 kΩ, traces overlaid and measured with cursors."></p>Beyond code: Robotics
MuJoCo. Pin a moment in a robot's run. Shove it with 100 N. Watch two futures split.
<p align="center"><img src=".github/assets/readme/beyond/mujoco.gif" width="800" alt="A Unitree Go2 in MuJoCo: the original and shoved futures play together with a height chart."></p>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.
<p align="center"><img src=".github/assets/readme/beyond/godogen.gif" width="800" alt="Alpine Drift, a game made with Godogen: a run is rewound, retried and a moment is pinned with feedback."></p>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.
<p align="center"><img src=".github/assets/readme/beyond/strudel.gif" width="800" alt="A live Strudel performance: voice lanes play beside the code, and the take is kept with markers."></p>Beyond code: Chemistry
RDKit. Turn a bond and watch the molecule move. Follow the real energy curve. Keep the pose worth a closer look.
<p align="center"><img src=".github/assets/readme/beyond/rdkit.gif" width="800" alt="A bond scan in RDKit: the molecule rotates through sampled poses along an MMFF94 energy curve."></p>Beyond code: Documents
Typst. Your agent writes a real PDF. Circle a detail, quote a line, leave a note. The next draft answers it.
<p align="center"><img src=".github/assets/readme/beyond/typst.gif" width="800" alt="A Typst PDF under review: notes are pinned to an area and a sentence, then carried to the next draft."></p>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
| Category | Agents and harnesses | |---|---| | Coding | Claude Code, Codex, Cursor, OpenCode, Pi, Hermes, Command Code, Devin, Muse Code, Amp, Antigravity, GitHub Copilot, Grok Build, Kilo Code, Machine Monitor, Trail of Bits Skills | | Essentials | Harness Monitor, Memories | | Design | Autonomous Workshop, Blender, Bonsai MCP, Creative Direction, Excalidraw, FreeCAD, Generative Art, OpenSCAD, text-to-cad | | Engineering | Autonomous Circuit, CircuitJS
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
96.7kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
75.2kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.4kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
87.1k🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
