What happened?
When entire enable is run on a second device in a repo that already has a checkpoint_remote configured and an existing entire/checkpoints/v1 branch in that remote, it creates a fresh empty orphan branch locally rather than fetching the existing one. This makes entire checkpoint list return no results, and a subsequent git fetch from the checkpoint remote is rejected as non-fast-forward because the local orphan has a different history.
Steps to reproduce
- Enable Entire on device A with a
checkpoint_remote configured in .entire/settings.json
- Commit and push — checkpoint data is written to the checkpoint remote's
entire/checkpoints/v1 branch
- Clone or pull the repo on device B
- Run
entire enable -y --agent claude-code on device B
- Run
entire checkpoint list — shows 0 checkpoints
- Attempt to fetch:
git fetch https://github.com/<org>/checkpoints entire/checkpoints/v1:entire/checkpoints/v1 — rejected as non-fast-forward
Expected behaviour
entire enable should detect that a checkpoint_remote is configured and that entire/checkpoints/v1 already exists there, and fetch it locally instead of creating an empty orphan branch.
Actual behaviour
A fresh empty orphan entire/checkpoints/v1 is created locally, conflicting with the real branch in the checkpoint remote. The workaround is:
git fetch https://github.com/<org>/checkpoints entire/checkpoints/v1:entire/checkpoints/v1 --force
Entire CLI version
Entire CLI 0.6.3 (refs/tags/v0.6.3) Go version: go1.26.3 OS/Arch: darwin/arm64
OS and architecture
Darwin 25.5.0 arm64 Darwin / Linux 6.18.26 x86_64 GNU/Linux
Agent
Claude Code
Terminal
cmux
Logs / debug output
Additional context
I setup entire in my NixOS flake here, which contains .entire/settings.json and other configuration: stackptr/rc#502
What happened?
When
entire enableis run on a second device in a repo that already has acheckpoint_remoteconfigured and an existingentire/checkpoints/v1branch in that remote, it creates a fresh empty orphan branch locally rather than fetching the existing one. This makesentire checkpoint listreturn no results, and a subsequentgit fetchfrom the checkpoint remote is rejected as non-fast-forward because the local orphan has a different history.Steps to reproduce
checkpoint_remoteconfigured in.entire/settings.jsonentire/checkpoints/v1branchentire enable -y --agent claude-codeon device Bentire checkpoint list— shows 0 checkpointsgit fetch https://github.com/<org>/checkpoints entire/checkpoints/v1:entire/checkpoints/v1— rejected as non-fast-forwardExpected behaviour
entire enableshould detect that acheckpoint_remoteis configured and thatentire/checkpoints/v1already exists there, and fetch it locally instead of creating an empty orphan branch.Actual behaviour
A fresh empty orphan
entire/checkpoints/v1is created locally, conflicting with the real branch in the checkpoint remote. The workaround is:Entire CLI version
Entire CLI 0.6.3 (refs/tags/v0.6.3) Go version: go1.26.3 OS/Arch: darwin/arm64
OS and architecture
Darwin 25.5.0 arm64 Darwin / Linux 6.18.26 x86_64 GNU/Linux
Agent
Claude Code
Terminal
cmux
Logs / debug output
Additional context
I setup
entirein my NixOS flake here, which contains.entire/settings.jsonand other configuration: stackptr/rc#502