Open source · local-first · MIT

Don’t start the next chat from zero.

When one coding agent stops, Hermes packs the work on your disk and hands it to the next. Same folder. Same machine.

$ curl -fsSL https://tryhermes.pages.dev/install | sh

Then, in the project you were actually editing:

$ hermes handoff cursor antigravity

Claude Code · Codex · Cursor · Cline · Kimi · Antigravity · OpenCode · Pi Agent · Copilot CLI · ZCode · DeepSeek

Watch a handoff

Cursor stops. Hermes carries it. Antigravity continues.

This plays by itself. No video.

cursor ~/src/app

        
  1. Cursor
  2. Hermes
  3. Antigravity

Name the next stop

One name is the goal.
Two names: from, then to.

Stay in this folder

Pack this folder only.
Other windows stay out.

Stay on this machine

Work stays on disk.
No cloud and no upload.

Things to know.

What does Hermes put in the pack?
Git state, your goal, and a short excerpt from the chat that belongs to this folder. That is the brief the next agent reads.
Do I paste, or does the next agent open?
CLI tools such as Claude or Codex start with the pack if they are installed. Cursor and Antigravity get the brief on your clipboard. New chat, paste.
How do I pick among many chats?
hermes list --here shows sessions for this folder. Pass --id on handoff to choose one instead of the newest.
Does anything leave my machine?
No. Hermes does not upload the repo, open an account, or talk to a model. It writes a folder next to your project.
Does it merge two agents into one history?
No. One agent at a time. Hermes carries the work across. It does not blend two transcripts into a single native session.

Install

macOS and Linux. One binary. No npm.

$ curl -fsSL https://tryhermes.pages.dev/install | sh

New terminal, then hermes doctor. If it is not found: export PATH="$HOME/.local/bin:$PATH"