From 8179582c7d7c7b9bd96eebc6df843836d2fbe103 Mon Sep 17 00:00:00 2001 From: Heinz Gericke <115458264+heinzgericke@users.noreply.github.com> Date: Tue, 21 Apr 2026 21:50:03 +0200 Subject: [PATCH] fix: increase auth probe timeout to 10s for Claude provider `claude auth status` can exceed the 4s DEFAULT_TIMEOUT_MS on Windows due to Node.js cold-start overhead, causing a spurious "Could not verify Claude authentication status. Timed out while running command." warning even when the CLI is correctly installed and authenticated. A separate AUTH_PROBE_TIMEOUT_MS (10s) is introduced for the auth check specifically, leaving the faster --version probe unchanged. --- apps/server/src/provider/Layers/ClaudeProvider.ts | 3 ++- apps/server/src/provider/providerSnapshot.ts | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/server/src/provider/Layers/ClaudeProvider.ts b/apps/server/src/provider/Layers/ClaudeProvider.ts index 7c8a4c27a6e..60836210b5d 100644 --- a/apps/server/src/provider/Layers/ClaudeProvider.ts +++ b/apps/server/src/provider/Layers/ClaudeProvider.ts @@ -19,6 +19,7 @@ import { import { buildServerProvider, + AUTH_PROBE_TIMEOUT_MS, DEFAULT_TIMEOUT_MS, detailFromResult, extractAuthBoolean, @@ -674,7 +675,7 @@ export const checkClaudeProviderStatus = Effect.fn("checkClaudeProviderStatus")( // ── Auth check + subscription detection ──────────────────────────── const authProbe = yield* runClaudeCommand(["auth", "status"]).pipe( - Effect.timeoutOption(DEFAULT_TIMEOUT_MS), + Effect.timeoutOption(AUTH_PROBE_TIMEOUT_MS), Effect.result, ); diff --git a/apps/server/src/provider/providerSnapshot.ts b/apps/server/src/provider/providerSnapshot.ts index 068b7c11578..fcea249e6ef 100644 --- a/apps/server/src/provider/providerSnapshot.ts +++ b/apps/server/src/provider/providerSnapshot.ts @@ -13,6 +13,8 @@ import { normalizeModelSlug } from "@t3tools/shared/model"; import { isWindowsCommandNotFound } from "../processRunner.ts"; export const DEFAULT_TIMEOUT_MS = 4_000; +// Auth status checks involve disk/network lookups and can be slow on first run (especially Windows) +export const AUTH_PROBE_TIMEOUT_MS = 10_000; export interface CommandResult { readonly stdout: string;