Skip to main content

Profiles

A Profile is Anyy's hard user and runtime boundary. Use Profiles to keep independent people, environments, or trust domains separate.

What a Profile owns​

Each Profile has its own:

  • Home and Workspace;
  • database and session history;
  • USER.md, MEMORY.md, Roles, and Soul files;
  • providers, models, Tools, Skills, and MCP configuration;
  • Channels and Cron jobs; and
  • Secrets.

None of these are shared automatically with another Profile. A Role is not an isolation boundary; Roles inside one Profile share these resources.

Create a Profile in Dashboard​

  1. Open Dashboard → Profile.
  2. Select New Profile.
  3. Enter a name such as work.
  4. Optionally enter a display name such as Work.
  5. Select Create.

Names use lowercase letters, digits, dashes, or underscores, begin with a letter or digit, and are at most 64 characters. Some command names are reserved.

A new Profile starts with its own directory layout, Workspace, empty memory/user files, default Role selection, and configuration. Its durable state database is created when the Profile is first used by the runtime.

Switch Profiles in Dashboard​

Open the target Profile and select Start and switch or Switch to. Dashboard:

  1. selects the target Profile;
  2. starts or finds its Gateway runtime;
  3. binds Dashboard to that Profile's data; and
  4. redirects to the target Dashboard.

The Profile list distinguishes the current runtime, another running runtime, and stopped Profiles.

A Profile switch changes the whole Dashboard

After switching, sessions, memory, models, Channels, Skills, MCP, Cron all come from the target Profile.

Use Profiles from the CLI​

anyy profile list
anyy profile get work
anyy profile create work --display-name "Work"
anyy profile use work

profile use changes the sticky selection used by later commands that do not pass an explicit Profile/Home. It does not migrate an already running Dashboard to another Profile.

Target one command explicitly:

anyy --profile work status
anyy --profile work dashboard

You can also use --home PATH on commands that support it. Do not pass both an explicit Profile and Home for the same resolution.

Home resolution and layout​

An explicit --home PATH wins when used alone. Otherwise resolution is: explicit --profile NAME, then ANYY_HOME, then the sticky active_profile selection, finally default. Explicit --home and --profile together are rejected.

The base Home is the default Profile; named Profiles live below BASE_HOME/profiles/NAME. --profile-root PATH selects that base Home rather than a pre-existing profiles directory. A Profile created in another root is not automatically visible here.

Stop a Profile runtime​

Stopping a non-current running Profile closes its runtime but keeps all data on disk. You can start it again by switching to it.

Use this before deletion or when a Profile should no longer consume resident resources. From the CLI, target the exact Profile:

anyy --profile work gateway stop
anyy --profile work gateway start

Separate Profiles may have separate resident runtimes; changing the sticky selection does not stop an existing runtime.

Delete a Profile​

Profile deletion is permanent and removes the entire Profile home, including Workspace files, state database, memory, Skills, Secrets, Cron jobs, Channels, and sessions.

Dashboard allows deletion only when the Profile is:

  • not the current Profile;
  • not the default Profile;
  • not the sticky default selection; and
  • stopped.

The Dashboard removal action confirms the operation and purges Profile Secrets with the rest of the home.

CLI deletion is explicit:

anyy profile delete work --force --purge-secrets

Without --purge-secrets, CLI deletion refuses a Profile that contains Secrets.

Back up before deletion

Removing a Profile is not an archive operation. Create and verify a backup first if any part of the Profile may be needed later.

Profiles versus Roles​

NeedUse
Different assistant tone for the same person and dataRole
Separate memory, credentials, sessions, or trust boundaryProfile
Different model but shared memorySession/model selection, or change the Profile model default
Work and personal accounts must never mixSeparate Profiles

Troubleshooting​

ProblemFix
Profile name is rejectedUse a non-reserved lowercase name with digits, -, or _
Profile cannot be deletedSwitch away, change the sticky default if needed, and stop its runtime
CLI and Dashboard show different dataCompare the active Profile, --profile, --home, and Dashboard's current runtime
Target Profile switch failsCheck its Home, Gateway status, and displayed handoff stage
You only need another personaCreate a Role instead of duplicating the whole Profile

Use Backup & Restore to move a coherent Profile snapshot. Restore does not register an arbitrary directory as a named Profile.

See Roles for identities inside a Profile.