From e89527c9f0eba6c7aa866f3ba39ce9f6809023a7 Mon Sep 17 00:00:00 2001 From: Kevin Flansburg Date: Thu, 2 Apr 2026 21:09:53 -0600 Subject: [PATCH] feat: Send x-session-affinity and x-parent-session-id headers (#20744) --- packages/opencode/src/session/llm.ts | 3 +++ packages/opencode/src/session/prompt.ts | 1 + 2 files changed, 4 insertions(+) diff --git a/packages/opencode/src/session/llm.ts b/packages/opencode/src/session/llm.ts index dc89db409e..1813346cdc 100644 --- a/packages/opencode/src/session/llm.ts +++ b/packages/opencode/src/session/llm.ts @@ -25,6 +25,7 @@ export namespace LLM { export type StreamInput = { user: MessageV2.User sessionID: string + parentSessionID?: string model: Provider.Model agent: Agent.Info permission?: Permission.Ruleset @@ -301,6 +302,8 @@ export namespace LLM { "x-opencode-client": Flag.OPENCODE_CLIENT, } : { + "x-session-affinity": input.sessionID, + ...(input.parentSessionID ? { "x-parent-session-id": input.parentSessionID } : {}), "User-Agent": `opencode/${Installation.VERSION}`, }), ...input.model.headers, diff --git a/packages/opencode/src/session/prompt.ts b/packages/opencode/src/session/prompt.ts index 8facf7aba7..e4709ef47e 100644 --- a/packages/opencode/src/session/prompt.ts +++ b/packages/opencode/src/session/prompt.ts @@ -1512,6 +1512,7 @@ NOTE: At any point in time through this workflow you should feel free to ask the agent, permission: session.permission, sessionID, + parentSessionID: session.parentID, system, messages: [...modelMsgs, ...(isLastStep ? [{ role: "assistant" as const, content: MAX_STEPS }] : [])], tools,