Skip to content

Fix Warp notifications for detached Codex hooks - #6

Merged
seemeroland merged 2 commits into
mainfrom
roland/support-updated-codex-version
Sep 30, 2026
Merged

seemeroland merged 2 commits into
mainfrom
roland/support-updated-codex-version

Conversation

@seemeroland

@seemeroland seemeroland commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Restore Warp lifecycle notifications when Codex runs hooks without a controlling terminal. Codex 0.155.0 introduced terminal detachment, so the previous /dev/tty-only notifier could silently drop in-progress and completion updates even while prompts executed successfully.

What changed

  • Keep /dev/tty as the first choice for compatibility with older Codex versions.
  • Fall back to a terminal device found through bounded process-ancestry discovery. Linux uses /proc and readlink, including minimal images without ps; macOS uses ps.
  • Emit a nonfatal diagnostic when no writable terminal is found. Notification payloads and the Windows transport are unchanged.
  • Add isolated pseudo-terminal regression tests and document local container testing.

This does not change plugin version metadata or the minimum-version pins in Warp. Existing cached installations need an explicit refresh; release rollout is separate.

Validation

Manually tested with e2e tests and oz-local:

  • On codex 0.144 with this plugin, codex updates state through hooks properly (backward compatibility)
  • On codex 0.159.0 with this plugin, codex updates state through hooks properly (what this change fixes)
  • On codex 0.159.0 without this plugin, codex fails to update state through hooks

Completed during implementation:

  • Five notification tests passed in a disposable Linux container, including inherited-session and detached-hook cases and actual lifecycle hook scripts.
  • Existing shell suites passed: 65 hook/manifest assertions and 10 factory-files assertions.
  • Restoring the old notifier in a temporary copy made the detached-hook regression fail as expected.
  • Bash syntax and whitespace checks passed.

macOS PTY integration remains unverified: an isolated probe also hung without the plugin involved. Windows transport was not changed and PowerShell tests were not run locally.

Upstream behavior change: openai/codex#43876

CHANGELOG-APP: Fixed missing Codex status notifications when hooks run without a controlling terminal.

Agent conversation

Co-Authored-By: Warp agent@warp.dev

@seemeroland
seemeroland marked this pull request as ready for review September 30, 2026 01:31
@seemeroland
seemeroland merged commit c181c8f into main Sep 30, 2026
5 checks passed
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