Ditto

Start typing to search...

Agent-Native Signup

Your agent creates its own Ditto account in one command and hands you a claim link — no API key to create or paste.

Agents can sign up for Ditto by themselves. The agent runs one command, gets a working account with memory, and sends you a claim link. You open the link, sign in, and the account — along with everything the agent has saved — becomes yours.

No dashboards, no API keys to copy, no pasting credentials into config files.

The Universal Prompt

Paste this into any agent that can run shell commands:

1. Pick your agent name. It labels every memory you save and is set once at
   signup, so choose it before running the command.

2. Create your Ditto account (replace NAME_OF_AGENT with the name):
   npx -y @heyditto/cli init --agent --agent-caller "NAME_OF_AGENT" --json

3. Send your human the claimURL from the JSON response so they can claim
   the account. Never share the API key — only the claim link.

The same prompt works for OpenClaw, Hermes, Claude Code, or anything else with a terminal.

What the command does

npx -y @heyditto/cli init --agent --agent-caller "NAME_OF_AGENT" --json
  • Creates a free Ditto account for the agent.
  • Stores the API key locally — it is never printed or shared.
  • Returns JSON with a claimURL for you.

The agent can verify everything worked with npx -y @heyditto/cli status.

Claiming the account

When your agent sends you the claim link:

  1. Open it.
  2. Sign in to Ditto.
  3. Confirm the claim.

The account is now yours. The agent keeps working with the same key and the same memories — nothing resets. Its memories appear in your graph as a thread named after the agent.

Why the name matters

--agent-caller is the agent’s name. It is set once at signup and labels everything the agent saves, so pick something you’ll recognize — openclaw, hermes, or whatever you call the agent. It can’t be renamed later.

When to use this

Use agent-native signup whenever an agent runs commands for itself: OpenClaw and Hermes skills, internal automations, CLI agents. If you’re connecting an MCP client like Claude or Cursor instead, see the Ditto MCP Server docs.

If something goes wrong

SymptomFix
error: no Ditto API key configuredRun the init command again, then check npx -y @heyditto/cli status.
The claim link doesn’t workMake sure the full URL was shared, including everything after ?t=.
You already manage your own API keyAgent-native signup is optional — heyditto login <key> still works.