Skip to main content
A lane is ADE’s name for a git worktree: an isolated branch and working copy for a single task. Each lane has its own files, branch, chat and terminal sessions, processes, diff, and PR — so several agents can work in the same repository at once without writing over each other or your main checkout.
The Lanes tab with a lane selected

Every task gets its own worktree, with its branch, PR, and checks in one place.

The primary lane vs. your lanes

When you open a repository, your existing checkout — the repo root — becomes the primary lane. It always exists and can’t be deleted. Agents can work in it, but it’s your real working tree, so the safer habit is to leave the primary lane alone and do agent work in fresh lanes. Everything else is a lane you create. Each new lane is its own git worktree under .ade/worktrees/, completely isolated from the primary checkout and from other lanes.
You don’t pick a “lane type” — the primary lane is just your repo root, and every other lane is a worktree. What differs is how you bring a lane into being.

Ways to create a lane

New worktree off a branch

Branch a fresh worktree from your default branch — or any other branch. This is the default, and the safest place for agent work.

Import an existing branch

Pull a branch you already have — local or remote — into a managed worktree, PR pills and all.

Attach an external worktree

Already made a git worktree outside ADE? Attach its path and ADE tracks it without ever moving or cleaning it.

The same lanes, everywhere

Lanes sync across every surface. Start one on the desktop, continue it in the terminal, check on it from your phone.
Lanes on the desktop

The Lanes tab on macOS.

What’s isolated to a lane

A lane is more than a branch — it’s a full parallel workspace.

Code & branch

A dedicated worktree and branch. Stashes, rebases, and merges stay local to the lane.

Sessions

Chats, terminals, and CLI sessions run scoped to the lane’s worktree.

Processes & ports

Dev servers and tests get their own port range and preview, so lanes don’t fight over 3000.

Diff & PR

A clear diff, conflict risk, and a PR link — review and ship each lane on its own.

The lane lifecycle

1

Create

Create a branch or work directly on an existing branch in a separate worktree.
2

Work

Open chat, terminals, Files, or Run — all scoped to the lane.
3

Review

Inspect the diff, tests, proof, History, and conflict risk.
4

Ship

Commit, push, open a PR, merge, then archive or delete the lane.
Every lane action is also available from the ade CLI:
Run ade lanes --help to see every flag.

Repos, projects, and worktrees

ADE has one rule for organizing your work: a repository is one project, and every working tree of that repository is a lane inside it.
  • The repository’s main checkout is the project root. It becomes the primary lane, which always exists and is edit-protected.
  • Lanes ADE creates for you live under .ade/worktrees/ inside the project.
  • Worktrees you created yourself with git worktree add can be attached as lanes too, wherever they live on disk.
This is why a worktree should not become its own project: it would split the same repository across two project entries, with separate lanes, chats, and state for what is really one codebase.

Opening a worktree

If you point ADE at a directory that is a linked worktree, ADE recognizes it and shows you what it found:
  • Already a lane — the folder is already attached to its project. ADE offers to open that project and jump straight to the lane, including its live status and any agents working in it.
  • Not a lane yet — ADE offers to attach it as a lane in the owning project and take you there. This is the recommended path.
  • Owning repo not added yet — ADE offers to add the main repository as the project and open the worktree as a lane in it, in one step.
You can still choose Open as a separate project if you really want the worktree to stand alone — for example, if your main clone is a bare repository and there is no primary checkout to open.

Merging a stray worktree project

If you added a worktree as a standalone project in the past, ADE marks it in the recent projects list with a worktree of … badge. From that row you can merge it into the owning project as a lane.
Merging re-homes the folder as a lane and removes the standalone project entry. Chats and sessions created while it was a standalone project stay under that retired project — they remain searchable, but they do not move into the owning project.

Bare repositories

Some workflows keep a bare clone plus a set of worktrees, with no main checkout at all. ADE cannot open a bare repository as a project today, so in that layout opening a worktree as its own project is the right call. ADE detects this case and skips the prompt.

Create lanes

Every way to start a lane, in detail.

Stacked pull requests

Review dependent branches with GitHub pull requests.