How it works
handshake setup installs two things into OpenCode:
- A JavaScript plugin at
~/.config/opencode/plugins/handshake.js— registered in OpenCode’s config under thepluginarray. After every response, this plugin keeps your session record up to date continuously. - An MCP server entry in
~/.config/opencode/opencode.jsonunder themcpkey — this is how OpenCode routescheckpoint,list, andrestorecommands to the Handshake daemon.
~/.local/share/opencode/opencode.db. Handshake reads this database safely in the background when generating a restore brief.
Setup
Run the setup wizard once:~/.config/opencode/opencode.json in a single step. If an OpenCode config already exists, the wizard backs it up before modifying it.
If OpenCode hasn’t been run yet and no config file exists at
~/.config/opencode/opencode.json, the wizard creates a fresh config with the Handshake MCP entry and plugin reference included.Checkpointing
You can checkpoint and restore sessions from inside OpenCode using natural language:Auto-sync
The OpenCode plugin sends session data to Handshake after every response automatically. You don’t need to manually checkpoint to keep your sessions current — the plugin handles that in the background. Explicitly sayingcheckpoint this session is useful when you want to add a summary and record key decisions to the session, which enriches the restore brief.