fleet, named, and delegated checkouts
Worktrees
#In a Git project DGC can isolate concurrent work so two agents do not fight over the same files. There are three kinds.
Fleet
#The launch agent stays in the checkout you selected. Every additional interactive agent (Ctrl+N) gets an owner-private dgc/fleet-* worktree with the source checkout's exact tracked and non-ignored untracked baseline. Each checkout has its own crash-safe mutation lease, so fleet writes can proceed concurrently.
Closing an untouched managed checkout removes it. Changed, committed, uncertain, or still-running work is retained with its visible branch and path. Reopening that saved conversation validates and reattaches to the same checkout. Non-Git projects say when they fall back to serialized shared-checkout writes.
The same rule holds in every folder an agent works in: an agent opened with /new DIR works in the folder itself, and a second one in a checkout an agent already works in gets a dgc/fleet-* worktree of that folder's project.
fleet_worktree_root (empty = ~/.dgc/fleet-worktrees) must sit outside the source repository.
Named
#/worktree <name> creates or switches to a deliberately named long-lived branch. Use it when you want a checkout you will keep, not an automatic fleet one. /worktree with no name lists them.
Delegated task
#A sub-agent in a Git project gets its own short-lived private checkout, populated with the caller's tracked and non-ignored untracked state. DGC applies only a completed child's conflict-free delta. It never auto-overwrites a path that was already dirty. Conflicting or incomplete work is retained with a visible path and branch.
/tasks lists retained work. /tasks apply ID recomputes the delta, rejects paths that were dirty before delegation or changed in the parent, and adds an applied result to /rewind. /tasks drop ID --confirm permanently removes the isolated checkout. The editor's command palette exposes the same typed recovery.
Delegation is refused outright in one case: a project that tracks two paths differing only in case on a filesystem that stores them as one file (macOS and Windows by default). There, an isolated checkout reports them as changed before anything touches them, and integrating its result would write one file's content over the other's. DGC names both paths and suggests git mv; renaming one makes delegation work again, as does keeping the project on a case-sensitive volume.
subagent_worktree_root (empty = ~/.dgc/worktrees) must sit outside the source repository. A delegated checkout has no node_modules, .venv or build output — the sub-agent is told what is missing and provisions its own. subagent_link_paths shares named Git-ignored directories with it instead, trading that isolation for the install time.
See Multiple agents for the dashboard, and Sub-agents for named specialists and background tasks.