diff --git a/src/lib/onboard.ts b/src/lib/onboard.ts index 4d9374e3b3..495957f660 100644 --- a/src/lib/onboard.ts +++ b/src/lib/onboard.ts @@ -7823,7 +7823,7 @@ async function setupMessagingChannels( output.write(` [${i + 1}] ${marker} ${ch.name} — ${ch.description}${status}\n`); }); output.write("\n"); - output.write(` Press 1-${availableChannels.length} to toggle, Enter when done: `); + output.write(` Press 1-${availableChannels.length} to toggle, Enter when done (none selected skips): `); }; showList(); diff --git a/test/onboard.test.ts b/test/onboard.test.ts index 9b5111a402..4d900208b3 100644 --- a/test/onboard.test.ts +++ b/test/onboard.test.ts @@ -1838,6 +1838,18 @@ const { setupInference } = require(${onboardPath}); ); }); + it("tells users that selecting no messaging channels skips the step", () => { + const source = fs.readFileSync( + path.join(import.meta.dirname, "..", "src", "lib", "onboard.ts"), + "utf-8", + ); + + assert.match( + source, + /Press 1-\$\{availableChannels\.length\} to toggle, Enter when done \(none selected skips\):/, + ); + }); + it("migrates a legacy credentials.json into env so setupInference can register the provider", () => { const repoRoot = path.join(import.meta.dirname, ".."); const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "nemoclaw-onboard-resume-cred-"));