Skip to main content


A review-first desktop workspace for seventeen coding-agent CLIs. Every task gets its own Git worktree, a separate branch and checkout, so parallel agents never collide. See which runs need you, then review the diff before you merge.

17 built-in agents No account for the app Apache 2.0 Signed and notarized on macOS

A working model of the Daintree interface, running on sample project data.

Delegate. Monitor. Review. Merge.

That loop is the whole product, and it is the same loop whichever agent CLI you run. Generation is fast; review is the bottleneck.

  1. 01

    Delegate

    Point Daintree at a repo and create a worktree per task, by hand or straight from a GitHub issue. Each gets its own branch and checkout.

    Creating worktrees
  2. 02

    Monitor

    Launch any mix of agents across any number of projects. Pilot sorts every run by what is blocked, waiting and ready, so you check one list instead of twenty panels.

    Pilot
  3. 03

    Review

    An agent reporting done is a claim. Read the diff, check merge readiness, and read CI state from your connected forge before you decide anything.

    Review Hub
  4. 04

    Merge

    Commit, push and merge from inside Daintree, or hand the branch to your normal review process. The worktree cleans up behind you.

    Code forges
How Daintree differs from an agentic IDE
Agentic IDEDaintree
An editor with agents addedA review layer above agent CLIs
One workspace, one checkoutOne isolated worktree per task
Generation happens in the editorAttention routing and evidence across runs
The vendor’s agent, the vendor’s wayThe real CLI, your config, your subscription

Daintree is not another VS Code fork. It sits above the agent CLIs you already have, and it is built for delegating work rather than for typing it.

Works with the CLI you already run

  • Claude Code
  • Codex CLI
  • Antigravity
  • OpenCode
  • Cursor Agent
  • GitHub Copilot

Plus eleven more built in, and any other agent a plugin adds. Daintree launches the real binaries, so your config and your existing subscription carry over, and live state detection works the same way for every built-in agent. See all 17 built-in agents

Pilot

Twenty agents running. Three of them need you.

Checking twenty sessions one by one becomes the job. Pilot puts every run across every project in one view, grouped by project and ordered by what is blocked, what is waiting on an approval, and what is ready to read. Park anything that can wait and it drops out of the list until you want it back.

The ordering is computed from live agent state, and nothing about the view is saved. It opens on what is true now, not on a filter you set last week and forgot.

Pilot documentation

An illustration of the Pilot view: three projects, six agent runs. Two runs in daintree-website are blocked, one waiting on an approval and one on a question. Two runs in api-gateway are working. In mobile-client one run is blocked on a rate limit and one is parked.

Evidence before merge

Done is a claim. The diff is the evidence.

An agent that says it finished has told you what it believes. Review Hub puts what actually changed next to whether it can land: the full diff per worktree, merge readiness against your base branch, and the check state your code forge is reporting right now.

Read it, stage what you want, and commit and push without leaving the worktree. Or discard the branch and brief the agent again. Both are one decision, made with the same information a human reviewer would have.

Review Hub

An illustration of Review Hub for the branch fix/auth-retry: four changed files totalling 217 added and 39 removed lines, with merge readiness clean against main, four forge checks passed and one still running, three commits ahead, and nothing left uncommitted in the worktree.

One window for delegation, review, and merge

Claude Code
Gemini CLI
Codex CLI
OpenCode

Every Agent, One Window

Any mix of agents, running in parallel, each in its own isolated workspace

Parallel Worktrees

Every task gets its own branch, no collisions

@app.tsx /refactor optimize load...

Unified Input

One set of @files, /commands, and shortcuts, working with every agent

Chat Portal

Ask any agent a question without switching context

Issues 3 open
Add dark mode support #42
Fix auth redirect loop #39
Update API docs #37
2 worktrees created
issue-42-add-dark-mode
issue-39-fix-auth-redirect

GitHub Integration

Pick issues in bulk. Daintree spawns worktrees and agents for each, instantly.

Voice input, an MCP server, terminal recipes, plugins, themes and remote compute are all in here too. Explore feature guides

Daintree Assistant

Then hand the loop itself to an agent. The Assistant creates worktrees, launches runs across your projects, watches their state and opens the diffs for you, through Daintree's permissioned tool surface. Back it with a coding CLI you already have, or with the purpose-built Daintree Assistant, now in private testing. Daintree never bills you for a model call either way.

Meet the Assistant

Blast radius and trust

Every boundary is explicit

Nobody wants to leave an agent running unattended with permission checks off, and not deciding is how you end up babysitting it instead of working. Here is exactly what each boundary holds, and exactly where it stops.

  • Changes

    Every task gets its own branch and checkout

    A worktree keeps agents working at the same time from overwriting each other, and keeps their work out of the tree you are in.

    NotIt is Git isolation, not a sandbox. The agent process still runs as your user.

    Worktrees
  • Process

    Run the work somewhere that is not your laptop

    A worktree can carry its own environment: a Docker stack, a cloud VM, a remote sandbox. You supply the provision, pause and teardown commands and Daintree runs them on the worktree lifecycle.

    NotThis is where real process isolation comes from, and it is the level to reach for before turning permission checks off.

    Remote compute
  • Daintree itself

    No relay, no control plane, no account

    Your source, your diffs and your terminal output have no Daintree backend to pass through, because there is not one. Telemetry ships off. The MCP server ships off, and binds to localhost behind four authorization tiers when you turn it on.

    NotWhat an agent CLI sends to its own provider is between you and that tool. Plugins execute code, and a manifest declares intent rather than confining it. The Daintree Assistant, still in testing, will be the one component of ours with a service in that path.

    Trust and security
Latest release
See the changelog
License
Apache 2.0
Built-in agents
17
Contributors
5

Give every agent its own worktree

Run the real CLI, see what needs you, and review the diff before you merge.

No account for the app · Apache 2.0 · View source