Profiles
Profiles let you run multiple isolated Mona configurations on the same machine. Each profile has its own config, secrets, sessions, skills, and cron jobs.
When to use profiles
- Work vs personal — Separate API keys, models, and messaging platforms
- Team contexts — Different Slack workspaces, Telegram bots, or allowlists
- Testing — Try new models or tools without affecting your main setup
- Client projects — Isolate client data and configurations
Creating a profile
monoclaw profile create work
This creates ~/.monoclaw/profiles/work/ with a fresh config.yaml and .env.
Switching profiles
monoclaw profile switch work
monoclaw profile switch personal
The active profile is stored in ~/.monoclaw/active_profile. All monoclaw commands use the active profile's config.
Listing profiles
monoclaw profile list
Output:
default (active)
* work
personal
client-acme
Profile-specific config
Each profile has its own:
config.yaml— Model, tools, gateway, cron settings.env— API keys, bot tokens, secretssessions/— Conversation historyskills/— Installed skillsmemory/— Persistent memory filescron/— Scheduled jobs
Copying profiles
Duplicate an existing profile as a starting point:
monoclaw profile copy default staging
Deleting profiles
monoclaw profile delete staging
Warning
This permanently deletes all sessions, config, and secrets for the profile.
Per-profile gateway
Each profile can run its own gateway with different bots:
monoclaw profile switch work
monoclaw gateway setup # Configure work Telegram bot
monoclaw gateway start
monoclaw profile switch personal
monoclaw gateway setup # Configure personal Discord bot
monoclaw gateway start
Both gateways run independently.
Default profile
If no profile is active, Mona uses the default profile (~/.monoclaw/ directly).
Set a default profile:
monoclaw profile set-default work
Environment variable override
Force a specific profile via environment variable:
MONOCLAW_PROFILE=work monoclaw
This overrides the active profile for that single session.