From b91f877d646e5b0e1d8df4538331eab6ccfc3890 Mon Sep 17 00:00:00 2001 From: Kevin Flansburg Date: Thu, 2 Apr 2026 11:34:29 -0600 Subject: [PATCH] feat: Send x-session-affinity and x-parent-session-id headers --- 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 dc89db409e87..1813346cdc93 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 5121f2452759..6e53abeb512d 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,