evo now runs inside locked-down sandboxes, most notably the Claude Science kernel. Until now evo assumed it could create .git directories, write to your home folder, and bind a local port for the dashboard. Hardened sandboxes block all three, so evo couldn't start there. This release removes those assumptions.
Run evo where .git is forbidden
Some sandboxes deny creating any path named .git, which breaks git worktree and even git init. The new gitdir backend relocates git's metadata elsewhere and shares the base repo's object store, so every experiment stays fully isolated (its own HEAD, index, and refs) without a single .git path ever being created.
- Per workspace:
evo config backend gitdir - Per experiment:
evo new --backend gitdir evo init --backend gitdirnow works in a plain directory with no existing repo. It relocates the base repo and commits your baseline.
Base relocation is independent of where experiments run, so a .git-free local base still works with remote execution (Modal, SSH).
Claude Science host
evo install claude-science sets evo up for the Claude Science kernel and defaults the workspace to the gitdir backend. Skills are published into the Claude Science catalog by the in-session setup skill.
Works without a writable home directory
When ~/.evo can't be created, evo falls back to a workspace-local home at .evo/home automatically. No need to set EVO_HOME by hand.
Dashboard in sandboxes
Relocated sandbox workspaces block the port the dashboard needs, so evo skips it there instead of crash-looping. Use evo status and evo tree for progress.
Codex hook fix
Fixes the PostToolUse hooks that showed a spinner and appeared to run forever after the 0.6.2 update. The launcher now bounds its work and fails open, so stuck hooks no longer pile up.
Windows
- gitdir writes its shared-object-store link correctly (forward slashes, bare LF), fixing "parent commit not found".
- Workspace lookup no longer mistakes the global evo home for a workspace root.
Full diff: v0.6.2...v0.7.0