Agent Accounts
An agent account is a Ditto identity that an AI agent uses to read and write memory on its own. You can provision agent accounts programmatically, hand ownership to a person later, and keep tight control over what each agent can touch. Manage your agents in Settings → Agents.
See it live in Ditto under Settings → Agents.
Provisioning Agent Accounts
You can create an agent account with or without an owner up front:
- With an owner — provide the owner’s user ID or email when you create the account.
- Without an owner — omit the owner. The account is unowned, and a person claims it later.
When you provision an agent for an existing Ditto user, ownership is not silently linked. The user must approve through a consent URL; there is no automatic link. See App Permissions for how consent works.
Claiming Later
An unowned agent comes with a one-time claim token, shown once. Share the claim link, not the agent’s API key. The owner opens the link, signs in, and the account, along with every memory the agent has saved, becomes theirs. The agent keeps using the same key throughout, so claiming does not interrupt it.
This is the same flow the Ditto CLI uses when an agent self-provisions with init --agent.
Managing Agents
Each agent row shows its name, status (Active, Paused, or Revoked), a Read-only badge if applicable, and when it was claimed and last used. The controls:
- Pause / Resume — suspend an agent’s access temporarily. While paused, its key stops authenticating. Resume to restore it.
- Revoke — permanently disable the agent. Its credential is disabled immediately and it loses access to your memory. This cannot be undone.
- Read-only — block all writes to memory. The agent can read but cannot save, update, delete, or archive.
- Readable threads — restrict which threads the agent can read. By default an agent can read all threads; select specific threads to limit it to just those, and use Clear all to allow every thread again.
Pre-Subscribe to Foundation Graphs
When you provision an agent, you can pre-subscribe it to public foundation graphs such as @minos by listing their handles. The subscriptions apply to the agent’s own reads, never the owner’s main Ditto account. A graph must exist and be public to be subscribed; handles that are not found or not public are reported back and skipped, without failing provisioning. See Knowledge Graph Sharing for how subscriptions fold into search.
From the CLI, pass --subscribe at signup: heyditto init --agent --subscribe @minos — see Ditto CLI.
Connect Claude
The fastest way to give Claude Code its own agent account is the Connect Claude page at /connect/claude. No API key to create or paste; Claude signs itself up and sends you a claim link.
Open the live page at app.heyditto.ai/connect/claude.
The page walks you through installing the Ditto plugin for Claude Code and running the agent-native signup. What happens next:
- Claude Code installs the skill and creates its own Ditto account, with no API key to copy.
- It sends you a claim link when it is done.
- You open the link and sign in, and the account and every memory it saved become yours.
Only ever share the claim link, never the API key.
Related
- Connect Claude — connect Claude Code in a few steps
- Ditto CLI — the command surface agents use, including self-provisioning
- Agent-Native Signup — the claim flow in detail
- Knowledge Graph Sharing — foundation graphs and subscriptions
- Building Apps on Ditto — provision agents programmatically with admin keys