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
Other tools remember forever or plug into MCP. Hermes just carries the work across: this folder, this machine, one command.
✗ refills the bucket after the window
Date.now(). Injecting a clock…Done. Session checks now live in middleware/auth.ts and read from the store.
Picking up from Claude Code on main. The limiter works. The refill test fails because the bucket reads Date.now() directly.
Done. POST /api/upload is limited to 20 requests a minute per key.
You are continuing work from another coding agent / window. Do not restart from scratch…
## Goal
finish upload rate limit
Hands off between Claude Code · Codex · Cursor · Cline · Kimi · Antigravity · OpenCode · Pi Agent · Copilot CLI · ZCode · DeepSeek Harness
One rule.
One name is where the work goes. Two names are from, then to.
The rest of the CLI.
Pick the exact chat. Stay in this folder. Resume without globs. Check what Hermes can see.
- Branch: `main`
- Came from: `claude`
Things to know.
Hermes is a one-shot messenger. It packs this folder’s work and carries it to the next chat. That is the whole job.
What goes in the pack?
A handoff-<timestamp>/ folder next to your project. PROMPT.md is the brief the next agent reads. The rest is there if it wants to dig.
- PROMPT.md
- SUMMARY.md
- manifest.json
- git/diff.patch
- git/log.txt
- sessions/claude.md
- DECISIONS.md --decisions
- files/ --include-files
Do I paste, or does the next agent open?
CLI agents such as Claude Code or Codex start seeded from the pack when they are on your PATH. Editors such as Cursor and Antigravity get PROMPT.md on your clipboard: open a new chat and paste, or type @PROMPT.md. Force either path with --open, --no-open or --copy.
How do I pick one chat out of many?
hermes list --here shows the sessions for this folder. Filter with --agent cursor or -q keyword, then pass --id. A prefix of the id is enough. Without --id, Hermes takes the newest session that belongs to this folder.
Does anything leave my machine?
No. Hermes reads local git and local session files, then writes a folder on disk. No upload, no MCP server, no account.
Does it merge two agents into one history?
No. One agent at a time. Hermes never writes into Cursor or Claude databases and cannot restore an old Cursor composer id. The next agent starts a new chat with the brief.
Install in one line.
macOS and Linux. One binary. No npm, no plugin, no account.
curl -fsSL https://tryhermes.pages.dev/install | sh
hermes doctor