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
Name
Harness
Role
Status
Context
site-3f
claude
lead
working
41%
analyst-7a
codex
analyst
working
22%
site-9a
claude
developer
working
64%
qa-5e
opencode
tester
idle
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
Linksacme-shopClick a line to read its conversation
claudecodexopencode
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
#42 waits for your acceptance: answer lead site-3f in its chat — “accepted” or “rework: …”
You accepted — waiting for the lead
analyst-7a · analyst2 min
📎 2waits for you
#43
#43 waits for your acceptance: answer lead site-3f in its chat — “accepted” or “rework: …”
You accepted — waiting for the lead
site-9a · developer1 h
waits for you
▸Blocked0
▾In review0
▸Dropped0
analyst-7a · analystAcceptance criteria
site-9a · developerImplementation
qa-5e · testerTests and evidence
You · waits for youOpen #42 to accept or return with a comment
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.
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.
Pavel Buchnev · CTO, author of harnsy
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
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.”
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.
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.
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.
Pavel Buchnev · CTO, author of harnsy
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
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.
Pavel Buchnev · CTO, author of harnsy
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.
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 😄
Pavel Buchnev · CTO, author of harnsy
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.