clone
Full per-session git clone. Use when worktrees fight your tooling.
Slot:
workspace · Name: cloneEvery session gets a full git clone. Heavier on disk than worktree, but simpler for any tooling that gets confused by the worktree layout.
macOSSupported
LinuxSupported
WindowsSupported
Use
workspace: clone
workspaceConfig:
cloneDir: ~/.ao-clones # default| Config key | Default | What it does |
|---|---|---|
cloneDir | ~/.ao-clones | Base directory for all clones |
How it works
- On spawn, AO runs
git clone --reference <source> <cloneDir>/{sessionId}. The--referenceflag means the new clone borrows objects from your existing checkout — much faster than a cold clone. - The agent gets a fully independent working tree with its own
.git. - On cleanup, the directory is removed outright.
When to pick this over worktree
- Your build tool walks
.gitand breaks on worktrees (rare but happens). - You want each session to have a completely fresh
node_modules/ target dir with no shared parent. - You're experimenting with agents on different remotes.
Knobs
projects:
web:
workspace: clone
postCreate:
- pnpm install --frozen-lockfilepostCreate runs after the clone succeeds. Useful for installing deps before the agent wakes up — the first impression matters.