v0.6.0 — the four-concept model, made legible
A user logged in a subscription, typed swisscode <account-name>, and watched the name go to Claude Code as a prompt. This release is the fix for the confusion behind that — the account model now explains itself, and the traps that used to fail silently are caught.
Highlights
- Setups —
agentProfilesis renamed tosetups(schema v4). Only the concept nobody types was renamed;profiles— whatswisscode <name>launches — keeps its name. Existing configs migrate on first read and aconfig.v3.bak.jsonis written.config agentsstill works as a deprecated alias. - No more orphan accounts —
config accounts loginnow creates a launchable profile alongside the account, so a fresh login is immediately usable.--no-profileopts out; the doctor grows anaccounts reachablecheck. - The wizard learned subscriptions — picking Anthropic in
swisscode config <name>asks how the account pays: a subscription kept separate, the login you already use, or an API key. Subscription users no longer have to assemble it by hand. - Duplicate-subscription guard — two accounts that are secretly one login (a fresh
CLAUDE_CONFIG_DIRstarts cloned from your current one) are flagged in the listing, the doctor, and the web UI, so ausageprofile can't count one quota twice. - A positional that names an account or setup is refused instead of being sent to the agent as a prompt.
- The concept map — provider / account / setup / profile — now appears in the README,
config help, and a collapsible panel in the web UI.
Compatibility
Schema v4 migrates v1/v2/v3 on first read (backup written). No config edits required.
Published with SLSA build provenance. 806 tests green.