Uninstalling Handshake removes it from all agent configurations, stops the background daemon, and optionally deletes the session database and the binary. The process takes about ten seconds and guides you through each decision with prompts.
Uninstall Command
Run the following from any terminal:
The command performs these steps in order:
Stop the daemon
Stops any running handshake serve process and removes the login service (launchd on macOS, systemd on Linux).
Deregister from all agents
Removes the Handshake MCP entry from Claude Code, OpenCode, Hermes, and Codex configuration files.
Prompt to delete session history
Asks whether to delete the ~/.handshake directory and everything in it. Your session history is preserved if you answer no.Delete session database? Your session history will be lost. [y/N]
Prompt to remove the binary
Asks whether to remove the handshake binary from your machine.Remove the handshake binary from your machine? [y/N]
Keep Your Session History
If you answer no to deleting the database, your sessions remain at ~/.handshake/sessions.db. Reinstall Handshake at any time and your full session history will be there waiting:
# Reinstall
brew install ThisisBankole/tools/handshake
handshake setup
Handshake detects the existing database and picks up where you left off.
Homebrew Uninstall
If you installed Handshake via Homebrew, the uninstall command detects this automatically. When you agree to remove the binary, it runs brew uninstall handshake instead of deleting the file directly:
Detected Homebrew install — running brew uninstall handshake...
✓ Binary removed via Homebrew
You do not need to run brew uninstall yourself — handshake uninstall handles it.
Manual Removal
If something goes wrong with the uninstall command, you can remove Handshake by hand:
Stop the daemon
pkill -f 'handshake serve'
Remove the login service
macOS:launchctl unload ~/Library/LaunchAgents/com.handshake.daemon.plist
rm ~/Library/LaunchAgents/com.handshake.daemon.plist
Linux:systemctl --user stop handshake
systemctl --user disable handshake
rm ~/.config/systemd/user/handshake.service
Remove agent config entries
Open each agent’s config file and remove the Handshake MCP server entry. The entry looks like:{
"handshake": {
"type": "http",
"url": "http://localhost:8765/mcp"
}
}
Config file locations vary by agent. Check each agent’s documentation for the path.
If you just want to stop Handshake temporarily without uninstalling, use handshake uninstall-service to remove the login service. Your agent registrations stay in place and you can restart the daemon at any time with handshake serve or re-install the service with handshake install-service.