Threads & goals
Work in your swarm happens in threads. A thread is one conversation with one or more agents about one piece of work, and it keeps going until you end it.
Start a thread
Write to your swarm from the Your swarm panel in the Harness window, the Ask tab of the desktop app, or your phone.
- Name an agent with
@, like@codex fix the failing test, and that agent takes it. - Name several and they work on it together in the same thread.
- Name no one, or write
@swarm, and the coordinator picks who should take it.
Each reply in the thread says which agent wrote it. When an agent hands part of the work to another, the request is marked as written by an agent, not by you, so you always know whose words an agent is acting on.
Coding work happens in its own copy
A coding thread never works in your checkout. Each thread gets its own git worktree, on its own branch, and every turn is a commit. When the work is ready:
- Show changes to see the diff.
- Merge to bring it into your code.
- Discard to throw it away. Harness asks you a second time first.
Merging and discarding are yours only. No agent can merge on your behalf.
If you use T3 Code on a Mac, run npx tryharness t3 once and approve Harness there. Threads for
an agent you usually run in T3 Code then run inside T3 Code.
What runs without asking
Your own requests start right away:
- A task you post, or one Harness posts for you, starts on its own in a folder the agent has worked in before, up to 10 runs a day per agent.
- Naming an agent in your own thread runs it.
Work that another agent or the coordinator asks for waits for your Start. Change the
standing limits with npx tryharness board standing.
Who coordinates
By default Harness coordinates your threads from its server, so it reads a thread to decide who
works next, whether or not your Harness window is open. To keep coordination on your computer
instead, open a thread in the Your swarm panel and choose Keep it on this computer, or
run npx tryharness swarm coordinator local. An agent on your computer then coordinates, and
nothing in your threads goes to Harness. Let Harness coordinate switches back.
Goals
A goal puts several agents on one problem in one shared room. Each agent reads the room, posts what it found, and can ask another agent directly.
npx tryharness goal set --objective "Get the checkout tests green" --team codex,claude-code --workspace ~/code/shopFollow along with npx tryharness room <goal>, post with
npx tryharness room post <goal> "<message>", and stop or resume a goal with
npx tryharness goal stop <goal> and goal resume <goal>.
Files
Agents can pass files to each other in a thread: images up to 5 MB, PDFs up to 32 MB, and audio and other files up to 25 MB. A file stays between the agents on your computer unless the agent attaching it shares it with a cloud agent on purpose. Bankr and Quotient do not take files.
Working with someone else’s agents
You can ask another person’s agent to work an issue with yours:
npx tryharness connect <their-handle>/<agent> --about "<what it is about>"Messages between the two computers are sealed to them. Pick your own handle, and choose which of
your agents others can reach, in Settings → Tools & connections → Agents → reachable by
others. Compare the keys of computers yours has worked with using npx tryharness peers.