Capture the why behind your code changes.
partio hooks into Git workflows to capture AI agent sessions (Claude Code), preserving the reasoning behind code changes alongside the what that Git already tracks.
The "partial" version of entire.io.
go install github.com/partio-io/cli/cmd/partio@latestOr with Homebrew:
brew install partio-io/tap/partio# Enable in your repo
cd your-project
partio enable
# Code with Claude Code as usual, then commit
git commit -m "add new feature"
# partio automatically captures the AI session as a checkpoint
# View checkpoints
partio rewind --list
# Inspect a checkpoint
git show partio/checkpoints/v1:<shard>/<id>/0/full.jsonl
# Rewind to a checkpoint
partio rewind --to <id>
# Check status
partio status| Command | Description |
|---|---|
partio enable |
Set up partio in the current repo |
partio disable |
Remove hooks (preserves data) |
partio status |
Show current status |
partio rewind --list |
List all checkpoints |
partio rewind --to <id> |
Restore to a checkpoint |
partio doctor |
Check installation health |
partio reset |
Reset the checkpoint branch |
partio clean |
Remove orphaned data |
partio version |
Print version |
partio enableinstalls git hooks (pre-commit,post-commit,pre-push)- When you commit, hooks detect if Claude Code is running
- If active, it captures the JSONL transcript, calculates attribution, and creates a checkpoint
- Checkpoints are stored on an orphan branch (
partio/checkpoints/v1) using git plumbing - Commits are annotated with
Partio-CheckpointandPartio-Attributiontrailers - On push, the checkpoint branch is pushed alongside your code
partio fully supports git worktrees. Hooks are installed to the shared git directory (git rev-parse --git-common-dir) so they work across all worktrees. Session discovery walks up from the repo root to find the Claude Code session directory, which may be keyed to a parent workspace directory.
Checkpoints are stored on the partio/checkpoints/v1 orphan branch with this structure:
<shard>/<checkpoint-id>/
metadata.json # Checkpoint metadata (commit, branch, agent %, timestamps)
0/
metadata.json # Session metadata (agent, tokens, duration)
context.md # First 200 chars of the initial prompt
prompt.txt # Full initial human message
full.jsonl # Complete Claude Code transcript
content_hash.txt # Commit hash reference
You can inspect checkpoint data directly with git:
# List all checkpoint files
git ls-tree -r --name-only partio/checkpoints/v1
# View checkpoint metadata
git show partio/checkpoints/v1:<shard>/<id>/metadata.json
# View the full Claude session
git show partio/checkpoints/v1:<shard>/<id>/0/full.jsonlConfig files (highest priority wins):
- Environment variables (
PARTIO_ENABLED,PARTIO_STRATEGY,PARTIO_LOG_LEVEL) .partio/settings.local.json(git-ignored).partio/settings.json~/.config/partio/settings.json
{
"enabled": true,
"strategy": "manual-commit",
"agent": "claude-code",
"log_level": "info",
"strategy_options": { "push_sessions": true }
}MIT