> ## 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.

# Capture Checkpoints

> Learn how Entire turns agent work into committed checkpoints.

Entire captures session context while you work, then creates a committed checkpoint when that context is linked to a Git commit.

## How capture works

Checkpoint capture has two parts:

1. [Agent hooks](/agents/overview) collect session context, including prompts, transcript, tool activity, changed files, and token usage when available.
2. Git hooks link that captured context to a commit by adding an [`Entire-Checkpoint` trailer](/glossary#entire-checkpoint).

After the commit, Entire stores checkpoint metadata on the [`entire/checkpoints/v1` branch](/security#where-your-data-lives). Your working branch stays clean.

## Set up capture for an agent

For a new repository, enable Entire with the agent you use:

```bash theme={null}
entire enable --agent AGENT
```

For a repository where Entire is already enabled, add another agent:

```bash theme={null}
entire agent add AGENT
```

You can see the supported built-in agents in [Agents](/agents/overview), or run:

```bash theme={null}
entire agent list
```

## Commit after agent work

To capture agent-assisted work in a checkpoint:

1. Start your agent from an Entire-enabled repository.
2. Ask the agent to make a change.
3. Stage and commit the change with Git.

```bash theme={null}
git add .
git commit -m "Describe the change"
```

If Entire detects recent agent work, it may ask whether to link the commit to the session context. Choose `yes` to create the checkpoint. Choose `always` if you want Entire to remember that preference for future matching commits.

```text theme={null}
Entire: Active Codex session detected
  Last prompt: Add a user settings page...

Link this commit to session context?
  [Y]es / [n]o / [a]lways (remember my choice):
```

## Link future commits automatically

When the "Link this commit to session context?" prompt appears during `git commit`, choosing `yes` or `no` only applies to that one commit.

To link future matching commits in this repository without being prompted during `git commit`, set `commit_linking` to `always`.

Set `commit_linking` in one of these files:

* `.entire/settings.local.json` if this preference should only apply to you
* `.entire/settings.json` if this should be the team setting for the repository

```json theme={null}
{
  "commit_linking": "always"
}
```

## Let the agent commit

Your agent can also create commits for you. For example, you might ask it to make a focused change and commit when it is done.

Entire still uses the Git hooks to link the commit to the captured session context. If the agent makes several commits in one session, each commit gets its own checkpoint.

## Capture multiple commits from one session

A single agent session can produce multiple checkpoints. This happens when a long session creates several commits, or when you split the agent's work into smaller commits yourself.

Each commit gets its own checkpoint ID. The checkpoints can share the same session context so you can still inspect the prompts, transcript, and work that led to each commit.

## Capture one checkpoint from multiple sessions

One checkpoint can also include more than one session. This happens when several agent sessions contribute to the work before you make a single commit.

In Entire.io, those sessions appear together inside the checkpoint's Sessions tab. The checkpoint diff shows the combined change, while [session details](/guides/sessions/sessions-in-entire-io) show the context behind each contribution.

## What does not create a checkpoint

Entire needs captured session context and a Git commit to create a normal committed checkpoint.

A checkpoint may not appear when:

* Entire has not been enabled in the repository
* agent hooks were not installed for the agent you used
* the agent did not change files in the repository
* no commit was created
* a GUI Git client could not find the `entire` command from its Git hooks

If a checkpoint is missing or did not link where you expected, see [Troubleshooting](/guides/checkpoints/troubleshooting).
