Entire hooks into your git workflow to capture AI agent sessions on every push. Sessions are indexed alongside commits, creating a searchable record of how code was written. Runs locally, stays in your repo.
# Install via Homebrew (requires SSH access)
brew tap entirehq/tap git@github.com:entirehq/homebrew-entire.git
brew install entirehq/tap/entire
# Enable in your project
cd your-project && entire enable
# Check status
entire statusentire enableThis installs Claude Code and git hooks that automatically capture checkpoints whenever Claude Code makes changes. Your code commits stay clean—all session metadata is stored separately.
Just use Claude Code normally. Entire runs in the background, creating checkpoints automatically:
entire status # Check current session status anytimeIf you want to undo some changes and go back to an earlier checkpoint:
entire rewindThis shows all available checkpoints in the current session. Select one to restore your code to that exact state.
To see and restore sessions from earlier work:
entire resumeLists all past sessions with timestamps. You can view the conversation history or restore the code from any session.
entire disableRemoves the git hooks. Your code and commit history remain untouched.
A session represents a complete interaction with your AI agent, from start to finish. Each session captures all prompts, responses, files modified, and timestamps.
Session ID format: YYYY-MM-DD-<UUID> (e.g., 2026-01-08-abc123de-f456-7890-abcd-ef1234567890)
Sessions are stored separately from your code commits on the entire/sessions branch.
A checkpoint is a snapshot within a session that you can rewind to—a "save point" in your work.
When checkpoints are created:
- Manual-commit strategy: When you make a git commit
- Auto-commit strategy: After each agent response
Checkpoint IDs are 12-character hex strings (e.g., a3b2c4d5e6f7).
Entire offers two strategies for capturing your work:
| Aspect | Manual-Commit | Auto-Commit |
|---|---|---|
| Code commits | None on your branch | Created automatically after each agent response |
| Safe on main branch | Yes | No - creates commits |
| Rewind | Always possible, non-destructive | Full rewind on feature branches; logs-only on main |
| Best for | Most workflows - keeps git history clean | Teams wanting automatic code commits |
| Command | Description |
|---|---|
entire enable |
Enable Entire in your repository (uses manual-commit by default) |
entire disable |
Remove Entire hooks from repository |
entire status |
Show current session and strategy info |
entire rewind |
Rewind to a previous checkpoint |
entire resume |
Resume a previous session |
entire explain |
Explain a session or commit |
entire session |
View and manage sessions (list, show details, view logs) |
entire version |
Show Entire CLI version |
| Flag | Description |
|---|---|
--strategy <name> |
Strategy to use: manual-commit (default) or auto-commit |
--force, -f |
Force reinstall hooks (removes existing Entire hooks first) |
--local |
Write settings to settings.local.json instead of settings.json |
--project |
Write settings to settings.json even if it already exists |
--telemetry=false |
Disable anonymous usage analytics |
Examples:
# Use auto-commit strategy
entire enable --strategy auto-commit
# Force reinstall hooks
entire enable --force
# Save settings locally (not committed to git)
entire enable --localEntire uses two configuration files in the .entire/ directory:
Shared across the team, typically committed to git:
{
"strategy": "manual-commit",
"agent": "claude-code",
"enabled": true
}Personal overrides, gitignored by default:
{
"enabled": false,
"log_level": "debug"
}| Option | Values | Description |
|---|---|---|
strategy |
manual-commit, auto-commit |
Session capture strategy |
enabled |
true, false |
Enable/disable Entire |
agent |
claude-code, gemini, etc. |
AI agent to integrate with |
log_level |
debug, info, warn, error |
Logging verbosity |
strategy_options.push_sessions |
true, false |
Auto-push entire/sessions branch on git push |
Local settings override project settings field-by-field. When you run entire status, it shows both project and local (effective) settings.
| Issue | Solution |
|---|---|
| "Not a git repository" | Navigate to a git repository first |
| "Entire is disabled" | Run entire enable |
| "No rewind points found" | Work with Claude Code and commit (manual-commit) or wait for agent response (auto-commit) |
| "shadow branch conflict" | Run entire rewind reset --force |
| "session not found" | Check available sessions with entire session list |
If you see an error like this when running entire resume:
Failed to fetch metadata: failed to fetch entire/sessions from origin: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain
This is a known issue with go-git's SSH handling. Fix it by adding GitHub's host keys to your known_hosts file:
ssh-keyscan -t rsa github.com > ~/.ssh/known_hosts
ssh-keyscan -t ecdsa github.com >> ~/.ssh/known_hosts# Via environment variable
ENTIRE_LOG_LEVEL=debug entire status
# Or via settings.local.json
{
"log_level": "debug"
}# Reset shadow branch for current commit
entire rewind reset --force
# Disable and re-enable
entire disable && entire enable --forceFor screen reader users, enable accessible mode:
export ACCESSIBLE=1
entire enableThis uses simpler text prompts instead of interactive TUI elements.
This project uses mise for task automation and dependency management.
- mise - Install with
curl https://mise.run | sh
# Clone the repository
git clone <repo-url>
cd cli
# Install dependencies (including Go)
mise install
# Build the CLI
mise run build# Run tests
mise run test
# Run integration tests
mise run test:integration
# Run all tests (unit + integration, CI mode)
mise run test:ci
# Lint the code
mise run lint
# Format the code
mise run fmtcmd/entire/- Main CLI entry pointcmd/entire/cli/- CLI utilities and helperscmd/entire/cli/commands/- Command implementationscmd/entire/cli/strategy/- Session checkpoint strategiescmd/entire/cli/checkpoint/- Checkpoint storage abstractionscmd/entire/cli/session/- Session state managementcmd/entire/cli/integration_test/- Integration tests
entire --help # General help
entire <command> --help # Command-specific help- GitHub Issues: Report bugs or request features at https://github.com/entireio/cli/issues
- Contributing: See CONTRIBUTING.md for guidelines