From b2f7d9ebc8ddf9977fe895495dc0409e34d37438 Mon Sep 17 00:00:00 2001 From: Shakker Date: Wed, 17 Jun 2026 00:16:58 +0100 Subject: [PATCH] fix: allow Gemini CLI file edits --- extensions/google/cli-backend.ts | 12 +++++++++++- src/agents/cli-backends.test.ts | 16 +++++++++++++++- src/agents/cli-runner.spawn.test.ts | 10 +++++++++- 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/extensions/google/cli-backend.ts b/extensions/google/cli-backend.ts index f3db7ec66618..845285c42922 100644 --- a/extensions/google/cli-backend.ts +++ b/extensions/google/cli-backend.ts @@ -478,9 +478,19 @@ export function buildGoogleGeminiCliBackend(): CliBackendPlugin { ), config: { command: "gemini", - args: ["--skip-trust", "--output-format", "stream-json", "--prompt", "{prompt}"], + args: [ + "--skip-trust", + "--approval-mode", + "auto_edit", + "--output-format", + "stream-json", + "--prompt", + "{prompt}", + ], resumeArgs: [ "--skip-trust", + "--approval-mode", + "auto_edit", "--resume", "{sessionId}", "--output-format", diff --git a/src/agents/cli-backends.test.ts b/src/agents/cli-backends.test.ts index 7aeb3dd2fb9d..8d83046d6f69 100644 --- a/src/agents/cli-backends.test.ts +++ b/src/agents/cli-backends.test.ts @@ -382,9 +382,19 @@ beforeEach(() => { normalizeConfig: normalizeTestGeminiBackendConfig, config: { command: "gemini", - args: ["--skip-trust", "--output-format", "stream-json", "--prompt", "{prompt}"], + args: [ + "--skip-trust", + "--approval-mode", + "auto_edit", + "--output-format", + "stream-json", + "--prompt", + "{prompt}", + ], resumeArgs: [ "--skip-trust", + "--approval-mode", + "auto_edit", "--resume", "{sessionId}", "--output-format", @@ -983,6 +993,8 @@ describe("resolveCliBackendConfig google-gemini-cli defaults", () => { expect(resolved?.prepareExecution).toBeTypeOf("function"); expect(resolved?.config.args).toEqual([ "--skip-trust", + "--approval-mode", + "auto_edit", "--output-format", "stream-json", "--prompt", @@ -990,6 +1002,8 @@ describe("resolveCliBackendConfig google-gemini-cli defaults", () => { ]); expect(resolved?.config.resumeArgs).toEqual([ "--skip-trust", + "--approval-mode", + "auto_edit", "--resume", "{sessionId}", "--output-format", diff --git a/src/agents/cli-runner.spawn.test.ts b/src/agents/cli-runner.spawn.test.ts index 859cf50ea78a..fbc04f739015 100644 --- a/src/agents/cli-runner.spawn.test.ts +++ b/src/agents/cli-runner.spawn.test.ts @@ -124,7 +124,15 @@ function buildPreparedCliRunContext(params: { if (params.provider === "google-gemini-cli") { return { command: "gemini", - args: ["--skip-trust", "--output-format", "stream-json", "--prompt", "{prompt}"], + args: [ + "--skip-trust", + "--approval-mode", + "auto_edit", + "--output-format", + "stream-json", + "--prompt", + "{prompt}", + ], output: "jsonl" as const, jsonlDialect: "gemini-stream-json" as const, input: "arg" as const,