Skip to content

Ack duplicate Codex interrupts after completion#400

Merged
danshapiro merged 1 commit into
mainfrom
codex-interrupt-freeze
Jun 10, 2026
Merged

Ack duplicate Codex interrupts after completion#400
danshapiro merged 1 commit into
mainfrom
codex-interrupt-freeze

Conversation

@danshapiro

Copy link
Copy Markdown
Owner

Summary

  • track completed Codex turn ids in the remote proxy
  • locally acknowledge duplicate turn/interrupt requests for already completed turns instead of forwarding them upstream
  • add a regression test for repeated Esc after turn completion

Root cause

Logs showed the first Esc sent turn/interrupt id 6, which received an upstream response and was immediately followed by thread/status/changed and turn/completed for the same turn. A repeated Esc then sent turn/interrupt id 7 after completion, and no upstream response was logged. The proxy recorded pending request ids but did not use turn/completed evidence, so that duplicate request could leave the TUI waiting forever.

Test plan

  • npm run test:vitest -- run test/unit/server/coding-cli/codex-app-server/remote-proxy.test.ts --testNamePattern "acks duplicate turn/interrupt"
  • npm run test:vitest -- run test/unit/server/coding-cli/codex-app-server/remote-proxy.test.ts
  • FRESHELL_TEST_SUMMARY="codex duplicate interrupt freeze fix" npm run check

@danshapiro danshapiro merged commit 9f54a96 into main Jun 10, 2026
1 check passed
@danshapiro danshapiro deleted the codex-interrupt-freeze branch June 10, 2026 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants