Claude Code harness — guide
The Claude Code package lets you run your MeshWeaver chat threads on Anthropic's Claude Code CLI, under your own Claude subscription. Your threads, your mesh content and the mesh tools stay exactly as they are; what changes is the engine that executes each round of the conversation.
It is meant for people who already pay for Claude and want MeshWeaver's threads to use that subscription — and Claude Code's own agent loop — instead of the models the mesh provides.
Key concepts
- A harness, not an agent. A harness decides what executes the round. The agent you talk to, the thread, and the content it works on stay the same. Switching a thread back to the standard MeshWeaver path loses nothing.
- Personal, access-based opt-in. Getting the package gives you access to it, and the
chat's harness picker offers the harnesses of every package you can read — so the harness appears
in your picker, and in no one else's who has not got the package. Nothing is copied into your
home for this. (On installations that still copy app content into homes, the older behaviour, the
Store also places a copy at
{you}/Harness/ClaudeCode.) There is no shared key, and nothing is billed to the mesh. - One CLI session per thread. Each thread maps to one Claude Code session. Every round resumes that session, so the CLI keeps the earlier turns, its tool calls and their results itself; only your new message is sent. If the session cannot be resumed (the first round, or a thread that switched harness midway), the harness starts a fresh session and hands it the thread's earlier turns as a bounded transcript.
- The mesh as the toolset. The CLI reaches the mesh through MeshWeaver's MCP server, acting as you under your own credentials, so mesh access control applies unchanged. Every tool call appears in the thread.
Typical workflow
- Get the package from the Store. It is an option of the shared Threads app; there is no separate app tile.
- Open a thread and pick Claude Code as the harness.
- Run
/loginand choose browser login. Open the authorization page in a new tab, approve access, and paste the complete authorization code back into the thread. The CLI stores and refreshes the login itself; a token paste or a gateway login are available as alternatives. - Chat as usual. Answers stream token by token, and tool calls and their results render in the thread.
Uninstalling removes only a legacy home copy ({you}/Harness/…) where your installation made one;
it does not revoke your access to the package, so the picker keeps offering the harness and threads
that selected it keep using it. To stop using it, switch each thread to another harness — or to the
standard MeshWeaver agent path — in the picker; nothing breaks and no history is lost.
On the MeshWeaver desktop app
The desktop app runs its own mesh on your computer and uses the claude CLI installed there,
signed in with your own login. Open Settings → Claude Code (or Connect Claude Code… in the
Run with row above a thread's message box); the page checks your computer and names the next
step — install Claude Code, sign it in with claude auth login, then connect it to threads.
When a round fails
A failed round is never silent. If you are not logged in or your token was rejected, the thread
offers the /login step again. Other failures — the CLI could not start, it exited before reading
the message, or it ended without a verdict — are shown on the response with the CLI's own
verdict and the tail of its error output, with credentials redacted. A CLI that goes silent for
longer than the idle bound (two minutes by default) is stopped; a long tool loop that keeps
producing events is never cut off.
What you get
- Claude Code as an execution engine for every MeshWeaver thread you choose.
- Continuity across rounds through the CLI's own session store.
- The full mesh toolset through the MCP back-connection, under your own permissions.
- Your subscription, your login, your picker — nothing shared.
The deployment must load the package's runtime module, MeshWeaver.AI.ClaudeCode; getting the
package is your personal picker opt-in. How the harness drives the CLI, event by event, is
documented in How the harness drives the CLI.