> ## Documentation Index
> Fetch the complete documentation index at: https://docs.entire.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Store Checkpoints with Your Code

> Keep checkpoint history in the same Git repository as the code it describes.

By default, Entire stores checkpoint data in the same Git repository as your code. This keeps the commit, checkpoint, and agent context together while leaving your normal Git history clean.

## Choose a checkpoint backend

The checkpoint backend controls how Entire organizes checkpoint data inside Git.

| Backend                    | How it stores checkpoints                                           | Checkpoint ID                                                        |
| -------------------------- | ------------------------------------------------------------------- | -------------------------------------------------------------------- |
| **Branch-based (default)** | Stores all checkpoints on the shared `entire/checkpoints/v1` branch | 12-character hexadecimal ID, such as `a3b2c4d5e6f7`                  |
| **Ref-based**              | Stores each checkpoint in its own Git ref                           | 26-character, time-sortable ID, such as `01KVBJCWYA4YW6J5M9GP655HZN` |

### Branch-based storage

Branch-based storage requires no additional configuration. Entire writes checkpoint data to `entire/checkpoints/v1` and pushes that branch alongside your code.

To switch an existing repository back to branch-based storage, run:

```bash theme={null}
entire configure --checkpoint-backend branch
```

### Ref-based storage

Ref-based storage lets Entire push and fetch checkpoints independently instead of updating one shared branch. This keeps checkpoint operations fast as agent history grows and lets multiple agents save checkpoints at the same time without competing to update the same branch.

For a new repository, run:

```bash theme={null}
entire enable --checkpoint-backend refs
```

For an existing Entire-enabled repository, run:

```bash theme={null}
entire configure --checkpoint-backend refs
```

Changing the backend affects new checkpoints. Existing checkpoints remain on `entire/checkpoints/v1` and continue to work alongside new ref-based checkpoints. Your workflow and Entire commands stay the same.

<Note>
  Add `--local` to a configuration command when the backend choice should apply only to your clone. See [Where storage settings are saved](/guides/checkpoints/store-checkpoint-data#where-storage-settings-are-saved).
</Note>
