Approval dialog hides original pipeline and shows only one parsed segment

Open 💬 2 comments Opened Jul 20, 2026 by alexandrefimov

What version of the Codex App are you using?

Codex App 26.715.52143; bundled codex-cli 0.145.0-alpha.18.

What subscription do you have?

Pro.

What platform is your computer?

Darwin 25.5.0 arm64 arm

What issue are you seeing?

For an approval request involving a compound shell command with a pipeline, the
approval dialog can show only one parsed command segment (in this reproduction,
wc -c) instead of the original command:

printf 'approval-probe\n' | wc -c

The complete command is still present in the underlying tool call/rollout, so
the information is available but is not visible in the approval presentation.
Showing only one segment removes the pipeline context needed to evaluate data
flow and side effects safely.

What steps can reproduce the bug?

  1. Use the Codex App with interactive approvals enabled.
  2. Ask Codex to run this harmless command with an approval request:

``shell
printf 'approval-probe\n' | wc -c
``

  1. Inspect the approval dialog.
  2. Observe that it presents only a parsed segment rather than the complete

original pipeline.

Codex correctly splits simple compound commands for per-segment exec-policy
evaluation. The problem is not the splitting itself; it is that the dialog does
not preserve the full original command as user-visible context.

What is the expected behavior?

The approval dialog should show both levels explicitly, for example:

Original command:
printf 'approval-probe\n' | wc -c

Segment requiring approval:
wc -c

If Codex also proposes a persistent prefix_rule, show it separately and use a
stable minimal safe prefix rather than transient runtime arguments or generated
resource IDs.

Additional information

Keeping per-segment policy evaluation is desirable because it prevents an
allowed command from hiding a dangerous adjacent command. The UI should add the
original command context without weakening that security behavior.

This becomes particularly important for pipelines where the first segment
reads data and a later segment transmits or mutates it: reviewing either segment
alone may not reveal the actual risk of the compound command.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗