From 771acd11a1da160e793466bdb1ae0fb5b63cbb52 Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Mon, 23 Mar 2026 22:04:37 +0700 Subject: [PATCH] fix(server): close query stream before interrupt/return in claude agent Call query.close() before awaiting interrupt/return to ensure the stream is properly torn down on session close and query restart. --- packages/server/src/server/agent/providers/claude-agent.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/server/src/server/agent/providers/claude-agent.ts b/packages/server/src/server/agent/providers/claude-agent.ts index c27355636..dab7a139c 100644 --- a/packages/server/src/server/agent/providers/claude-agent.ts +++ b/packages/server/src/server/agent/providers/claude-agent.ts @@ -1611,6 +1611,7 @@ class ClaudeAgentSession implements AgentSession { this.activeTurnPromise = null; this.sidechainTracker.clear(); this.input?.end(); + this.query?.close(); await this.awaitWithTimeout(this.query?.interrupt?.(), "close query interrupt"); await this.awaitWithTimeout(this.query?.return?.(), "close query return"); this.query = null; @@ -1877,6 +1878,7 @@ class ClaudeAgentSession implements AgentSession { if (this.queryRestartNeeded && this.query) { this.input?.end(); + this.query.close(); try { await this.query.return?.(); } catch {