setup: add "Skip — I'll connect later" option to Claude auth picker
Today the Claude auth picker has only three real-auth options. A user without a Pro/Max subscription, an OAuth token, or an API key has no graceful escape — Ctrl-C kills setup entirely. Add a fourth option that confirms the trade-off (no agent runtime + no Claude debug help during setup) and, on Yes, marks auth skipped and lets setup continue. On No, loop back to the picker. Existing NANOCLAW_SKIP=auth env hatch is unchanged. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
committed by
exe.dev user
parent
f2d2ce9aed
commit
6d8d085f96
@@ -740,12 +740,38 @@ async function runAuthStep(): Promise<void> {
|
|||||||
label: 'Paste an Anthropic API key',
|
label: 'Paste an Anthropic API key',
|
||||||
hint: 'pay-per-use via console.anthropic.com',
|
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);
|
setupLog.userInput('auth_method', method);
|
||||||
phEmit('auth_method_chosen', { 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') {
|
if (method === 'subscription') {
|
||||||
await runSubscriptionAuth();
|
await runSubscriptionAuth();
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user