You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Who experiences it? Anyone whose primary coding agent is Pi, or who wants to evaluate Pi as their default. Pi supports ~20 LLM backends via <provider>/<model> refs, so this is a meaningful slice of users.
How often does it come up? Once per fresh install, but the friction is high — the user is told the wizard configures their AI provider and then has to discover that Pi is missing and configure it manually.
Proposed Solution
Add Pi to the multiselect in collectAIConfig. Drive the option list from getRegisteredProviders() rather than a hardcoded [claude, codex] array, so future community providers register cleanly. For Pi specifically:
Auth model: API keys for the chosen LLM backend(s). The wizard should ask which backend the user wants as Pi's default (Anthropic, OpenRouter, OpenAI, etc.) and prompt for the corresponding API key, writing it to the standard env var (ANTHROPIC_API_KEY, OPENROUTER_API_KEY, …).
Default model ref: persist a sensible default like anthropic/claude-haiku-4-5 to assistants.pi.model in ~/.archon/config.yaml (or the equivalent env var if Pi resolves model via env).
Defer to existing Pi provider docs (packages/docs-web/src/content/docs/getting-started/ai-assistants.md) for the exact list of backends and their env var names.
User Flow
Before (current)
$ archon setup
…
? Which built-in AI assistant(s) will you use?
[ ] Claude (Recommended)
[ ] Codex
[!] Pi user has to ctrl-c, edit ~/.archon/.env by hand, set DEFAULT_AI_ASSISTANT=pi
After (proposed)
$ archon setup
…
? Which AI assistant(s) will you use?
[ ] Claude (Recommended)
[ ] Codex
[+] Pi (community — ~20 LLM backends)
? Pi backend?
[+] anthropic / claude-haiku-4-5
[+] openrouter / qwen/qwen3-coder
[+] openai / gpt-5.3
…
? Enter ANTHROPIC_API_KEY: ********
✓ Pi binary spawn check passed
Add Pi as a separate "community providers" wizard step
Keeps built-in step clean
Two wizards for one decision; inconsistent with #1494 spec which lists Pi alongside Claude/Codex
More UX, less discoverability
Ship a Pi-specific archon setup --provider pi flag
Keeps default wizard tight
Hides the option; users have to know to ask for it
Same discoverability problem
Scope
Package(s) likely affected: cli (commands/setup.ts), maybe providers (if Pi config helper is needed)
Breaking change? No
Database changes needed? No
New external dependencies? No (Pi already a registered community provider)
Security Considerations
New permissions/capabilities? No
New external network calls? Pi backends already make calls; setup just stores the keys.
Secrets/tokens handling? Yes — backend API keys, written via the same writeScopedEnv path used today for Claude/Codex (0o600, backup-on-rewrite). No new mechanism needed.
Definition of Done
Pi appears in the AI provider multiselect.
User can select Pi alone (default = pi) or alongside Claude/Codex.
Wizard prompts for the chosen backend's API key and stores it under the canonical env var.
Problem
packages/cli/src/commands/setup.ts:668-671only offers Claude and Codex. Users wanting Pi as their default provider have to hand-edit~/.archon/.envand/or~/.archon/config.yamlafter running setup, even though Pi is a registered community provider (@archon/providers,community/pi).<provider>/<model>refs, so this is a meaningful slice of users.Proposed Solution
Add Pi to the multiselect in
collectAIConfig. Drive the option list fromgetRegisteredProviders()rather than a hardcoded[claude, codex]array, so future community providers register cleanly. For Pi specifically:ANTHROPIC_API_KEY,OPENROUTER_API_KEY, …).anthropic/claude-haiku-4-5toassistants.pi.modelin~/.archon/config.yaml(or the equivalent env var if Pi resolves model via env).pi(or whatever the entry binary is named) resolves and runs.Defer to existing Pi provider docs (
packages/docs-web/src/content/docs/getting-started/ai-assistants.md) for the exact list of backends and their env var names.User Flow
Before (current)
After (proposed)
Alternatives Considered
archon setup --provider piflagScope
cli(commands/setup.ts), maybeproviders(if Pi config helper is needed)Security Considerations
writeScopedEnvpath used today for Claude/Codex (0o600, backup-on-rewrite). No new mechanism needed.Definition of Done
archon doctoradds a Pi check parallel to the Claude binary check (only when Pi is configured — skip otherwise, same pattern asgh auth).packages/docs-web/src/content/docs/getting-started/ai-assistants.mdreferences the wizard path.Tracking