Guide · Several agents

Several agents in parallel: from concept to finished feature.

One session waits for tests, a second for your answer, a third writes code. With several agents at once, a project moves faster, but only if every session knows what to do and you know what each one is doing. This guide shows the workflow with Claude Code or Codex and Workban.

  • Claude Code and Codex
  • Git worktrees
  • With OpenSpec
  • Updated October 30, 2026

The problem

More sessions, more chaos.

Working with an agent means a lot of waiting: for tests, for a build, for a question to be answered. A second and third session use that time. With every extra session, though, the risk grows that two work on the same file, that a task gets done twice or that a session has been waiting twenty minutes for your approval without you noticing.

Three things prevent that: a plan that cuts the work into independent tasks, a workspace of its own for every session and a shared overview that shows which session works on what and which one needs you.

Plan

First the concept, then the tasks.

One session does the planning on its own. It writes the concept and creates the tasks from it.

  1. 01

    Have the concept written

    Describe the project and have Claude Code or Codex write a concept: what gets built, which parts it has and which part waits for which.

  2. 02

    Cut it into independent tasks

    Tasks that touch separate areas of the code suit parallel work, such as API, interface and tests. What all of them need, such as a database schema or shared types, comes first as a task of its own.

  3. 03

    File the tasks

    The agent creates each task with a description and acceptance criteria in the backlog, without starting it. If a task depends on another, the description says so.

    workban task create "Passkeys: API endpoints" --assignee me --json

  4. 04

    Review

    Look over the tasks on the board before the work begins. Split what is too big, add what is missing.

With OpenSpec

A spec and a checklist before the sessions start.

OpenSpec is an open-source tool for spec-driven work with AI assistants, among them Claude Code and Codex. It fits well before the parallel build. There is no built-in link to Workban; the agent carries the tasks over with the CLI.

openspec init
Sets up OpenSpec in the repository. After that, its commands are available in the agent.
/opsx:propose
Writes, for one change under openspec/changes/<name>/, the proposal (proposal.md), the requirements (specs/), the technical approach (design.md) and a numbered checklist (tasks.md).
tasks.md → Workban
From the checklist's sections, the agent creates one Workban task per independent part and names the change's folder and the section in the description. Commit the folder before you create the worktrees, so every session has it.
/opsx:apply
Every session builds its section of the checklist under its Workban task. Tell it which section belongs to its task.
/opsx:verify, /opsx:archive
Checks that the build matches the spec and moves the finished change to openspec/changes/archive/ once all tasks are done.

Workspaces

Every session in its own worktree.

A Git worktree is another working folder of the same repository, with a branch of its own. That way two sessions never change the same files on disk.

git worktree add
git worktree add ../app-passkeys-api -b passkeys-api creates a folder next to the repository with its own branch. Start the session in there.
claude --worktree
Claude Code also creates the worktree itself when you start the session with --worktree.
.workban.toml
Lives in the repository, so it is in every worktree. The hooks recognize the project there just as in the main folder.
Dependencies
Every worktree needs its own install, such as pnpm install, before tests run there.

Start

Every session gets exactly one task.

You start the sessions one after another and tell each one which task to take.

  1. 01

    Open a session in the worktree

    Start Claude Code or Codex in the worktree's folder. When it starts, Workban shows what is running and what waits in the backlog.

  2. 02

    Assign the task

    Tell the session “do #31”. It reads the description, comments and attachments and starts the task before it changes the first file.

    workban task start 31 --agent claude-code --json

  3. 03

    The gate keeps it clean

    The gate counts per session: without a running task of its own, Workban holds back a session's changes, in Codex once the hooks are trusted. So every session works under its own task.

  4. 04

    Close and move on

    When a task is done, the session closes it with a comment and the link to the pull request. Then it can take the next one from the backlog.

    workban task done 31 --comment "API done, PR linked" --json

Overview

Which session works on what, and which one needs you.

From three sessions on, the overview matters more than any single one.

  • The board shows every task with person, agent and branch, and on the card whether the session is thinking, working, testing or asking you something
  • The Live page shows every session in one row: agent, task, project, branch, what it is doing right now and the last 30 minutes as a timeline
  • The “Needs you” filter shows your own sessions waiting for an approval, an answer or help. If one is waiting, a banner appears at the top, and “Live” in the sidebar carries the count
  • “Stuck” marks a session whose same tool call failed three times in 20 minutes, for Codex only for MCP calls
  • In tmux, every pane's status line shows with #{@workban_task} which task it is working on
  • You give approvals in the session's terminal. If your workspace turns on the terminal link, the card opens exactly that terminal, as long as your setup opens terminals through an address

Tips

What makes parallel work easier.

  • One task per session and one session per worktree
  • Shared foundations first: schema, types and interfaces in one task before the others start
  • Merge one after another and run the tests after each merge, so a conflict shows up where it starts
  • Turn on the knowledge: what one session has solved and proven, the next one finds instead of searching again
  • All sessions count against the same allowance of your subscription, such as Claude Max or ChatGPT Pro
  • If a task waits for someone else, it moves to On hold. Waiting time does not count as time worked

Cost

What the parallel work cost.

Every session books its token usage to its own task. In the end, every task shows what it cost, and the statistics add it up per project, per model and per period. That shows you which part of the project cost the most.

With a subscription, the number shows what the work would have cost at list prices. What you paid is the subscription.

Questions

What people often ask.

How many sessions make sense?
That depends on the project and on how many you can keep an eye on. The Live page and the “Needs you” filter help. Your subscription's allowance sets a limit too.
Can two sessions take the same task?
There is no lock against it. The board and workban task list show which task is already running and for whom, and you tell each session which one to take.
Subagents or several sessions?
A subagent works inside a session and under its task, good for research or partial steps. For independent tasks with a branch of their own, several sessions in their own worktrees are the clearer way: each has its task, its branch and its pull request.
Can Claude Code and Codex work side by side?
Yes. Every card shows which agent is working on it, and the statistics separate Claude Code, Codex and other agents.

Sources

Where the statements come from.

What this page says about other products comes from their own pages and announcements, as of the date above. Features and plans change; when in doubt, the source wins.

Get started

Try it with your next task.

Workban is free. Your workspace is ready in a minute, and the first task appears as soon as your agent gets going. The app itself speaks German for now.