From c55b15f705d083e3dadcfb71494dcb0d6043e6c6 Mon Sep 17 00:00:00 2001 From: Tommaso Sciortino Date: Thu, 26 Jun 2025 08:27:20 -0700 Subject: Improve LoadCodeAssist error handling (#1645) --- packages/cli/src/gemini.tsx | 12 ++++++++---- packages/cli/src/ui/hooks/useAuthCommand.ts | 12 +----------- 2 files changed, 9 insertions(+), 15 deletions(-) (limited to 'packages/cli/src') diff --git a/packages/cli/src/gemini.tsx b/packages/cli/src/gemini.tsx index 95c8d4f2..4a0014e1 100644 --- a/packages/cli/src/gemini.tsx +++ b/packages/cli/src/gemini.tsx @@ -141,12 +141,16 @@ export async function main() { if (sandboxConfig) { if (settings.merged.selectedAuthType) { // Validate authentication here because the sandbox will interfere with the Oauth2 web redirect. - const err = validateAuthMethod(settings.merged.selectedAuthType); - if (err) { - console.error(err); + try { + const err = validateAuthMethod(settings.merged.selectedAuthType); + if (err) { + throw new Error(err); + } + await config.refreshAuth(settings.merged.selectedAuthType); + } catch (err) { + console.error('Error authenticating:', err); process.exit(1); } - await config.refreshAuth(settings.merged.selectedAuthType); } await start_sandbox(sandboxConfig, memoryArgs); process.exit(0); diff --git a/packages/cli/src/ui/hooks/useAuthCommand.ts b/packages/cli/src/ui/hooks/useAuthCommand.ts index 283572d2..766ebe2b 100644 --- a/packages/cli/src/ui/hooks/useAuthCommand.ts +++ b/packages/cli/src/ui/hooks/useAuthCommand.ts @@ -46,17 +46,7 @@ export const useAuthCommand = ( config, ); } catch (e) { - let errorMessage = `Failed to login.\nMessage: ${getErrorMessage(e)}`; - if ( - settings.merged.selectedAuthType === - AuthType.LOGIN_WITH_GOOGLE_PERSONAL && - !process.env.GOOGLE_CLOUD_PROJECT - ) { - errorMessage = - 'Failed to login. Workspace accounts and licensed Code Assist users must configure' + - ` GOOGLE_CLOUD_PROJECT (see https://goo.gle/gemini-cli-auth-docs#workspace-gca).\nMessage: ${getErrorMessage(e)}`; - } - setAuthError(errorMessage); + setAuthError(`Failed to login. Message: ${getErrorMessage(e)}`); openAuthDialog(); } finally { setIsAuthenticating(false); -- cgit v1.2.3