№ 0827GitHub
aonia
Named profiles for the Muse Code CLI: keep several logins on one machine, run two at once and let each project pick its profile. Published on npm and tested against Muse Code 1.3.0.
aonia
Named profiles for the Muse Code CLI. Keep more than one login on one machine, run two of them
at the same time, and let a project choose which one it uses.
Status: 0.1.0. The library and CLI below work on macOS, Linux and Windows against Muse Code 1.3.0.
Design and the evidence behind it:docs/SPEC.md,docs/CONTEXT-2026-09-21.md.
On npm as@harjjotsinghh/aonia; the command is stillaonia.
Aonia is the district around Mount Helicon, and "Aonian" was the classical epithet for the Muses.
It is a sibling to Helicon, which will consume this as a library.
What it does
Muse Code has one login per machine. muse login writes to ~/.config/muse/auth.json, and everymuse process on that machine uses it — there is no --account and no profile flag. So work and
personal, or a client credential and your own, or two subscriptions, all mean logging out and back
in, with a browser round trip each time.
aonia gives each account its own config and data root, and starts muse pointed at one of them:
npm install -g @harjjotsinghh/aonia
aonia add work --name "Work" # create a profile (its id is the directory name)
aonia login work # runs `muse login` inside it; Muse's own browser flow, unchanged
aonia list # ids, names, emails, login state, last used
aonia run work # `muse`, under that profile
aonia run work -- serve # anything `muse` takes, under that profile
aonia bind ~/code/client work # a directory (and everything under it) selects its own profile
aonia env work # print the variables, if you would rather write your own shim
aonia doctor # inherited META_API_KEY, missing muse, profiles without a login, disk use
aonia rm work # asks first; `--yes` skips the question
aonia add work --seed-from-default copies your settings.json and trust.json from the default
Muse config root into the new profile so it starts with your model, effort and trusted folders.
It never copies auth.json.
From code:
import { createAonia } from "@harjjotsinghh/aonia";
const aonia = createAonia(); // or { home, mus





