Profiles
A Profile is Anyy's hard user and runtime boundary. Use separate Profiles for different people, environments, or trust domains that must not share data or credentials.
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 and approvals.
None of these are shared automatically. Roles inside one Profile share these resources and are not an isolation boundary.
Read the Profile List
Open Dashboard → Profile. Each card shows its display name, ID, Home path, update time, and runtime state:
| State | Meaning |
|---|---|
| Current runtime | This Dashboard is connected to the Profile |
| Running | Another resident runtime currently owns the Profile |
| Stopped | No live runtime was detected |
| Default | The base Profile; it cannot be deleted |
Open a card to see its full Home path and the actions currently allowed.
Create a Profile
In Dashboard:
- Select New Profile.
- Enter an ID such as
work. - Optionally add a display name such as
Work. - Select Create.
IDs contain lowercase letters, digits, dashes, or underscores, begin with a letter or digit, and are at most 64 characters. Reserved command names are rejected.
A fresh Profile receives its own directory layout, Workspace, empty user and memory files, default Role selection, and configuration. Durable runtime state is created when the Profile is first used by the runtime.
The CLI equivalent is:
anyy profile create work --display-name "Work"
Switch Profiles in Dashboard
Open a non-current Profile and select Start and switch or Switch to. Dashboard shows the handoff while it:
- selects the target Profile;
- starts or finds its Gateway runtime;
- binds Dashboard to the target Profile's data; and
- redirects the browser to the target Dashboard.
Sessions, memory, models, Channels, Skills, MCP servers, Cron jobs, and approvals all change with the Profile.
Dashboard does not copy data between Profiles. Return to the previous Profile to see its sessions and settings again.
After switching, confirm Dashboard → About → Profile before changing models, credentials, Channels, or memory.
Select Profiles from the CLI
anyy profile list
anyy profile get work
anyy profile use work
profile use changes the sticky selection for later commands that do not pass a Profile or Home. It does not migrate an already running Dashboard.
Target one command explicitly:
anyy --profile work status
anyy --profile work dashboard
You can also use --home PATH on supported commands. Do not pass both an explicit Profile and Home for the same resolution.
Stop a Profile Runtime
A running, non-current Profile can be stopped from its Dashboard detail page. Stopping ends that resident runtime but leaves all Profile data on disk.
Stop a Profile before deletion or when it should no longer consume resident resources. The current Dashboard runtime cannot stop itself from the Profile page.
Delete a Profile
Profile deletion permanently removes the entire Profile Home, including Workspace files, state database, memory, Skills, Secrets, Cron jobs, Channels, sessions, and runtime state.
Dashboard allows deletion only when the Profile is:
- not the current Dashboard Profile;
- not the default Profile;
- not the sticky default selection; and
- stopped.
Dashboard's removal action also purges Profile Secrets. CLI deletion is explicit:
anyy profile delete work --force --purge-secrets
Without --purge-secrets, CLI deletion refuses a Profile that still contains Secrets.
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
| Need | Use |
|---|---|
| Different assistant tone for the same person and data | Role |
| Separate memory, credentials, sessions, or trust boundary | Profile |
| Different default model but shared data | Change the Profile default or select a model per session |
| Work and personal accounts must never mix | Separate Profiles |
Troubleshooting
| Problem | Fix |
|---|---|
| Profile ID is rejected | Use a non-reserved lowercase ID with digits, -, or _ |
| Switch stops during handoff | Check the target Home and run anyy --profile NAME status |
| Profile cannot be deleted | Switch away, change the sticky default if needed, and stop its runtime |
| Data appears missing after switching | Confirm Dashboard → About → Profile and return to the intended Profile |
| CLI and Dashboard show different data | Compare the Profile, --profile, --home, and current Dashboard runtime |
| You only need another persona | Create a Role instead of duplicating the whole Profile |
See Roles & Personality for identities inside a Profile.