Repo-local by default
The handoff lives inside the repository, so the next tool can inspect it, diff it, and trust it.
Keep work moving between tools
handover captures repo-local task state before one tool taps out, then lets the next tool resume from stable handover files instead of rebuilding context from scratch.
openusage-backedsummary.md
A short brief the next tool can actually use.
workspace.patch
+Next step: continue from the repo-local handoff.
+Target tool: codex
+binary-safe patch from git diff --binary HEAD --
handover --help
enable disable init install
capture on-event session-start
pending pickup run
render inspect status
adapters print-config
Why it works
The handoff lives inside the repository, so the next tool can inspect it, diff it, and trust it.
handover reacts to real tool activity instead of polling or guessing when the snapshot should happen.
openusage provides usage state. handover stays short-lived and file-oriented.
Workflow
Native hooks call handover on-event when a prompt submit, stop, or turn completion matters.
openusage provides normalized usage state, and handover writes the bundle only when the threshold is crossed.
The next tool reads .handover/current/summary.md and .handover/current/workspace.patch, or claims a pending bundle with pickup or run.
Files
.handover/current/summary.md
The stable summary with the current task, next step, and enough context to continue.
.handover/current/workspace.patch
A binary-safe patch for local uncommitted work that should travel with the handoff.
.handover/bundles/
Timestamped captures that can stay pending until the next tool claims them for the current project.
.handover/rendered/
Tool-facing material derived from the same canonical state when a specific surface needs custom output.
Current CLI
Bootstrap
enable disable init install
Capture
capture on-event session-start
Resume
pending pickup run
Inspect
render inspect status adapters print-config
Questions
Because the next tool can inspect, diff, and reuse the same state without depending on a hidden export format.
No. handover stays short-lived. openusage is the only daemon in the model.
Run enable, let real tool hooks drive capture, and use manual capture when a source tool surface is weak.