Skip to main content
Handshake stores coding-agent sessions in a local database. You can restore a stored session in another supported agent.

What Handshake does

Handshake runs a daemon on a loopback address. Agent hooks and MCP tools send session information to the daemon. Handshake can also read native agent storage. When Handshake records a checkpoint, it can store:
  • The session messages.
  • The session title and native ID.
  • The working directory.
  • The Git branch and working-tree state.
  • A summary and settled decisions.
  • Factual project knowledge.
When you restore a session, Handshake creates a handoff brief. The brief gives the receiving agent the original goal, current state, settled decisions, and selected conversation messages.

Supported agents

See Connect agents for setup details.

Main functions

Session checkpoints

Record session messages, metadata, summaries, decisions, and Git state.

Session restore

Compare current Git state with the checkpoint before you load the handoff brief.

Session search

Search messages in one session or in all stored sessions.

Project knowledge

Store deterministic project facts and current AI-authored documents.

Local data and network access

Handshake stores its database at ~/.handshake/sessions.db. The daemon refuses non-loopback listen addresses and rejects non-loopback browser origins. Handshake makes a weekly request to GitHub to check for a release. Release builds can also send limited anonymous usage events. No session content, project name, prompt, or file path is in these events. See Privacy. Continue with the Quickstart.