What it is
Normally you sign up, then connect an agent. A temporary profile inverts that.anona start gives an agent a working memory before any account exists. A
person claims the result afterwards with anona login, and the memories the
agent stored while it waited are theirs.
This is path C of
The four ways to connect,
which is the one table of client against connection path — read it first if you
have not chosen a path yet.
A temporary profile is a memory workspace with no email address, no password
and nobody owning it. The only thing that identifies it is an opaque token
starting anona_tmp_, which the CLI keeps in ~/.anona/credentials.json (mode
600). The server keeps only a hash of it. The token is never printed, so that
file is its only copy.
That token works wherever an API key does, and on the remote /mcp endpoint,
so an agent can use it without a browser or a human in the loop.
On a temporary profile the MCP tools do not need a space_id: the profile has
exactly one space and omitting the argument uses it.
That space is default, and it is the only one the profile can hold: a write
naming any other space (a CLI --space, a REST space_id, an upload, an MCP
space_id) and POST /v1/spaces are refused with 403 temp_profile_single_space, so a typo cannot quietly create a second space.
Claim the profile to create more.
A signed-in account still has to name one, because an account may hold several
and a memory written to the wrong space looks exactly like success.
The limits
Start to finish
1
Install the CLI
Either package works. They share one credential file, so you can start with
one and claim with the other.
-U matters on pip. Without it, an existing older copy is left in
place and reported as a success, so anona record fails with
invalid choice. anona --help lists what you actually have. If pip
answers externally-managed-environment it is refusing a system Python;
use uvx below or pipx install anona.With nothing installed: uvx --from anona anona start, or
npx @anona-labs/memory start. Both always run the current version, which
makes them the shortest path on a machine that already has an old copy.2
Start a profile
anona start prints its
deadline and creates nothing.3
Connect your client
The server is a stdio server named
anona, launched as anona mcp.
Register it the way your client does:Restart the client so it loads the tools. Then
record something. The
profile’s one space, default, is created with the profile, so a
retrieve before any record returns an empty result rather than an
error — and no call needs to name a space.4
Or skip the client
A temporary profile is also usable straight from the shell, which is the
path to take when a client cannot do MCP, or before a restart has loaded
the tools:On a temporary profile no
--space is needed: its one space is
default. See record, retrieve, reason.5
Check the deadline
status reads only the local file. It cannot tell you the server still
holds the profile.The CLI’s default is https://memory.anonalabs.com, not the api. host
the rest of these docs use. Both reach the same API. What matters is
keeping to one: the CLI ties a stored credential to the host it was issued
for, and refuses a --base-url naming a different one rather than send
the credential there. anona login --base-url ... is how you switch. So
leave the CLI on its default. For your own REST calls, such as the curl
below, api.anonalabs.com is the default and memory.anonalabs.com works
too, and the token is valid on either.6
Claim it
anona mcp.
Over SSH or in a
container, anona login prints the URL instead; open it on the machine
running the command, or add --no-browser to skip the attempt to open one.7
Confirm
Reminders on the MCP connection
An agent is told about the deadline by the server, not only by its setup prompt, so a later session that never saw the prompt still knows:- The MCP
initializereply carries instructions naming the deadline and saying thatanona loginclaims the profile, and that an agent with a shell tool can run it itself. - A tool result carries a second text item,
[Anona notice for the agent], about once an hour per profile, and every 15 minutes in the last 24 hours.
What claiming does
What happens depends on whether the account you sign in with is new. A new account takes over the profile’s workspace.anona login attaches it
to the workspace that already holds the agent’s memories, and renames that
workspace to the organization name you chose at signup. Nothing is copied.
Afterwards it is an ordinary account, indistinguishable from one that signed up
first.
- The ceiling rises from 1,000 to 5,000 credits.
- Credits already spent carry over. A profile that used 800 credits has 4,200 left, not 5,000. The allowance cannot be collected twice by claiming.
- The memories are the same ones. Nothing is copied, so nothing is lost or duplicated.
- The temporary token is destroyed. Whatever the agent was holding stops working, and you use the account’s own sign-in or an API key from here on.
- A confirmation email names the space and your real balance.
Claiming into an account you already have
Sign in with your existing account and the profile’s space is copied into it as a new space. Your account stays where it is.- The copy is named after the profile’s space. That is usually
default, and since your account most likely has its owndefault, the copy becomesdefault-claimed(thendefault-claimed-2, and so on). The confirmation email names it, andanona spaces listshows it. Pass that name as the space when you want those memories. - Your other spaces and your credits do not change. Copying calls no model, so it costs nothing, and the credits the profile spent are not charged to you.
- Your plan’s space limit applies. If your account already has as many
spaces as its plan allows, the claim is refused with
claim_space_limit(HTTP 409) and nothing is copied. Delete a space or upgrade, then open the same sign-in link again before the 72 hours are up. - Webhooks on the profile are not copied. Set them up again on the new space if you want them.
Check the credit ceiling
With the CLI, read it withanona usage --json, which uses the stored token
without exposing it. The figures in these replies are illustrative:
~/.anona/credentials.json under temp_token. Treat it like
an API key: anyone holding it can read and write the profile. Past the ceiling, metered calls are
refused in the standard error envelope with a lowercase code; see
error codes.
Read it before and after claiming to see the effect. In the first production
run, 11 credits used before the claim read 5000 limit / 11 used / 4989 remaining after it. The temporary token stops working once claimed, so after
the claim make the same call with an API key from the dashboard.
Abandoning one
anona logout refuses to delete a live unclaimed profile, because the token
exists nowhere else and deleting the file strands the profile and everything in
it until the server removes it:
anona login --base-url ... also
replaces the stored profile. It prints a note first.
Failure modes
Related
- The anona CLI covers every command, and Sign in & credentials the order credentials are tried in.
- Self-onboarding prompt is a prompt that does all of this for you, and reports back when it is done.