Autohand Code supports Entire, a CLI tool that captures session checkpoints for coding agents. When enabled, Entire automatically records your agent sessions -- prompts, tool usage, file changes, and token consumption -- so you can rewind to earlier states, review session history, and preserve context across commits.
Entire integrates through Autohand's hooks system. When you enable Entire, it registers hooks in your .autohand/config.json that fire on session lifecycle events. Each time the agent completes a turn, Entire captures a checkpoint containing the full session transcript and a snapshot of changed files.
The flow looks like this:
- You start an Autohand session
- Entire's
session-starthook fires, initializing checkpoint tracking - Before each prompt,
pre-promptcaptures the user instruction - After each agent response,
stopsaves a full checkpoint (transcript + file state) - When the session ends,
session-endperforms cleanup
Checkpoints are stored on git shadow branches (entire/<hash>) and condensed to a permanent entire/checkpoints/v1 branch when you commit. Your working branch stays clean -- Entire never creates commits on it.
- Autohand Code CLI installed and working
- Git repository initialized
- Entire CLI installed (
brew install entireio/tap/entireor see Entire docs)
From within your git repository:
entire enable --agent autohand-codeThis command:
- Creates
.autohand/config.jsonif it does not exist - Registers five lifecycle hooks (see Hooks Installed below)
- Adds a permission rule to prevent Autohand from reading Entire's internal metadata
entire statusYou should see autohand-code listed as an active agent with hooks installed.
entire enable --agent autohand-code registers the following hooks in .autohand/config.json:
| Hook Event | Entire Command | Purpose |
|---|---|---|
session-start |
entire hooks autohand-code session-start |
Initialize session tracking |
pre-prompt |
entire hooks autohand-code pre-prompt |
Capture user prompt before agent processes it |
stop |
entire hooks autohand-code stop |
Save checkpoint after agent completes a turn |
session-end |
entire hooks autohand-code session-end |
Finalize session state |
subagent-stop |
entire hooks autohand-code subagent-stop |
Save checkpoint for subagent task completion |
All hooks are installed with a 10-second timeout and are enabled by default. Entire also adds a notification handler that is acknowledged but takes no checkpoint action.
After enabling, your .autohand/config.json will contain entries like:
{
"hooks": {
"hooks": [
{
"event": "session-start",
"command": "entire hooks autohand-code session-start",
"description": "Entire: session start checkpoint",
"enabled": true,
"timeout": 10000
},
{
"event": "stop",
"command": "entire hooks autohand-code stop",
"description": "Entire: save checkpoint on agent stop",
"enabled": true,
"timeout": 10000
}
]
},
"permissions": {
"rules": [
{
"tool": "read_file",
"pattern": ".entire/metadata/**",
"action": "deny"
}
]
}
}The permission rule prevents Autohand from reading Entire's internal session metadata files, which are not relevant to coding tasks.
Once Entire is enabled, it works automatically in the background. No changes to your Autohand workflow are needed.
entire logentire rewindSelect a checkpoint to restore both the working tree files and the session transcript to that point.
entire statusShows current session state, checkpoint count, and active agent.
To remove Entire hooks from your repository:
entire disable --agent autohand-codeThis removes all Entire hook entries from .autohand/config.json and cleans up the permission rules. Your existing checkpoints on entire/checkpoints/v1 are preserved.
- Confirm hooks are installed:
entire status
- Check that
.autohand/config.jsoncontains the Entire hooks:cat .autohand/config.json | grep "entire hooks"
- Verify Entire is on your PATH:
which entire
If Autohand runs in an environment where entire is not on the PATH (e.g., some IDE terminals), add the full path to the Entire binary in your hooks, or ensure your shell profile exports the correct PATH.
Entire condenses checkpoints to the permanent branch when you make a git commit. If you see checkpoints in entire status but not in entire log, make a commit to trigger condensation.
Each hook has a 10-second timeout. If your system is slow, hooks may time out. Check Entire's logs at .entire/logs/ for timeout errors. You can also temporarily disable individual hooks by setting "enabled": false in .autohand/config.json.
If hooks get out of sync, force a reinstall:
entire disable --agent autohand-code
entire enable --agent autohand-code