Skip to main content
All commands operate on the client your session is bound to; you don’t pass a client id. Run any command with --help for its full options.

Global flags

These work on every command: Global flags may be placed before or after the command. Destructive commands accept --yes / -y to skip the confirmation prompt.

Environment variables

auth

Log in, log out, and switch accounts.

instances

Provision and manage memory instances.
A freshly created instance generates its memory architecture (MACA) in the background and stays pending until approved in the Dashboard. instances promote requires an approved config.

api-keys

Manage the runtime API keys your agents use with the SDK.
The plaintext key is returned only at creation. Copy it immediately and store it as SYNAP_API_KEY in your agent’s environment.

client

Inspect your client and manage its team.
An invite is pending until the invitee accepts it. They receive an email; if they don’t have a Synap account yet, the invite is applied when they sign up with that address. Pending invites show in both client members list and the Dashboard’s team list with state pending. An email can belong to only one client organization.

requests

Inspect request-level SDK activity: the same data as the Dashboard’s Requests view. Filters for requests list:

memories

Inspect stored memories (read-only; writes happen through the SDK at runtime). Filters for memories list:

privacy

Your sensitive-data controls: what gets detected, what happens to it, and who looked at it. Two things about this surface catch people out, so the CLI says them as it goes:
Saving is not turning on. privacy policy set writes a draft and changes nothing. privacy policy approve is the only command that makes a policy live.standard protects no identity. That preset leaves raw identity and contact info as “not sensitive”, so names, dates of birth and phone numbers are detected and never aliased. Only regulated protects them. privacy policy preset prints what a preset does, and which categories it leaves open, before applying it.
Settings for --set and --exception: not_sensitive, hide_from_model, protect_at_rest, protect_fully, never_store, client_vault.
A reveal made through the CLI is recorded against the API key that made it, not against a person, because a key is what made the request. If you need a named human on the audit row, do it in the Dashboard.

visibility

Which instances’ memories are visible to which other instances at retrieval time. The default is shared_all: every instance of your client shares memory. Switch the default to isolated and then grant only the pairs you want.
grant, revoke, share and set-mode read the current policy first and send its version back with the change. If somebody else edits the matrix at the same time, your command fails and writes nothing rather than overwriting theirs. Re-run it.

scoping

The scope ladder: your own hierarchy of levels, and the per-instance switch that turns nested scoping on.
Nested scoping is off by default, and every instance ships following that default. A ladder can exist, be accepted, and still be consulted by nothing. scoping ladder get reports how many of your instances actually have it on, and warns you when the answer is none.
add-level and apply-proposal preview by default because inserting a rung re-homes every node beneath it. The preview reports how many nodes would move, and --commit sends that number back with the write, so a commit is refused if the tree changed in between.

billing

Billing controls for your client. Today that is overages: whether requests keep working after a paid plan’s credits run out, with the extra usage billed per 1,000 credits at your plan’s rate. Overages are off by default. See Pricing & Credits for how they are billed.
Only the client owner can change overages. A CLI key acts with the role of the person who approved its login, so a key approved by an admin or member can read the setting and gets a permission error from set. For overages that role is checked when you run the command: if the person who approved the key is no longer the owner, the key cannot change the setting either. billing overages get reports can_edit. If an owner’s key reports can_edit: false, run maximem-synap auth login again.Turning overages on needs a chargeable card: the default card on your subscription, or else the default card on your billing account, and not expired. Other saved cards do not count. The plan must be Starter, Pro or Scale with an active subscription. If any of that is missing, set --allow fails, writes nothing, and says what to fix. Add or update the card in the Dashboard under Credits & Usage → Plan & billing.
Synap turns overages off by itself when the card is removed or expires, or the subscription is cancelled, and emails every member of your client. billing overages get then shows Synap, with the reason, as the last change.

config

Local CLI settings for the active profile.

usage

Aggregate usage for your client: API calls, LLM tokens, memories stored.

doctor

Diagnose your setup: CLI version, Python, config, auth, server connectivity, key expiry, and whether anything is actually being protected.

Use in CI

No browser is available in CI, so authenticate with a key instead of auth login:
SYNAP_API_KEY overrides any stored profile and writes nothing to disk, so it’s safe for ephemeral runners.