The codex backend spawns a long-running app-server process that doesn't exit after completing a turn. The lifecycle goroutine was waiting on <-readerDone which blocks on scanner.Scan() until stdout closes — but stdout never closes because the process stays alive. This caused the entire poll loop to freeze, preventing any further task processing. Fix: explicitly close stdin and cancel the context after the turn completes, which terminates the codex process and unblocks the reader. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| agent | ||
| db | ||
| protocol | ||