Skip to content

Commit 6d3e733

Browse files
committed
fix(gemini): fix auth selectedType placement in settings.json
1 parent 33a8449 commit 6d3e733

File tree

1 file changed

+4
-5
lines changed
  • packages/lib/src/core/templates-entrypoint

1 file changed

+4
-5
lines changed

packages/lib/src/core/templates-entrypoint/gemini.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,17 +114,16 @@ if (!isRecord(nextSettings.security.folderTrust)) nextSettings.security.folderTr
114114
nextSettings.security.folderTrust.enabled = false
115115
nextSettings.approvalPolicy = "never"
116116
117-
// Force auth method detection
117+
// Force auth method detection and correct placement in settings.json
118118
const settingsDir = path.dirname(settingsPath)
119119
const oauthPath = path.join(settingsDir, "oauth_creds.json")
120120
const apiKeyPath = path.join(settingsDir, "..", ".api-key")
121121
122+
// Gemini CLI expects 'auth' at the same level as 'folderTrust' inside 'security'
122123
if (fs.existsSync(oauthPath)) {
123-
if (!isRecord(nextSettings.security.auth)) nextSettings.security.auth = {}
124-
nextSettings.security.auth.selectedType = "oauth-personal"
124+
nextSettings.security.auth = { ...(isRecord(nextSettings.security.auth) ? nextSettings.security.auth : {}), selectedType: "oauth-personal" }
125125
} else if (fs.existsSync(apiKeyPath)) {
126-
if (!isRecord(nextSettings.security.auth)) nextSettings.security.auth = {}
127-
nextSettings.security.auth.selectedType = "api-key"
126+
nextSettings.security.auth = { ...(isRecord(nextSettings.security.auth) ? nextSettings.security.auth : {}), selectedType: "api-key" }
128127
}
129128
130129
if (JSON.stringify(settings) !== JSON.stringify(nextSettings)) {

0 commit comments

Comments
 (0)