diff --git a/packages/coding-agent/CHANGELOG.md b/packages/coding-agent/CHANGELOG.md index 77c3dea5..c9dbcd3d 100644 --- a/packages/coding-agent/CHANGELOG.md +++ b/packages/coding-agent/CHANGELOG.md @@ -14,6 +14,10 @@ - Changed `read` tool rendering to collapse Pi documentation, AGENTS/CLAUDE context files, and `SKILL.md` contents by default in interactive output. +### Fixed + +- Fixed OpenAI Codex WebSocket transport keeping `--print` and JSON mode processes alive after the response by closing cached WebSocket sessions during session shutdown ([#4103](https://github.com/badlogic/pi-mono/issues/4103)). + ## [0.72.1] - 2026-05-02 ## [0.72.0] - 2026-05-01 diff --git a/packages/coding-agent/src/core/agent-session.ts b/packages/coding-agent/src/core/agent-session.ts index 10fe3760..5e93e5f1 100644 --- a/packages/coding-agent/src/core/agent-session.ts +++ b/packages/coding-agent/src/core/agent-session.ts @@ -31,6 +31,7 @@ import { modelsAreEqual, resetApiProviders, } from "@mariozechner/pi-ai"; +import { closeOpenAICodexWebSocketSessions } from "@mariozechner/pi-ai/openai-codex-responses"; import { theme } from "../modes/interactive/theme/theme.js"; import { stripFrontmatter } from "../utils/frontmatter.js"; import { sleep } from "../utils/sleep.js"; @@ -752,6 +753,7 @@ export class AgentSession { ); this._disconnectFromAgent(); this._eventListeners = []; + closeOpenAICodexWebSocketSessions(this.sessionId); } // =========================================================================