Docs

How handoff works

The handoff file — .keepitmovin/current/handoff.md — is the shared continuity layer between your tools. Every tool reads it and updates it as it works, so the next tool starts informed instead of blank.

Receipt and compaction recovery

After a switch, the receiving tool is asked to emit one structured line restating the goal and next action. keepitmovin reports this as handoff received, not proof that the agent understood every detail. A missing receipt warns after 60 seconds and work continues.

Claude Code and Codex also write structured local compaction events. When one appears, keepitmovin refreshes the handoff and asks the same running tool to reread it. It records the recovery but does not switch tools.

What's in it

  • Current goal, working state, blockers, next step — the narrative sections, written by the active tool as it works.
  • Changed files and repository snapshot — refreshed automatically by keepitmovin on a timer, accurate even if the tool never updates them.
  • Switch history — one line per tool switch, trimmed to the last ten.
  • The reason the switch happened and a generated handoff prompt for the next tool.

It stays lean on purpose: raw git diff output is never stored, and only the most recent transcript excerpt is kept. If the narrative sections go stale while a tool is clearly still working, keepitmovin types a short visible reminder into the tool asking it to update the file.

What it costs

Nothing extra. The active tool maintains the narrative as part of its normal work — keepitmovin makes no additional AI calls to keep the file fresh.

The honest limitation

No coding agent currently exposes a reliable way to export its private live session. So when keepitmovin switches tools, the new tool starts a fresh session: it gets the handoff file — your goal, decisions, and recent changes — not the previous tool's private chat history. Practical continuity, stated plainly.

Safety

Handoff files capture task text, terminal output, and repository metadata, which can contain secrets. keepitmovin writes a .keepitmovin/.gitignore so these artifacts stay out of your repo, and best-effort redacts common credential formats before saving. Don't share them blindly. Run kim clear to delete them.