What is an agent harness?
An agent harness is the software around a coding agent that runs it: it starts and keeps sessions, gives the agent its tools, accounts and permissions, decides which machine it runs on, and lets you follow and steer it. The agent does the thinking; the harness runs it.
Contents
An agent harness is the software around a coding agent that actually runs it: it starts and keeps sessions, gives the agent its tools, accounts and permissions, decides which machine it runs on, and lets you follow and steer it. The agent (the model and its loop) does the thinking. The harness runs it.
We started calling Shuriken a harness on 21 October 2026.
Where the word comes from#
A horse's harness pulls nothing; it ties the horse to the cart and gives the driver the reins. A test harness runs code under fixed conditions. The agent kind borrows from both.
Anthropic uses the word for its own product. When it renamed the Claude Code SDK to the Claude Agent SDK, it wrote that "the agent harness that powers Claude Code (the Claude Code SDK) can power many other types of agents, too" (Anthropic, 29 September 2025). The same post describes what agents do inside it: "gather context -> take action -> verify work -> repeat." Its docs now use the word for Managed Agents as well: "A hosted agent harness that runs the agent loop" (Agent SDK overview).
Two levels of harness#
People use "harness" for two layers, and both uses are fair.
- The inner harness wraps a model and turns it into an agent. It runs the loop above, defines the tools, manages the context window and compaction, and asks permission before risky steps. In Claude Code you can see it at work: its tools have names like
Read,EditandBash, and the tools reference marksReadas needing no permission whileEditandBashdo./compactis the compaction step, run by hand. Claude Code is this layer for Claude models, and Codex is it for OpenAI's. The Claude Agent SDK hands you the same layer as a library, in Python or TypeScript, so you can build your own agent on it. - The outer harness wraps those agents and makes them livable: which account a chat runs on, which MCP servers it can reach, which computer it runs on, what happens when the laptop sleeps, and how you follow it from elsewhere. With bare Claude Code you do each of those by hand:
/loginto change account,claude mcp add --transport http notion https://mcp.notion.com/mcpto add a server (best practices), andclaude remote-controlto reach the session from your phone.
When people compare "harnesses" for Claude Code, they usually mean the outer kind: apps and tools that run Claude Code, Codex and friends. That's the meaning in the rest of this page.
Harness vs orchestrator vs IDE#
Most tools are a bit of each. A rough split:
| What it's for | Who decides the plan | Typical shape | |
|---|---|---|---|
| Harness | Running agents with your accounts, tools and machines; following and steering them | You, chat by chat | A desktop app, TUI or server that runs CLI agents |
| Orchestrator | Turning one goal into a plan, handing pieces to several agents, merging what comes back | A lead agent or the tool | A pipeline or "team" of agents with a coordinator |
| IDE | Writing and reading code, with AI help in the editor | You, line by line | An editor with an agent panel |
A harness can include some orchestration, and an IDE can run agents. The line we draw is what you hand over: to a harness, the plumbing; to an orchestrator, the plan as well.
What a good harness handles#
This is the list we hold Shuriken to, and a fair list to put to any tool that calls itself a harness:
- Separate checkouts for agents in one repo, usually a git worktree each, so two agents never edit the same file.
- The account each chat runs on, what happens at its 5-hour or weekly limit, and a reading of how much is left.
- MCP servers configured once and signed in once, for every agent that needs them.
- A way to approve, deny or pre-approve what agents do, and to answer their questions without hunting for the terminal tab they're in.
- The machine agents run on (a laptop, a desktop, a server), and what happens when its lid closes or the network drops.
- What is running right now, what it costs, and a notification when something needs you.
- A way to get the work out: checks, a merge, a pull request.
- Plain states: working, waiting or failed, not a spinner.
Why it matters more than it sounds#
Models get better every few months, and you get that for free. The harness is the part you live with every day, and it's where most of the lost time hides.
In our experience, when an agent stalls it's almost always one of these, and none of them is a thinking problem:
- The account hit its 5-hour limit at 3 p.m.
- An MCP server wants you to sign in again.
- The laptop went to sleep on the train.
- An approval sat unseen in a terminal tab for forty minutes.
A harness can stall the agent on its own, too. On 20 October 2026, Shuriken 5.0.0 on our own machine kept showing "Computer not reached" and reloading its window. One huge chat's history overflowed the stack when it loaded and froze the background service; the fix shipped in 5.1.0.
So the same agent can feel very different in two setups. Claude Code with one account, one terminal and no notifications is a different tool from Claude Code with spare accounts, shared MCP sign-ins, a server that never sleeps and a ping when it needs you, with the same model in both.
Examples#
A few different shapes, described from their own pages (read on 22 October 2026). The best Claude Code apps roundup compares more of them, with prices.
- Claude Agent SDK (Anthropic): the inner harness itself, as a library. You build your own agent on the same loop, tools and context management that power Claude Code.
- Claude Squad: a terminal app that will "manage multiple AI terminal agents like Claude Code, Codex, OpenCode, and Amp." Each agent runs in its own
tmuxsession with its own git worktree. Free and open source (AGPL-3.0). - Conductor: "Run parallel coding agents on your Mac." A Mac app that starts several agents (Claude Code, Codex, Cursor) in separate workspaces and lets you review and merge their changes.
- Remote Control (Anthropic): not a harness on its own, but a harness feature built into Claude Code. It connects a local session to the Claude app and claude.ai/code, so you can follow and answer it from your phone;
claude remote-controlstarts one, and/rchands over a session already running.
Where Shuriken fits#
Shuriken is an outer harness, made for people who run agents all day and are tired of juggling accounts. It doesn't replace any agent. It runs them.
- Agents: 67 coding agents, from Claude Code, Codex and Gemini CLI to Copilot, Cursor, OpenCode, Amp and goose, each with the sign-ins you already have. Every chat gets its own branch in its own worktree, except one Main chat per project for quick changes on your own branch.
- Accounts: you add your accounts and keys as sources. When the one in use reaches its limit (99% by default), source switching moves your chats to the one with the most room, inside the running chat and on every device at once.
- Tools: Global MCPs, one list of MCP servers for every project and account, signed in once.
- Machines: agents run on your own computers and servers, and our cloud only links devices and relays end-to-end encrypted messages. The background service keeps agents running with the window closed. Cocaine mode (yes, really) keeps a Mac working with the lid shut, and Windows and Linux got it in 5.1.
- You: Activity shows what every chat is doing, notifications tell you when one needs you, and the web app puts it all on your phone. Native iOS and Android apps are planned for November 2026.
We're experimenting with orchestration too. It isn't ready, so we don't sell it, and we're a harness, not an orchestrator gives the reasons we chose the word.
If you want a harness for the agents you already use, download Shuriken.
Sources
- Building agents with the Claude Agent SDK (Anthropic, 29 September 2025) (accessed 22 October 2026)
- Claude Squad README (accessed 22 October 2026)
- Conductor (accessed 22 October 2026)
- Continue local sessions from any device with Remote Control (Claude Code docs) (accessed 22 October 2026)
- Agent SDK overview (Claude Code docs) (accessed 25 October 2026)
- Tools reference (Claude Code docs) (accessed 25 October 2026)
- Best practices for Claude Code (Anthropic) (accessed 25 October 2026)
Frequently asked questions
What's the difference between a harness and an orchestrator?
A harness runs agents and gives them what they need: accounts, tools, machines, a way for you to follow them. An orchestrator goes further and plans the work, splits it across several agents and merges the results. Some tools do both.
Is Claude Code a harness?
Yes, around Claude models: Anthropic calls it the agent harness that powers Claude Code. Apps that run Claude Code, Codex and other agents are a harness one level up, around those agents.
Why does the harness matter if the model does the work?
Because most of what goes wrong day to day happens around the model: an account runs out, a tool needs signing in again, the laptop sleeps, an approval waits unseen. A good harness handles those so the agent keeps working.
Does a harness replace Claude Code or Codex?
Not the kind that runs CLI agents. Shuriken, for example, runs the real Claude Code, Codex and Gemini CLI with your own sign-ins; each agent stays itself.