CLI Commands
Global flags
partio enable
Enable partio in the current Git repository.
What it does:
- Verifies you’re inside a Git repository
- Ensures the
.partio/config directory exists - Writes a default
settings.json(existing config is preserved) - Adds
.partio/settings.local.jsonto.gitignore - Installs Git hooks (
pre-commit,post-commit,pre-push) - Ensures the
partio/checkpoints/v1orphan branch exists
partio enable is idempotent — safe to re-run at any time to repair hooks or restore settings. Re-running preserves your existing configuration (it only flips enabled back to true if partio was disabled) and never overwrites custom values.
--absolute-path:
By default, hooks invoke partio by name and rely on PATH resolution at hook execution time. Use --absolute-path if partio is not on PATH in your hook execution environment — for example, when using nix, asdf, mise, or system-level git hooks.
partio enable prints a warning with integration instructions and continues (it does not abort). partio’s hooks must be invoked from within your hook manager’s configuration via partio _hook <hook-name> so both run:
partio disable
Disable partio in the current repository.
What it does:
- Removes partio-managed hooks from
.git/hooks/ - Restores any backed-up original hooks
- If
--remove-data: deletes.partio/directory
partio status
Show partio status for the current repository. Also runs automatic stale session cleanup before displaying results.
partio rewind
List or restore checkpoints.
--list output:
--list --branch output:
Filters the list to checkpoints whose branch name exactly matches the given value:
--to output:
partio/rewind/<id> checked out at the checkpoint’s commit.
If the original commit is no longer reachable (e.g. the branch was squash-merged and the original commits were garbage-collected), partio emits a warning and exits without creating a rewind branch — the session context is still shown:
partio resume
Resume a session from a checkpoint. Reads checkpoint data from the orphan branch and launches a new Claude Code session with the previous context.
Default behavior:
Writes a context file to a temporary directory and launches Claude Code with instructions to read it and continue the previous work. If Claude Code is not found in PATH, the context is printed to stdout instead.
With
--branch-name:
Finds all checkpoints for the named branch, selects the most recent one by creation time, and resumes it. This is the recommended approach for sessions whose branch was squash-merged into main:
<checkpoint-id> or --branch-name is required; invoking resume with neither exits non-zero with a usage error.
With --branch:
Creates a new branch named partio/resume/<id> checked out at the checkpoint’s commit before launching.
--print:
--copy:
Copies the context prompt to the system clipboard (macOS and Linux).
partio doctor
Check partio installation health.
.partio/directory existspre-commithook installed, readable, and managed by partiopost-commithook installed, readable, and managed by partiopre-pushhook installed, readable, and managed by partiopartio/checkpoints/v1branch exists- partio binary found in PATH
partio prune
Delete checkpoints older than a retention window from the partio/checkpoints/v1 branch.
The checkpoint linked to the current
HEAD is never removed. partio rebuilds the orphan branch’s tree with git plumbing to drop the pruned entries.
Dry-run output:
partio reset
Reset the checkpoint branch. This deletes all stored checkpoint data and recreates the branch.
partio clean
Remove orphaned checkpoint data.
partio cleanup
Manually clean up stale session files left behind by crashed or improperly terminated agent processes.
- It is in
ACTIVEorIDLEstate, and - Its state file has not been updated within the configured threshold (default: 10 minutes), and
- If a process ID is recorded, the agent process is no longer alive.
partio status also runs stale cleanup automatically before displaying results, so manual invocation is usually not necessary. Not to be confused with partio clean, which removes orphaned checkpoint data.