openclaw - 💡(How to fix) Fix Codex command executions lose streamed output when aggregatedOutput is empty [1 pull requests]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

OpenClaw's Codex app-server event projector currently uses commandExecution.aggregatedOutput as the only output source for final command tool results. Some Codex command runs emit stdout through item/commandExecution/outputDelta, but the final commandExecution snapshot can still have aggregatedOutput: null or an empty value.

When that happens, OpenClaw records a completed bash tool result with no output. In the UI this can look like the run is stuck at Tool: bash or like it completed successfully with No output, even though stdout was streamed earlier.

Root Cause

The final command tool result/transcript output is empty because OpenClaw only reads aggregatedOutput for commandExecution items.

Fix Action

Fixed

RAW_BUFFERClick to expand / collapse

Summary

OpenClaw's Codex app-server event projector currently uses commandExecution.aggregatedOutput as the only output source for final command tool results. Some Codex command runs emit stdout through item/commandExecution/outputDelta, but the final commandExecution snapshot can still have aggregatedOutput: null or an empty value.

When that happens, OpenClaw records a completed bash tool result with no output. In the UI this can look like the run is stuck at Tool: bash or like it completed successfully with No output, even though stdout was streamed earlier.

Reproduction shape

  1. Run a Codex-backed OpenClaw session.
  2. Execute a command that emits stdout through item/commandExecution/outputDelta.
  3. Have the final commandExecution item arrive with aggregatedOutput: null.
  4. Build the final transcript/result snapshot.

Actual behavior

The final command tool result/transcript output is empty because OpenClaw only reads aggregatedOutput for commandExecution items.

Expected behavior

OpenClaw should preserve streamed outputDelta text and use it as a fallback final output when aggregatedOutput is missing or empty.

Impact

The user and subsequent agent context can lose the actual command output. This makes successful commands look empty and can make the UI appear stuck around Tool: bash, especially for commands whose useful result is printed to stdout.

Version check

I checked the current published stable package, the current npm beta, and upstream main; the issue still appears to be present in all of them.

Related work

#70966 improved verbose Codex tool logs, but it does not cover the final transcript/result fallback when aggregatedOutput is empty.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

OpenClaw should preserve streamed outputDelta text and use it as a fallback final output when aggregatedOutput is missing or empty.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING