diff --git a/app/setup/page.tsx b/app/setup/page.tsx
index 1db6ebfd..5e67d8a5 100644
--- a/app/setup/page.tsx
+++ b/app/setup/page.tsx
@@ -227,7 +227,15 @@ export default function SetupWizardPage() {
await saveStep(step, values);
setStepIndex((i) => Math.min(i + 1, STEPS.length - 1));
} catch (e) {
- setError(humanError(e));
+ const msg = humanError(e);
+ setError(msg);
+ // Session expired mid-flow — kick the user back to the
+ // welcome step so they can re-enter the token without
+ // having to refresh.
+ if (/wizard session required/i.test(msg)) {
+ setAuthenticated(false);
+ setStepIndex(0);
+ }
}
}}
onBack={() => setStepIndex((i) => Math.max(i - 1, 1))}
@@ -392,15 +400,45 @@ function CenteredCard({ children }: { children: ReactNode }) {
function ErrorBanner({ error, onDismiss }: { error: string; onDismiss: () => void }) {
return (
-
-
{error}
-