summaryrefslogtreecommitdiff
path: root/packages/cli/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cli/src')
-rw-r--r--packages/cli/src/config/config.ts1
-rw-r--r--packages/cli/src/gemini.tsx10
-rw-r--r--packages/cli/src/ui/App.tsx30
3 files changed, 34 insertions, 7 deletions
diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts
index 20a8afcf..b80b6dd0 100644
--- a/packages/cli/src/config/config.ts
+++ b/packages/cli/src/config/config.ts
@@ -317,6 +317,7 @@ export async function loadCliConfig(
name: e.config.name,
version: e.config.version,
})),
+ noBrowser: !!process.env.NO_BROWSER,
});
}
diff --git a/packages/cli/src/gemini.tsx b/packages/cli/src/gemini.tsx
index 84a3da62..8b58c46a 100644
--- a/packages/cli/src/gemini.tsx
+++ b/packages/cli/src/gemini.tsx
@@ -35,6 +35,7 @@ import {
sessionId,
logUserPrompt,
AuthType,
+ getOauthClient,
} from '@google/gemini-cli-core';
import { validateAuthMethod } from './config/auth.js';
import { setMaxSizedBoxDebugging } from './ui/components/shared/MaxSizedBox.js';
@@ -165,6 +166,15 @@ export async function main() {
}
}
}
+
+ if (
+ settings.merged.selectedAuthType === AuthType.LOGIN_WITH_GOOGLE &&
+ config.getNoBrowser()
+ ) {
+ // Do oauth before app renders to make copying the link possible.
+ await getOauthClient(settings.merged.selectedAuthType, config);
+ }
+
let input = config.getQuestion();
const startupWarnings = [
...(await getStartupWarnings()),
diff --git a/packages/cli/src/ui/App.tsx b/packages/cli/src/ui/App.tsx
index e3a5eb55..2a6bf088 100644
--- a/packages/cli/src/ui/App.tsx
+++ b/packages/cli/src/ui/App.tsx
@@ -728,13 +728,29 @@ const App = ({ config, settings, startupWarnings = [] }: AppProps) => {
/>
</Box>
) : isAuthenticating ? (
- <AuthInProgress
- onTimeout={() => {
- setAuthError('Authentication timed out. Please try again.');
- cancelAuthentication();
- openAuthDialog();
- }}
- />
+ <>
+ <AuthInProgress
+ onTimeout={() => {
+ setAuthError('Authentication timed out. Please try again.');
+ cancelAuthentication();
+ openAuthDialog();
+ }}
+ />
+ {showErrorDetails && (
+ <OverflowProvider>
+ <Box flexDirection="column">
+ <DetailedMessagesDisplay
+ messages={filteredConsoleMessages}
+ maxHeight={
+ constrainHeight ? debugConsoleMaxHeight : undefined
+ }
+ width={inputWidth}
+ />
+ <ShowMoreLines constrainHeight={constrainHeight} />
+ </Box>
+ </OverflowProvider>
+ )}
+ </>
) : isAuthDialogOpen ? (
<Box flexDirection="column">
<AuthDialog