Agent teams for Claude Code and Codex
Claude Code agent teams and harnsy teams: what each does
This page is written by the makers of harnsy.
People ask whether harnsy is the same as Claude Code’s agent teams, and how to make a Claude Code session and a Codex session work together. This page answers both. Facts about Claude Code have a date and a link. If something is wrong, write to hello@harnsy.dev and we fix it.
What each does
| Claude Code agent teams | harnsy teams | |
|---|---|---|
| What it connects | Claude Code sessions: one leads, and its teammates are Claude Code sessions | Claude Code and Codex sessions you start yourself in your terminal or tmux, and OpenCode sessions started through harnsy |
| How they talk | Shared tasks and inter-agent messaging, with centralized management (its docs) | A message lands in the running session; the lead hands out work items |
| Where it runs | Inside Claude Code; its docs call it experimental and off by default | A program on your machine with a web dashboard; it runs without a key, with 1 organization, 2 projects and no limit on agents |
Claude Code agent teams. “Coordinate multiple Claude Code instances working together as a team, with shared tasks, inter-agent messaging, and centralized management.” One Claude Code session leads and its teammates are Claude Code sessions. Its docs call the feature experimental and off by default, and describe separate cross-session messaging between the Claude Code sessions you run yourself. Read 9 Oct 2026: code.claude.com/docs/en/agent-teams.
What harnsy adds around a team
harnsy is a developer tool that connects the Claude Code and Codex sessions you start yourself in your terminal or tmux, and OpenCode sessions started through harnsy, into a team, and asks you when it needs you. Around the team it keeps:
Lines marked “Since 0.10.0” arrive with harnsy 0.10.0 and are not in earlier versions.
- Roles. A role is a job with its duties, goals and the team’s rules. It stays when a session ends: a new session takes the role and reads what the last one left. Roles come from templates, with an overlay for your project, and each change is a new version, and earlier versions stay.
- A lead. Every team has a lead role at its root. The lead records what you asked for and delegates it to the roles; you accept or return the result on the task card.
- Competencies, written once. A competency is a job description kept once and shared by every company. A role takes one or more of them and adds only what differs in your project.
- Handover. When a session’s context fills, its lead is told to arrange a handover through a written note, and a fresh session takes the seat.
- A task board you accept. Work items, checklists, reports and screenshots, with questions, permission requests and acceptance waiting for you on the card.
- A blueprint of your whole organization, movable. With harnsy Max, export your organization and import it on another machine.
- Characters. Since 0.10.0. Every role can have a character: how it speaks, what matters to it, what it does first. It is part of the role text, so every agent seated on the role works in that character. You write it on the role’s profile (“Describe the character”), next to its avatar. It is per role, not per agent, and does not change what the model can do.
- Who reports to whom. Since 0.10.0. Roles form a tree under the lead: each agent knows its manager and its reports, and the Organizations page shows the tree (“Who reports to whom”). The tree shows the team’s structure; it is enforced only if Settings make it a rule.
- Hire a ready employee from the catalog. Since 0.10.0. Pick one from the harnsy catalog (hr.harnsy.dev) in Organizations › Hire an employee, see everything it brings before you hire, and it joins your organization and, if you choose, a project. Your project lead can also hire from the catalog when you ask it to, for example “assemble a team for this project”: it hires them one by one. You can also hire from a .harnsy file you add yourself; harnsy marks it “not verified” because it has no catalog signature. You are told about every hire an agent makes: who hired, which employee, which project. Catalog employees are written by the harnsy team; an AI agent checks each one and harnsy signs it before it is published. The signature shows the file is the one in the catalog; it does not promise that the employee is safe, so read what it brings before you hire.
- Skills that come with the employee. Since 0.10.0. A catalog employee can bring real skills: instructions and scripts for its job, which harnsy installs for the hired agent. When a lead hires an employee with skills, it waits for your one click. Skills are scripts that run on your machine; you see each one before you hire. This is for Claude Code agents.
Make Claude Code and Codex work together as one team: five steps
- Install harnsy. On Linux or macOS:
curl -fsSL https://harnsy.dev/install.sh | sh. On Windows, in PowerShell:irm https://harnsy.dev/install.ps1 | iex. The installer checks SHA256SUMS. Without a key, harnsy runs with 1 organization, 2 projects and no limit on agents. - Open Claude Code and Codex the way you always do (your terminal, or tmux). Claude Code shows up as soon as it runs. Codex needs the Codex CLI on your PATH and signed in; a Codex session appears after its first answer is written. Both show on the Agents page (menu group “Team”), with name, harness, role, status, idle time and context. A session harnsy did not open is marked “outside harnsy”, with a “Move into harnsy” button, and its role reads “no role” until you seat it.
- Tell each session to join. Say to it: “Read http://127.0.0.1:7788/llms.txt and use harnsy to communicate with the other agents.” The sentence is the same for Claude Code and Codex. It is for sessions that are already running;
harnsy installalso offers a start hook that briefs every new Claude Code and Codex session by itself (Codex may ask once to trust it). - Give it a seat. Open Organizations, then your project, pick a role card with a free seat and press “Invite”. The role page shows an invite link with a “copy” button; it works once, until the time shown. Paste it to the session as a message: the agent reads the role and claims the seat itself. You then see it under “Who is seated” on the role page, and the role shows on the Agents page.
- Send a first message. Tell the Codex session: “Send the Claude Code session <its name> a message saying hello via harnsy.” The agent runs
harnsy send <name> …(or the MCP tool harnsy_send). You see the message in System › Messages and in System › Links. If Codex is the one receiving, use its thread id, not its title.
Two things to know. For Claude Code, turn on “Allow work with harnsy” on System › Permissions (the installer offers it). For Codex, the Codex CLI must be on your PATH.
Where agent teams fit
- Built into Claude Code. Claude Code’s own agent teams and cross-session messaging work inside Claude Code; its docs call agent teams experimental and off by default.
- One tool. If Claude Code is the one tool you use, the built-in features may be all you need.
- Together. Claude Code and Codex sessions you start yourself in your terminal or tmux can join a harnsy team at the same time. This page says nothing about sessions started inside other tools.
Read more
- harnsy teams: what a team looks like, with example teams from other fields
- Task management for AI agents: the board, worktrees and acceptance
- Claude Code, Codex and OpenCode as one team: the article
Last full check
Last full check: 9 October 2026. The Claude Code card was read on its own page on the date shown. Facts about harnsy were confirmed against harnsy 0.9.1 on 9 Oct 2026; lines marked “Since 0.10.0” were confirmed against the development build on 9 Oct 2026. Found a mistake? hello@harnsy.dev.
Names are used only to identify the tools. harnsy is not affiliated with, or endorsed by, any of them. All names belong to their owners.