You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug] Regression on 0.32.5-rc.4: Codex no-match searches (rg exit 1) are again rendered as failed — "[terminal exited: exit code: 1]" (regression of #651) #877
#651 fixed exactly this on Codeg 0.30.2 (Windows, codex-acp 1.8.0). On 0.32.5-rc.4 the failed rendering is back, so the normalization added for #651 no longer matches the records codex-acp 2.0.1 emits.
Reproduction
Open any folder in Codeg and start a Codex conversation.
Run a search that cannot match anything at that moment:
(when this was run, none of the matching files existed yet)
In a terminal the command exits 1 = "no matches", which is a normal result. Codeg shows it as failed.
Actual
[terminal exited: exit code: 1], failed styling, and the agent reads it as a broken command — it retried the same search several times in a row.
Expected
Exit code 1 from a search tool is not an error. Please show the neutral "no matches" state #651 asked for, keep the raw exit code visible, and keep failed styling only for real errors (exit code 2, stderr diagnostics).
Evidence
Same command, two moments inside one Codex session (Codex rollout JSONL):
The only difference is whether a match existed; the command never actually errored.
ripgrep's exit contract on this machine: no match → 1, match → 0, bad path → 2.
The literal marker [terminal exited: is present in the Codeg binaries (Contents/MacOS/codeg and Contents/MacOS/codeg-server) and absent from the Codex binary and from the @agentclientprotocol/codex-acp package, so the failed rendering is added on the Codeg side, as Codex rg searches with no matches are rendered as failed tool calls #651 described.
rg itself is healthy in this environment: command -v rg → /opt/homebrew/bin/rg, the PATH of the agent process includes /opt/homebrew/bin, and no command not found or permission error appears anywhere in the sessions. The only problem is the classification of a normal exit 1.
Scope note
This is not limited to rg. Any command with a meaningful non-zero exit (grep, diff, git diff --exit-code, test) hits the same rendering.
Suggested fix
Keep the raw ACP record unchanged and normalize only the expected no-match case: search command (rg/grep) + exit code 1 + empty output + no stderr diagnostics → neutral state, never is_error. Please re-verify against codex-acp2.0.1, since #651's fix was verified against 1.8.0.
Activity
xintaofei commentedon Oct 2, 2026
codeg work task
276is done — merged locally intomainas3b29d2f(6 files, +725/-8).# Release version 0.33.0
fix(codex): stop painting search pipelines that matched nothing as fa…