Hermes Agent uses Ditto through a skill that calls the Ditto CLI. You don’t need a Ditto account before you start — Hermes sets everything up itself and sends you a claim link.
Paste this into Hermes
The fastest path: hand the whole job to the agent.
Install the Ditto memory skill from the ditto-assistant/ditto-hermes tap:
hermes skills tap add ditto-assistant/ditto-hermes
hermes skills install ditto-assistant/ditto-hermes/ditto
Then create your own Ditto account (no API key needed):
npx -y @heyditto/cli init --agent --agent-caller "hermes" --json
Send me the claimURL from the JSON response so I can claim the account.
Never share the API key — only the claim link.
Verify with: npx -y @heyditto/cli status
Hermes installs the skill, creates a free account with the key stored locally (it is never printed), and replies with a claimURL. Open it, sign in, and the account is yours — the agent keeps its key and memories after you claim. See Agent-Native Signup for how the claim flow works.
Prefer to run the commands yourself?
Install the skill:
hermes skills tap add ditto-assistant/ditto-hermes
hermes skills install ditto-assistant/ditto-hermes/ditto
Then let Hermes sign itself up:
npx -y @heyditto/cli init --agent --agent-caller "hermes" --json
The skill lives at ditto-assistant/ditto-hermes. If you already manage your own key, heyditto login <key> still works instead.
Verify
npx -y @heyditto/cli status
If the status shows an endpoint and an API key, Hermes is connected and will use Ditto memory when the conversation calls for it.
Troubleshooting
| Symptom | Fix |
|---|---|
hermes skills tap add fails | Confirm Hermes can reach GitHub and the tap is typed exactly: ditto-assistant/ditto-hermes. |
error: no Ditto API key configured | Re-run the init command above, then check npx -y @heyditto/cli status. |
| The claim link doesn’t work | Re-send the full claimURL, including everything after ?t=. |
| Skill config needs a redo | Run hermes skills config ditto to re-open the skill’s config prompt. |