harnsyRU

Five agent terminals, and I've lost track of who's doing what.

Your harnesses. Working together.

harnsy turns Claude Code, Codex and OpenCode into a development team. You lead. They do the work.

Installing takes one sentence to your agent.

Install harnsy followinghttps://harnsy.dev/llms.txt

One agent plans, writes the code and holds the whole project in its head — by lunch it's mixing everything up.

In harnsy every agent has one role.

The lead keeps the plan, the developer writes code, the tester checks it. Each context holds only its own work.

How: each role gets its own session — Claude Code, Codex or OpenCode.

Role

Agentsacme-shop
NameHarnessRoleStatusContext
site-3fclaudeleadworking
41%
analyst-7acodexanalystworking
22%
site-9aclaudedeveloperworking
64%
qa-5eopencodetesteridle
12%
An example team. You decide the roles.

The backend agent finished the API, and I'm retelling it to the frontend agent by hand.

harnsy delivers each message straight into the recipient's session.

How: through each harness's own delivery — no inbox polling, no fake keystrokes. The graph shows who talks to whom.

A message straight into the session

Messagessite-3f ↔ analyst-7a
  • site-3f → analyst-7a
    Break down #42: double charge on a payment retry.
  • analyst-7a → site-3f
    Done: three cases, acceptance criteria in the task.
  • site-3f → analyst-7a
    What if two tabs pay at the same time?
  • analyst-7a → site-3f
    Added as case 3: one charge, the second tab sees “already paid”.
  • site-3f → analyst-7a
    Good. Passing it to site-9a.
Edge counts show messages. The dashed line is flagged as extra.

The agents write code faster than I can read it.

In harnsy you don't read every line: the task moves from role to role, and you accept the finished result.

In review you don't just click Accept or Return: write what to fix, and your comment lands in the lead's session right away. The lead sends the task back to whoever did it, with your words.

How: the lead assigns it, each role hands it on with evidence, and the finished card turns amber.

waits for you

Tasks
BoardArchiveDocuments
waits for you 0blocked 0all
▸New0
▸Taken0
▾In progress2
#42
analyst-7a · analyst2 min
#43
site-9a · developer1 h
▸Blocked0
▾In review0
▸Dropped0

  1. analyst-7a · analystAcceptance criteria
  2. site-9a · developerImplementation
  3. qa-5e · testerTests and evidence
  4. You · waits for youOpen #42 to accept or return with a comment

Open the task to tell the lead what to fix.

#42

Checkout: no double charge on retry

goes to the lead; the lead moves the card

Illustrative demo · #42: analyst → developer → tester → your acceptance.

Five agents on a phone: five chats, and someone in each is waiting for an answer.

In harnsy you have one way in: the lead. Even from your phone.

How: the lead hands out tasks and brings you only questions and finished work. From your phone, through your Claude Code's Remote Control.

You lead

1 · Set the task

#42 · Checkout: no double charge on retry

2 · The lead asks

site-3f → you

Allow payment retries for 24 hours or 7 days?

3 · #42

waits for you

Your word goes to the lead.

You talk to one agent: site-3f.
Pavel speaks into his phone; the voice message goes to five lead agents, each reporting back.

I went from managing people and development teams to managing agents. Today I run digital departments from my phone: I talk to each department's lead, and the lead hands out tasks to agents and brings me questions and finished work. Agents still can't solve a whole task and make the right call on their own, so we need to stay in touch with them all the time. harnsy helps you build that process: you talk to your leads, not to the whole team.

Every new session starts with me explaining the project again.

You explain the project once — in the role document.

How: a new session joins by an invite link and reads its role first.

Role document

  1. Tell an agent how you work

    you → agent

    “Here’s how we work: the analyst writes acceptance criteria, a developer builds it, the tester checks against the criteria, and I accept the result.”

  2. It drafts the roles and invites the lead

    acme-shop
    leadfrom catalog · v3
    site-3f · working
    online
    analystfrom catalog · v3
    analyst-7a · working
    online
    developerfrom catalog · v3
    site-9a · working
    online
    testerfrom catalog · v3
    qa-5e · working
    online
    One lead, one analyst, one developer, one tester.
  3. The newcomer reads its role

    developeracme-shopv3
    Stack

    TypeScript · Node.js

    Build

    npm ci && npm test

    Rules

    One idempotency key per order. Verify retries before handing #42 to qa-5e.

    Skills

    checkout-review

    The newcomer reads the project rules before taking #42.

After compaction, the agent forgot what we agreed an hour ago.

harnsy swaps the agent; the work stays.

How: at 70% harnsy warns the lead, the agent writes a handover note, a fresh agent takes the same role.

Fresh agent · 3%

1 · Notice to the lead

site-9a («developer» in team acme-shop) is at 71% of its context (142k/200k), past the 70% threshold.

2 · Handover note

Owned: #42, payment retry

Decided: one idempotency key per order

Next: retry test after 24 h

3 · The same role

developer
site-9a · working
64%
The handover note carries #42 to site-b4.

A handover by written note, carried out by the agents, not infinite memory. A consultant helps while its session is open.

Rebooted, and spent half a day remembering which agent was doing what where.

One button, "Reopen disconnected", brings the whole team back.

How: harnsy opens a terminal per role, starts the harness and gives each agent back its own session.

Reopen disconnected

acme-shop

lead
site-3f · offline for 14 h
offline
analyst
analyst-7a · offline for 14 h
offline
developer
site-9a · offline for 14 h
offline
tester
qa-5e · offline for 14 h
offline
Click to restore the team

Terminals

Click the button: each role’s terminal will open here.

Needs WezTerm or tmux.

Came back an hour later. The agent had been waiting for my "yes" the whole time.

harnsy shows you where you're waited for.

How: the tray turns amber, the bell says who waits for what and opens that terminal.

The bell: what waits for you right now.

The weekly limit ran out on Wednesday. The work didn't.

Claude can hand routine work to another model.

How: through OpenCode a local or low-cost model joins the team, and harnsy carries its tasks.

site-3f → qwen-local

Messages
  • site-3f → qwen-local
    Label 500 payment logs: retry / cancellation / error.
  • qwen-local → site-3f
    Done, the file is in task #42.
Claude delegates routine work to a local model through OpenCode.

I train models. Claude runs the whole training process. Data labelling I gave to GLM on a subscription and to Qwen, which runs locally on my machine. They do it pretty well, and I don’t spend my Claude subscription on labelling.

Or ask Codex to review code written by Claude.

Give an agent production access? Scary.

harnsy joins your machines into a cluster — one network of agents.

So production gets its own agent, and only it holds the keys: the laptop agent never touches production — it asks.

How: every machine connects to the main one over a single connection, and agents write to each other at machine/agent.

prod/audit-3f

The laptop agent site-9a asks the production agent prod/audit-3f: “How many payment retries were there in the last day?” It answers: “37, including 2 double charges. Logs attached.” with payment-retries.log.

Do I have to leave Codex just to get my agents working together?

You don't have to: harnsy works on top of your harnesses as they are.

How: you stay in your own terminal; your teammates' messages arrive in the same session.

from qa-5e through harnsy

site-3flead · Claude Codeliveview only
❯ Check the checkout retry tests.

Reading the test results…

from qa-5e through harnsy❯ The retry tests pass. The report is ready for your review.

I’ll review the report and check the retry cases.

❯ 
Your usual session. A message from qa-5e arrives as a user turn.

harnsy doesn't run models or call their APIs — it only connects them.

I can’t give up my own harness. So harnsy doesn’t change how you work. It connects what you already have.

Another service to install. Which settings need changing this time?

Let your agent install it.

How: one sentence to your agent — it downloads the release, checks the checksum and asks you before each settings change.

Installing takes one sentence to your agent.

Install harnsy followinghttps://harnsy.dev/llms.txt

harnsy uninstall puts everything back.

[y/N]

harnsy install~/.claude/settings.json
-{}
+{
+  "hooks": {
+    "SessionStart": [
+      {
+        "hooks": [
Show the full change
/home/demo/.claude/settings.json (Claude Code) — proposed change:
--- /home/demo/.claude/settings.json
+++ /home/demo/.claude/settings.json (proposed)
@@ -1,1 +1,15 @@
-{}
+{
+  "hooks": {
+    "SessionStart": [
+      {
+        "hooks": [
+          {
+            "type": "command",
+            "command": "/home/demo/.local/share/harnsy/hooks/harnsy-introduce.py",
+            "timeout": 5
+          }
+        ]
+      }
+    ]
+  }
+}
Apply this change to /home/demo/.claude/settings.json? [y/N] 
The proposed edit and the installer’s question, before anything is written.

Honestly, I don’t know how to install harnsy by hand. My agents do it all for me 😄

Questions

What's a harness?

The program an AI agent runs in: Claude Code, Codex, OpenCode. harnsy doesn't replace them; it connects them.

What is harnsy, physically?

A small service on your machine and a dashboard in your browser.

What do I need first?

At least one harness installed and signed in. For agents to open each other: WezTerm or tmux.

What's in the free version?

The demo build: one project, up to 10 agents at once, no multi-machine mode.

Is it safe?

For now, at your own risk: harnsy connects agents that run commands. The dashboard and agent API are reachable only from your machine; machines talk over a separate token-checked connection that can be encrypted with TLS; harnsy never bypasses a harness’s permissions.

Do I pay for models separately?

Yes. harnsy doesn’t sell model access: it works with your Claude and ChatGPT subscriptions and the models you run through OpenCode.

Which systems?

Linux, macOS and Windows. Windows has no tray yet, and agents open only in WezTerm there.

Do I need a special terminal?

No. Without one, the agents you open yourself message each other and work in teams. To let agents open each other, pick WezTerm or tmux.

I work in VS Code. Will it work?

Messages, teams and the dashboard do. harnsy can’t open new agents for you in VS Code yet.

Do agents remember everything between sessions?

No. Handover notes and consultants carry the work. Dedicated memory is planned.

Where does my data go?

It stays on your machine, in ~/.harnsy. harnsy sends nothing anywhere itself, except to your own machines in a cluster.

Build your team today.

Installing takes one sentence to your agent.

Install harnsy followinghttps://harnsy.dev/llms.txt
A team of robots, each with its role: business analyst, backend developer, the lead in the middle, frontend developer, QA and DevOps.
site-3flead · Claude Codeliveview only
❯ Plan #42 with the team.

Waiting for the breakdown from analyst-7a…

from analyst-7a through harnsy❯ #42 broken down: three acceptance criteria, including a retry after 24 h.

I’ll hand #42 to site-9a.

❯