treelab

Say what you want built.

10 features in parallel, no conflict — productivity +++ Each in its own worktree; a real conflict stops the merge and is reported to you.

You speak plain language; the agent scopes, codes and ships, each task in its own worktree, no AI slop. It runs Treelab’s commands itself. You answer a few questions, approve the plan, then try the result.

Buy from your terminal

curl -fsS https://treelab.sh/install | /bin/bash

Paste it into Terminal: the assistant has you choose agents, project and objective, proposes a plan, then offers “Buy Treelab” or “Enter a key”. It then runs lab setup, which waits for your consent, and opens your first worktree in cmux.

Founder pack at €99 excl. VAT · 20 copies, same rights

macOS 13 or later, Claude Code or Codex, cmux. No Node, no telemetry.

An agent left alone drifts.

It grasps part of the task, codes fast, then wanders off. The slow part is not writing the code: it is catching up with what drifted.

  • A vague task

    Without scoping, the agent guesses what you meant and ships something else.

  • Lost context

    A session closes, the next one starts from scratch: you explain everything again.

  • No evidence

    “Done”, with no test and no trial: the defect shows up later, on your side.

A task, an objective, evidence.

Treelab gives Claude Code or Codex a complete method, applied to every task.

Scope before coding

When a worktree opens, grill-me asks ten questions at most, then the task is split into lots with measurable completion criteria.

One objective per lot, built for you

The /goal is rebuilt from the lot document: what to deliver and how to prove it. The agent goes straight to the point.

Prove before delivering

Passing tests, an independent review and a real check before every merge; you try the result before closing.

From purchase to delivery, in the real order.

You describe the task; the agent chains the steps in its cmux tab: it interviews you, sets its objective, tests, then moves on by itself. The terminals show the commands it runs.

Terminal — project-1
lab new project-1 feature-1 --title 'Add a search box' --agent claudePROJECT=project-1LANE=feature-1BRANCH=feat/feature-1BASE=origin/mainAGENT=claudelab: Next batches: unknown — planning will set them.lab launch project-1 feature-1PROJECT=project-1LANE=feature-1AGENT=claudeSYNC=up-to-datePROMPT_BYTES=566
Commands run by the agent, not by you: real output of lab new then lab launch, when it opens a worktree for a task. Demonstration project and CLI in English.

All four steps stay readable without animation.

  1. Step 1

    Buy, install, discover

    One command in Terminal, in four stages: prepare (agents, project, objective), plan, activate, start. To activate, the assistant offers to buy, or to enter the key received by email, then activates the licence on this Mac. To start, it runs lab setup, which backs up what it changes and waits for your approval before installing the lab CLI, the skills, the hooks and the review agents. From then on, the agent runs the lab commands; lab help, shown here, groups them by moment.

    Real lab output · demonstration projects

    lab helplab — from need to delivery, one lane at a time2. Start  lab new <lane> — open a lane for a new need3. Move forward  lab next <project> <lane> — move to the lane's next step  lab plan — see the lanes and their progress4. Finish  lab acceptance <project> <lane> --accept — record your agreement after the      trial
  2. Step 2

    Your first worktree, opened for you

    The installer registers your project and opens its first worktree in cmux: the agent starts from the objective you already chose and splits it into lots with completion criteria. Another repository is registered once, from inside it (lab onboard); after that, tell the agent each new task and it opens the next worktree.

    Real lab output · demonstration projects

    lab new project-1 feature-1 --title 'Add a search box' --agent claudePROJECT=project-1LANE=feature-1BRANCH=feat/feature-1BASE=origin/mainAGENT=claudelab: Next batches: unknown — planning will set them.lab launch project-1 feature-1PROJECT=project-1LANE=feature-1AGENT=claudeSYNC=up-to-datePROMPT_BYTES=566
  3. Step 3

    Let the agent work

    Every lot starts from a /goal built from its document: what to deliver and how to prove it. The agent works in stages, tests and keeps the log; an independent review and passing checks come before every merge. When its context grows heavy, the agent opens a fresh session itself, context intact.

    Real lab output · demonstration projects

    lab status project-2SLUG=feature-4BRANCH=feat/admin-overridesBATCH=lot-03-admin-overridesBATCH_STATE=in progressLANE_PHASE=workLAST_BATCH=yeslab next project-2 feature-4lab: Last planned batch — a check together will follow.lab plan project-1lab: 3 lanesLane              Presence   Done/total   Current batchfeature-1         alive      1/2          lot-02-search-results-page · Search…feature-2         alive      0/1          lot-01-feature-2 · Export orders as…feature-3         alive      1/1          —
  4. Step 4

    Try it, then deliver

    After the last lot, you try the result and give your approval: the agent records it, then delivers and removes the worktree, only after your explicit confirmation.

    Real lab output · demonstration projects

    lab next project-1 feature-3LANE_PHASE=in acceptancelab: Work finished — to try together. The lane feature-3 stays open.lab acceptance project-1 feature-3 --accept --evidence 'dark mode tried on every page'ACCEPTANCE=validPUSH=ok

As many worktrees as tasks. A scoped agent in each one.

Each worktree has its branch, its cmux tab and its agent. Several features move forward in parallel on one project; ask where each one stands and the agent tells you.

Diagram: three projects, six worktrees, each with its agent, rejoining their main branch once delivered.

Guide: git worktrees for coding agents in parallel

Resume without explaining again.

Each lot keeps its document: objective, log, evidence and a handoff that says where to pick up. The next session starts there.

The handoff, written by the agent

At the end of a lot, or when its context grows heavy, the agent writes where it stands and what remains.

A fresh session, in the same place

The agent opens the next session in the same cmux tab, with the objective rebuilt from the document.

Where each worktree stands

Ask where your worktrees stand: the agent reads lab status and lab plan, which recompute the progress of each one when displayed.

Real lab output · demonstration projects

lab status project-2SLUG=feature-4BRANCH=feat/admin-overridesBATCH=lot-03-admin-overridesBATCH_STATE=in progressLANE_PHASE=workLAST_BATCH=yeslab next project-2 feature-4lab: Last planned batch — a check together will follow.

Guide: the lot method, one objective per session

Destructive operations, refused by default.

Before each command, a hook looks at what the agent is about to do. Whatever erases work is refused, with the safe alternative; the agent carries on that way.

Real refusals from the hook, as the agent receives them

git reset --hardLAB: git reset --hard refused: it erases uncommitted work (yours or another session's). Alternative: a WIP commit, or a targeted git restore <file>. If the user explicitly asked for it, run it again with LAB_FORCE=1 before the command.git push --force origin mainLAB: git push --force (or refspec "+…", --mirror) to "main" refused: it rewrites the shared history and erases the commits merged by the other lanes. Alternative: push a batch branch (git push -u origin <branch>) and open a PR. LAB_FORCE does not lift it: ask the user to do it themselves if they really want it.rm -rf ../../project-2LAB: rm -rf "../../project-2" refused: outside the current worktree (or target not resolvable). Alternative: trash <path>, or an explicit path under the worktree. If the user explicitly asked for it, run it again with LAB_FORCE=1 before the command.

A closed list of common operations, not a sandbox: your agent’s permissions remain yours.

What the guardrails cover, and their limits

Nothing merges without evidence.

A lot only closes after your repository’s checks and a review by an agent that did not write the code.

The test seen failing first

Every fix starts with a test seen failing, then passing: a test never seen failing proves nothing.

A fresh-context review

A review agent reads the diff against the lot document and reports correctness gaps only.

Evidence kept

Commands, exit codes, screenshots: the evidence report stays with the lot, readable later.

The method does not guarantee defect-free code: the tests to run depend on your repository.

At least 9 actions from you for a worktree of 2 lots, with Claude Code.

The agent does the rest: plans, code, tests, review, merge and the next session.

  1. Describe the task
  2. Lot 1 · answer the scoping questions
  3. Lot 1 · confirm the summary
  4. Lot 1 · approve the plan
  5. Lot 2 · answer the scoping questions
  6. Lot 2 · confirm the summary
  7. Lot 2 · approve the plan
  8. Try the result, then approve it
  9. Confirm the closing

Counted on on a demonstration project: the real CLI runs the whole cycle, and each action is a moment where the method waits for your answer. A possible second round of questions and the permissions your agent asks for under your settings come on top.

Claude Code or Codex, chosen for each worktree.

Same skills, same hooks, same review agents. You keep your agent and your subscription; Treelab organises their work.

One agent per worktree

Say which one you want: each worktree keeps its agent, Claude Code or Codex, and the next session relaunches it.

Codex: a single approval

Codex asks you to approve the hooks once through /hooks; lab doctor checks they are active.

Coming

Artifacts and a front-end skill, on Codex as on Claude Code

Built-in visual previews and a front-end design skill, so Codex designs interfaces as well as Claude Code does. Under construction, no announced date.

Treelab is an independent product, with no affiliation to OpenAI, Anthropic or cmux.

Who is it for?

For you if

  • You code with Claude Code or Codex on a Mac, macOS 13 or later.
  • Your projects live in git repositories.
  • You run several tasks in parallel and do not want to lose track.
  • You are willing to scope, then try the result before delivering.

Not for you if

  • You are on Linux or Windows: macOS only for now.
  • You want an agent that ships alone, without your approval.
  • You need an interface entirely in another language: the CLI speaks English; only the agent replies in your Mac’s language.
  • You have neither Claude Code nor Codex: agent access is not included.

What just changed.

Version 1.0.1 · Merging no longer waits for a job that will never run

  • When a pull request is marked ready and a job is skipped by its own condition (a deployment limited to main, for example), lab merge merges it as soon as the rest is green, instead of waiting three hours.
  • If a job reserved for ready pull requests can no longer run because the workflow does not listen to ready_for_review, lab merge stops right away and says what to do: add ready_for_review to the pull_request types, or push a commit.
  • lab doctor reports this setup ahead of time.
  • A watcher already waiting resumes when you type lab merge again.

All release notes · To upgrade, ask your agent (lab update).

Install in 3 steps.

No account to create: everything starts in Terminal.

  1. Paste the command

    It starts the installation assistant in Terminal.

  2. Choose, then buy or activate

    The assistant has you choose agents, project and objective, proposes a plan, then offers “Acheter Treelab” (Buy) or “Saisir une clé” (Enter a key).

  3. Approve, then talk to the agent

    lab setup shows what it changes, backs it up and waits for your consent; the installer then opens your first worktree in cmux: all that is left is to say what you want built.

curl -fsS https://treelab.sh/install | /bin/bash

One payment. One licence. Lifetime updates.

Both offers include the same rights. The founder pack is limited to 20 copies. Buy from the terminal with the command above, or through each offer’s payment link: the key then arrives by email.

20 packs, same rights as the standard licence

Founder pack

€99

Excl. VAT · VAT depends on your country and status, shown before payment · one-time payment

  • One key, one activation at a time
  • Transfer to another machine
  • Lifetime updates, no subscription
  • macOS 13 or later
  • Package and installer in English
Pay for the founder pack by link

Reference price

Standard licence

€179

Excl. VAT · VAT depends on your country and status, shown before payment · one-time payment

  • One key, one activation at a time
  • Transfer to another machine
  • Lifetime updates, no subscription
  • macOS 13 or later
  • Package and installer in English
Pay for the standard licence by link

Right of withdrawal

Consumers: You have 14 calendar days from conclusion of the contract to withdraw without giving a reason. The key is supplied immediately only if you expressly request it and acknowledge losing this right when supply starts.

Without both a request for immediate supply and a separate acknowledgement, delivery waits until the withdrawal period ends. You may withdraw during that period.

A business customer has no withdrawal right reserved for consumers unless a legal rule applies to its situation.

Before you decide.

Is this another coding agent?

No. Treelab organises Claude Code or Codex’s work: the cycle, the lab commands the agent runs for you, the scoping and execution skills, the hooks, the review agents and the templates. Access to the agent remains separate. The CLI and its messages are in English; the agent replies in your Mac’s language.

How many projects and worktrees?

As many as you like: you register each repository once (lab onboard, from inside it), then the agent opens one worktree per task, several features in parallel on one project, and tells you where each one stands. One active lot and one live session per worktree.

What remains my responsibility?

Scoping, permissions and approving the result. The tests to run depend on your repository. The method and its guardrails do not guarantee defect-free code.

Can I go back?

Yes. Each update keeps the previous version, and your agent can return to it (lab update --rollback). Uninstalling replays its backups (lab uninstall). An anonymised diagnostic is prepared without sending anything (lab doctor --report); support is by email, with no guaranteed response time.

What happens after the 20 packs?

The founder offer closes on 30 November 2026 at midnight, Brussels time, or at the 20th place if that comes first. The standard licence remains a separate offer: an accepted price is never silently replaced. Availability is shared across languages and countries.

Your next task, delivered with its evidence.

One command to start. One-time payment, lifetime updates.

curl -fsS https://treelab.sh/install | /bin/bash