Add turn_id to codex exec JSONL turn.started / turn.completed events

Resolved 💬 1 comment Opened Mar 2, 2026 by GeLi2001 Closed Apr 11, 2026

What variant of Codex are you using?

CLI

What feature would you like to see?

In codex exec JSONL output, turn.started and turn.completed currently don’t include a stable turn
identifier.
This forces consumers to pair lifecycle events via mutable positional state, which can break with
cross-batch ordering/replay.

Request:

  • Add turn_id to turn.started and turn.completed payloads (additive/backward-compatible).
  • Ensure turn.failed correlation is explicit as well (either same turn_id field or documented

equivalent).

  • Document the lifecycle pairing contract for exec JSONL.

Why this matters:

  • Reliable turn-level observability
  • Safer ingestion/ETL pipelines
  • Consistent correlation with app-server v2 turn semantics

Additional information

_No response_

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗