← Back to PRs

#16388: Fix: Show model selector during onboarding for all auth choices

by saurav470 open 2026-02-14 18:22 View on GitHub →
size: XS
Fixes #16386 Problem When running openclaw onboard --install-daemon, the default-model selector did not appear during onboarding. In particular, choosing “Custom (API key)” (or any path that ended up as custom-api-key) skipped the model step, so users had to run openclaw configure --section model afterward. Cause The model selector was only run when auth was chosen interactively and auth was not custom-api-key, so custom-API-key users never saw the step. Change Always run the default-model selector when auth was chosen interactively, for all auth choices (including Custom API key). Users can now pick or confirm their default model during onboarding without a separate configure step. Testing Run openclaw onboard --install-daemon, choose “Custom (API key)” (or any provider), and confirm the “Default model” step appears before gateway/channel setup. <!-- greptile_comment --> <h3>Greptile Summary</h3> This PR removes the `authChoice !== "custom-api-key"` guard from the model selector step during interactive onboarding. Previously, users who chose "Custom (API key)" during `openclaw onboard --install-daemon` were skipped past the default-model prompt, even though other auth paths showed it. The fix ensures `promptDefaultModel` runs for all interactive auth choices. - The custom API flow (`promptCustomApiConfig`) already sets a primary model via `applyCustomApiConfig`, so the model selector (with `allowKeep: true`) lets users confirm or override that choice — no duplicate or conflicting model writes occur. - The change is minimal (one condition removed, one comment added) and correctly scoped to interactive onboarding only (`authChoiceFromPrompt` guards non-interactive/CLI-flag paths). <h3>Confidence Score: 5/5</h3> - This PR is safe to merge — it's a minimal, well-scoped condition change with no risk of regressions. - The change removes one guard condition from a single if-statement. The custom-api-key path already sets a model via `applyCustomApiConfig`, and the model selector uses `allowKeep: true` so users can simply confirm the existing choice. The `preferredProvider` resolves correctly for `custom-api-key`. No new code paths, no API changes, no configuration schema changes. - No files require special attention. <sub>Last reviewed commit: 4b8c650</sub> <!-- greptile_other_comments_section --> <!-- /greptile_comment -->

Most Similar PRs