summaryrefslogtreecommitdiff
path: root/packages/cli/src/gemini.tsx
diff options
context:
space:
mode:
authorMarat Boshernitsan <[email protected]>2025-07-07 15:02:13 -0700
committerGitHub <[email protected]>2025-07-07 22:02:13 +0000
commit48c2aa296a7ed8b17e861d54682b0ea71695ca66 (patch)
treeaf686139688bfca8e2fd9c7fedb944d012d52ff6 /packages/cli/src/gemini.tsx
parent357546a2aac918702f6ebfa4a97bd95ccd614e5d (diff)
Enable Gemini CLI to reuse user's auth in Cloud Shell (#3070)
Diffstat (limited to 'packages/cli/src/gemini.tsx')
-rw-r--r--packages/cli/src/gemini.tsx23
1 files changed, 15 insertions, 8 deletions
diff --git a/packages/cli/src/gemini.tsx b/packages/cli/src/gemini.tsx
index 39d3bbe3..7e86a8ca 100644
--- a/packages/cli/src/gemini.tsx
+++ b/packages/cli/src/gemini.tsx
@@ -103,14 +103,21 @@ export async function main() {
const extensions = loadExtensions(workspaceRoot);
const config = await loadCliConfig(settings.merged, extensions, sessionId);
- // set default fallback to gemini api key
- // this has to go after load cli because that's where the env is set
- if (!settings.merged.selectedAuthType && process.env.GEMINI_API_KEY) {
- settings.setValue(
- SettingScope.User,
- 'selectedAuthType',
- AuthType.USE_GEMINI,
- );
+ // Set a default auth type if one isn't set for a couple of known cases.
+ if (!settings.merged.selectedAuthType) {
+ if (process.env.GEMINI_API_KEY) {
+ settings.setValue(
+ SettingScope.User,
+ 'selectedAuthType',
+ AuthType.USE_GEMINI,
+ );
+ } else if (process.env.CLOUD_SHELL === 'true') {
+ settings.setValue(
+ SettingScope.User,
+ 'selectedAuthType',
+ AuthType.CLOUD_SHELL,
+ );
+ }
}
setMaxSizedBoxDebugging(config.getDebugMode());