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.
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/bashPaste 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.
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.
Without scoping, the agent guesses what you meant and ships something else.
A session closes, the next one starts from scratch: you explain everything again.
“Done”, with no test and no trial: the defect shows up later, on your side.
Treelab gives Claude Code or Codex a complete method, applied to every task.
When a worktree opens, grill-me asks ten questions at most, then the task is split into lots with measurable completion criteria.
The /goal is rebuilt from the lot document: what to deliver and how to prove it. The agent goes straight to the point.
Passing tests, an independent review and a real check before every merge; you try the result before closing.
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.
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=566All four steps stay readable without animation.
Step 1
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 trialStep 2
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=566Step 3
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 —Step 4
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=okEach 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.
Each lot keeps its document: objective, log, evidence and a handoff that says where to pick up. The next session starts there.
At the end of a lot, or when its context grows heavy, the agent writes where it stands and what remains.
The agent opens the next session in the same cmux tab, with the objective rebuilt from the document.
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.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.
A lot only closes after your repository’s checks and a review by an agent that did not write the code.
Every fix starts with a test seen failing, then passing: a test never seen failing proves nothing.
A review agent reads the diff against the lot document and reports correctness gaps only.
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.
The agent does the rest: plans, code, tests, review, merge and the next session.
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.
Same skills, same hooks, same review agents. You keep your agent and your subscription; Treelab organises their work.
Say which one you want: each worktree keeps its agent, Claude Code or Codex, and the next session relaunches it.
Codex asks you to approve the hooks once through /hooks; lab doctor checks they are active.
Coming
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.
lab merge merges it as soon as the rest is green, instead of waiting three hours.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.lab merge again.All release notes · To upgrade, ask your agent (lab update).
No account to create: everything starts in Terminal.
It starts the installation assistant in Terminal.
The assistant has you choose agents, project and objective, proposes a plan, then offers “Acheter Treelab” (Buy) or “Saisir une clé” (Enter a key).
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/bashBoth 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
€99
Excl. VAT · VAT depends on your country and status, shown before payment · one-time payment
Reference price
€179
Excl. VAT · VAT depends on your country and status, shown before payment · one-time payment
Payment link: the key arrives by email.
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.
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.
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.
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.
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.
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.
One command to start. One-time payment, lifetime updates.
curl -fsS https://treelab.sh/install | /bin/bash