From dd8aa1dcced99dc1b90868f2bba1b79eb9636093 Mon Sep 17 00:00:00 2001 From: bitloi Date: Tue, 12 May 2026 09:40:53 +0200 Subject: [PATCH] fix: reseed Claude CLI session context on rotation closes #80905 --- extensions/anthropic/cli-backend.ts | 1 + extensions/anthropic/cli-shared.test.ts | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/extensions/anthropic/cli-backend.ts b/extensions/anthropic/cli-backend.ts index 6141ac99df2..d62c84e3e61 100644 --- a/extensions/anthropic/cli-backend.ts +++ b/extensions/anthropic/cli-backend.ts @@ -63,6 +63,7 @@ export function buildAnthropicCliBackend(): CliBackendPlugin { imagePathScope: "workspace", sessionArg: "--session-id", sessionMode: "always", + reseedFromRawTranscriptWhenUncompacted: true, sessionIdFields: [...CLAUDE_CLI_SESSION_ID_FIELDS], systemPromptFileArg: "--append-system-prompt-file", systemPromptMode: "append", diff --git a/extensions/anthropic/cli-shared.test.ts b/extensions/anthropic/cli-shared.test.ts index 27d5f2589bd..7f4cf8455f9 100644 --- a/extensions/anthropic/cli-shared.test.ts +++ b/extensions/anthropic/cli-shared.test.ts @@ -261,6 +261,15 @@ describe("normalizeClaudeBackendConfig", () => { expect(backend.resolveExecutionArgs).toBe(resolveClaudeCliExecutionArgs); }); + it("opts bundled Claude CLI into bounded raw transcript reseed without disabling native resume", () => { + const backend = buildAnthropicCliBackend(); + + expect(backend.config.reseedFromRawTranscriptWhenUncompacted).toBe(true); + expect(backend.config.sessionMode).toBe("always"); + expect(backend.config.resumeArgs).toContain("--resume"); + expect(backend.config.resumeArgs).toContain("{sessionId}"); + }); + it("leaves claude cli subscription-managed, restricts setting sources, and clears inherited env overrides", () => { const backend = buildAnthropicCliBackend();