diff --git a/cli/src/gemini/geminiRemoteLauncher.ts b/cli/src/gemini/geminiRemoteLauncher.ts index 71066aa85..660d55244 100644 --- a/cli/src/gemini/geminiRemoteLauncher.ts +++ b/cli/src/gemini/geminiRemoteLauncher.ts @@ -56,7 +56,8 @@ class GeminiRemoteLauncher extends RemoteLauncherBase { token: runtimeConfig.token, resumeSessionId: session.sessionId, hookSettingsPath: this.hookSettingsPath, - cwd: session.path + cwd: session.path, + permissionMode: session.getPermissionMode() as string | undefined }); this.backend = backend; diff --git a/cli/src/gemini/utils/geminiBackend.ts b/cli/src/gemini/utils/geminiBackend.ts index 5e2b946dc..392f8fc9a 100644 --- a/cli/src/gemini/utils/geminiBackend.ts +++ b/cli/src/gemini/utils/geminiBackend.ts @@ -17,6 +17,7 @@ export function createGeminiBackend(opts: { resumeSessionId?: string | null; hookSettingsPath?: string; cwd?: string; + permissionMode?: string; }): AcpSdkBackend { const { model, token } = resolveGeminiRuntimeConfig({ model: opts.model, @@ -30,6 +31,9 @@ export function createGeminiBackend(opts: { if (model) { args.push('--model', model); } + if (opts.permissionMode === 'yolo' || opts.permissionMode === 'safe-yolo') { + args.push('--yolo'); + } const env = buildGeminiEnv({ model,