Filter models whose provider has no working API key or OAuth out of every user-facing selection path. Previously, stale defaults and scoped sets could leak unconfigured models into /model, /gsd model, and auto run — the user could "pick" a model that immediately threw on use. - model-selector: filter scopedModels via isProviderRequestReady; default to "all" scope when no scoped model is ready. - model-controller: same filter for getModelCandidates, so exact-match resolution from /model <term> can't return an unauth'd scoped model. - model-resolver: gate findInitialModel step 3 on provider readiness so a stale saved default falls through to the available-models path. - startup-model-validation: check configuredExists against getAvailable instead of getAll, so a configured-but-unauth default triggers the fallback picker and thinking-level reset. - auto-start: validate resolveDefaultSessionModel against the live registry + auth before snapshotting, and warn when PREFERENCES.md names an unconfigured model. https://claude.ai/code/session_015q6b23ap9Pyqdogzz2FXGh |
||
|---|---|---|
| .. | ||
| daemon | ||
| mcp-server | ||
| native | ||
| pi-agent-core | ||
| pi-ai | ||
| pi-coding-agent | ||
| pi-tui | ||
| rpc-client | ||