On this page you will learn:
- how accounts, projects and workspaces nest;
- how a key limits an agent to one project;
- when to create a separate workspace and how to read access errors.
Running example: you run two projects, backend and mobile. The agent in the backend repository has no business seeing mobile app notes, and you want architecture decisions kept apart from the incident log.
How it nests
Section titled “How it nests” Account (personal space) Organization (separate space) │ │ ├── Project default ◀── key with no project binding │ └── workspace default ├── Project backend ◀── "backend" key │ ├── workspace default │ ├── workspace decisions │ └── workspace incidents └── Project mobile ◀── "mobile" key └── workspace mobile-notes- Account — your personal space. Accounts are fully isolated from each other.
- Project — the access boundary for a key. Your plan’s record limit is counted per project.
- Workspace (
workspace) — a named collection of records inside a project. Defaults todefault.
Projects and keys
Section titled “Projects and keys”Every account has a default project, created automatically on first use. A key that is not bound to a project works in it.
A key can be bound to a project in your account. An agent using such a key reads and writes only that project’s records: search will not return records from another project and forget cannot delete them. This is real access control, unlike the scope label.
For the running example: issue two keys, “backend” and “mobile”, and put each into the MCP config of the matching repository or client. More on keys: API keys and OAuth.
Workspaces
Section titled “Workspaces”A workspace is created automatically on its first write: just call remember with a new workspace.
{ "content": "User sessions are stored in Redis rather than PostgreSQL because we need TTL", "workspace": "decisions", "fact_key": "backend.sessions.storage"}What to know:
- Search covers one workspace.
searchlooks only in theworkspaceyou pass (defaultdefault). If the agent saved a decision indecisionsbut searchesdefault, it will not find it. Name your workspaces in the agent’s instructions (see Best practices). - Search does not create a workspace. If it does not exist yet,
searchreturns the errorworkspace '…' is not active. It needs at least one record first. - Conflicts are per workspace. Two records with the same
fact_keyin different workspaces do not conflict. - Workspace names are unique per account. A workspace belongs to the project it was created in. If
decisionswas created with a backend key, a mobile key gets403 Forbidden: workspace access denied for project. Pick another name for mobile, such asmobile-decisions. - Deleted names are not reused. Once a workspace is deleted, its name cannot be taken again:
workspace '…' was deleted and cannot be reused.
When to create a separate workspace
Section titled “When to create a separate workspace”Create one when records have a different lifecycle or a different reader:
| Workspace | What goes in | Why separate |
|---|---|---|
default | Current project facts: how to build, deploy, where things live | The main place to search |
decisions | Architecture decisions with reasons | Not buried among small facts |
incidents | Incident write-ups | Easy to clean up with forget by source_id |
docs | Facts extracted from documents, with source_id | Easy to check freshness with validate_memory |
Do not create a workspace per task or per day — the agent will not know where to look.
Limits
Section titled “Limits”Limits depend on your plan: records per project (Free 250, Starter up to 5,000 per project, Pro up to 100,000, Enterprise up to 1,000,000) and calls per minute. The number of records per workspace and per account is also capped. When a limit is hit, remember is rejected with a clear error while reads keep working. Details: Limits.
Organizations
Section titled “Organizations”An organization is a separate space with its own projects and records. A person has one login, a personal space and any number of organizations; the switcher is in your account. An organization never becomes the default space.
Members issue their own keys for working in an organization; admins can see and revoke keys but cannot reveal them. Inside an organization, on top of the project, each record has a visibility (author, department, project, whole organization). See Organizations and Visibility.