Profiles
A profile is an isolated Anyy identity. It has its own home directory, configuration, state database, sessions, memory, skills, roles, cron jobs, channel configuration, logs, backups, and secrets.
Use profiles when you want real data separation, such as personal and work setups. Use roles when you only want to change persona or tone inside the same profile.
Quick Start
anyy profile create work --display-name "Work"
anyy --profile work setup
anyy --profile work status
anyy profile use work
Run a one-off command with --profile NAME when you do not want to change the
active profile:
anyy --profile work chat "Summarize today's notes."
What Is A Profile
A profile is a storage and runtime boundary. Selecting a profile chooses which
Anyy home directory the command or gateway uses. That home then determines
which config.yaml, state.db, secrets/, memory/, skills/, and channel
configuration are loaded.
A profile does not change Anyy's product identity. Anyy still identifies as Anyy; the profile controls local data and configuration.
Create A Profile
Create a blank profile:
anyy profile create work --display-name "Work"
Inspect it:
anyy profile get work
List all profiles:
anyy profile list
Add --json to profile commands when you need machine-readable output.
Name rules
Profile names are normalized to lower-case. Names must start with a letter or
number and then use only letters, numbers, _, or -, up to 64 characters.
Reserved operational names such as profile, profiles, gateway, status,
doctor, logs, skills, debug, and channel names cannot be profile names.
Blank profile
A newly created profile starts with its own directory layout and default local files. Run setup for that profile before using it for real work:
anyy --profile work setup
anyy --profile work status
Clone configuration
The current anyy profile create command does not implement a clone flag.
If you want another profile with similar configuration, create the profile, then
copy or recreate only the config you actually want to share. Keep secrets as
secret references, not copied inline values.
Clone data
Profile data cloning is not a first-class CLI operation in this build. Backups are the supported export path for a profile's local state:
anyy --profile work backup create
anyy --profile work backup list
Treat any manual copy of state.db, secrets/, or channel state as an
operational migration, not a routine profile command.
Use A Profile
Switch the active profile under the profile root:
anyy profile use work
Run one command against a profile without changing the active profile:
anyy --profile work status
anyy --profile work chat "What is on my task list?"
Commands that accept --home PATH can bypass profile selection and point at an
explicit Anyy home:
anyy status --home /path/to/anyy-home
Use one selection mechanism at a time. If you pass both an explicit home and a profile selection to a command that treats them as ambiguous, Anyy reports the mismatch instead of guessing.
Profile Root
The profile root is the directory that contains profile homes and active-profile state. You can override it per command:
anyy --profile-root ~/.anyy-profiles profile list
anyy --profile-root ~/.anyy-profiles profile create lab
Environment variables also participate in home resolution:
| Variable | Purpose |
|---|---|
ANYY_HOME | Select an explicit Anyy home. |
ANYY_DEFAULT_HOME | Override the default home used by setup and resolution. |
See Environment Variables for the full list.
Gateway Per Profile
Each profile home has its own runtime files, including its gateway socket. Start or inspect the gateway for a selected profile:
anyy --profile work gateway start
anyy --profile work gateway status
The TUI can start an embedded gateway for its selected profile. The resident gateway commands manage the background service for the resolved home.
Profile deletion checks whether the profile gateway is still running. Stop it before deleting:
anyy --profile work gateway stop
anyy profile delete work --force
Deletion guards:
| Guard | Behavior |
|---|---|
| Default profile | Refused. |
| Active profile | Refused until another profile is active. |
| Running profile gateway | Refused until the profile gateway is stopped. |
| Profile contains secrets | Requires --purge-secrets. |
Profile Isolation
Profiles isolate local Anyy state. A session in work is not visible in
default; a secret stored under one profile is not resolved from another; a
channel configured in one profile does not automatically exist in another.
The isolation boundary is the Anyy home directory, not the operating
system. A profile is not an OS sandbox, and workspace/ is context and artifact
storage rather than a permission boundary. Protect profile homes the same way
you protect the default ~/.anyy directory.
Roles are scoped inside a profile:
anyy --profile work role list
anyy --profile work role use analyst
Changing role does not move data between profiles.
Profile Commands
Profile command reference:
anyy profile list [--json]
anyy profile get NAME [--json]
anyy profile create NAME [--display-name NAME] [--json]
anyy profile use NAME [--json]
anyy profile delete NAME --force [--purge-secrets] [--json]
Deletion requires --force. Add --purge-secrets only when you want profile
secret material removed as part of deletion.
For the full CLI list, see CLI Commands.