Summary
The archon setup wizard hardcodes only Claude and Codex in the AI assistant multiselect. The Pi community provider (builtIn: false) is never shown, so users cannot select it as their default assistant during setup.
Current behaviour
◆ Which built-in AI assistant(s) will you use? (↑↓ navigate, space select, enter confirm)
│ ◻ Claude (Recommended) (Anthropic Claude Code SDK)
│ ◻ Codex
Pi does not appear.
Root cause
Two places in packages/cli/src/commands/setup.ts are hardcoded:
collectAIConfig() — the multiselect options array is a static list of Claude and Codex; it never consults getRegisteredProviders().
- Auth collection — dedicated flows exist for Claude (
collectClaudeAuth) and Codex (collectCodexAuth); there is no equivalent for Pi (nor is one needed — Pi credentials are managed by the pi CLI under ~/.pi/, not by Archon env vars).
Expected behaviour
Pi appears in the list as a selectable option. Because Pi manages its own auth externally, selecting it should skip credential collection and simply write DEFAULT_AI_ASSISTANT=pi to the env file.
Suggested fix
- Append community providers from
getRegisteredProviders().filter(p => !p.builtIn) to the multiselect options, labelled with their displayName and a community hint.
- In the post-selection logic, skip auth collection for any provider that is not Claude or Codex.
- Set
defaultAssistant correctly when Pi is the only or preferred selection.
Summary
The
archon setupwizard hardcodes only Claude and Codex in the AI assistant multiselect. The Pi community provider (builtIn: false) is never shown, so users cannot select it as their default assistant during setup.Current behaviour
Pi does not appear.
Root cause
Two places in
packages/cli/src/commands/setup.tsare hardcoded:collectAIConfig()— themultiselectoptions array is a static list of Claude and Codex; it never consultsgetRegisteredProviders().collectClaudeAuth) and Codex (collectCodexAuth); there is no equivalent for Pi (nor is one needed — Pi credentials are managed by the pi CLI under~/.pi/, not by Archon env vars).Expected behaviour
Pi appears in the list as a selectable option. Because Pi manages its own auth externally, selecting it should skip credential collection and simply write
DEFAULT_AI_ASSISTANT=pito the env file.Suggested fix
getRegisteredProviders().filter(p => !p.builtIn)to the multiselect options, labelled with theirdisplayNameand acommunityhint.defaultAssistantcorrectly when Pi is the only or preferred selection.