diff --git a/setup/auto.ts b/setup/auto.ts index e45ab69..bfe1ab4 100644 --- a/setup/auto.ts +++ b/setup/auto.ts @@ -740,12 +740,38 @@ async function runAuthStep(): Promise { label: 'Paste an Anthropic API key', hint: 'pay-per-use via console.anthropic.com', }, + { + value: 'skip', + label: "Skip — I'll connect later", + hint: 'not recommended — Claude helps debug setup issues', + }, ], }), - ) as 'subscription' | 'oauth' | 'api'; + ) as 'subscription' | 'oauth' | 'api' | 'skip'; setupLog.userInput('auth_method', method); phEmit('auth_method_chosen', { method }); + if (method === 'skip') { + const confirmed = ensureAnswer( + await p.confirm({ + message: + "Skip Claude sign-in? The agent won't be able to run until you connect, and we won't be able to help debug setup errors.", + initialValue: false, + }), + ); + if (!confirmed) { + // Loop back to the auth picker so they can choose a real method. + return runAuthStep(); + } + setupLog.step('auth', 'skipped', 0, { REASON: 'user-skipped' }); + p.log.warn( + brandBody( + 'Claude sign-in skipped. Re-run setup or run `bash nanoclaw.sh` to finish later.', + ), + ); + return; + } + if (method === 'subscription') { await runSubscriptionAuth(); } else {