2026-05-07 Setup Model Picker
Scope#
Make setup provider-first and model-second without blocking scripts.
- interactive setup shows provider-specific model choices after provider choice
- setup accepts
--model <model>as the scriptable equivalent - provider/model shorthand in
--agent claude/opusremains supported - Codex and Cursor default to provider inheritance unless the user chooses a model
- Claude exposes its recommended package default model
- non-TTY and
--yessetup never prompt for login or model input
Design#
Provider readiness stays in buildProviderSetupView. The same view now includes
modelChoices so setup can render choices without hard-coding provider-specific
model behavior.
Model choice rules:
- explicit
--modelwins --agent provider/modelis accepted as shorthand- interactive setup prompts after provider selection when no model was supplied
- non-interactive setup writes the configured model, or the provider's package
default, or
nullfor provider inheritance
No provider validates model strings in setup. The selected provider owns model
validation when bootstrap or capture runs.
Files#
src/agent/provider-view.tssrc/commands/setup.tssrc/cli.tssrc/cli/register-setup-commands.tstest/setup.test.tstest/provider-view.test.tstest/cli.test.ts- README/reference guide updates
Verification#
- provider view tests cover model choices
- setup tests cover
--modeland provider-default inheritance - CLI tests cover setup shortcut parsing and Commander option wiring
- full lint, build, and test before commit