App-server thread/resume omits tool-call step history present in .codex rollout logs[/-] [+]Store tool-call steps in rollout logs
What feature would you like to see?
codex app-server exposes thread/resume for history rehydration, but the response omits per-tool step details (tool call inputs/outputs). Those details do exist in the rollout JSONL logs under ~/.codex/sessions/**/rollout-*.jsonl.
This makes it impossible for external apps to faithfully reconstruct historical “Run details”/tool steps using the app-server alone, forcing clients to parse rollout logs and perform heuristic prompt→task mapping.
Repro:
1) Run a Codex task that invokes tools (file edits / shell commands).
2) Inspect the rollout log: tool call input/output entries are present.
3) Call thread/resume for the same thread.
4) Observe that the returned history includes user/assistant/reasoning, but no tool step items.
Expected:
- thread/resume (or a companion endpoint) should return the full per-turn item stream including tool call steps, or provide a stable API to fetch tool step events for a given thread/turn.
Actual:
- Tool call steps are not available via app-server history; they only exist in local JSONL logs.
Why this matters:
- External clients cannot provide consistent historical run details without parsing local files.
- This creates ambiguity and fragility compared to a first-party API surface.
Additional information
_No response_
8 Comments
This isn't specific to the app server interface. The Codex harness currently doesn't save tool call outputs to the rollout logs. I'll change the title of the feature request to reflect this.
thanks @etraut-openai - but i thought the fact that it's in the session logs in .codex, means its there? are these different things?
My bad, I think I misunderstood your request. I thought you were asking to receive the _outputs_ of past tool calls. I don't think that's stored in the jsonl logs.
We haven't historically needed separate tool call events to be exposed for our first-party clients that use the app services API, but I can see why you might want this information.
that _is_ what i was saying, but i guess i misunderstood what was actually there. basically would be good to have the ability to re-trace what the agent did and show back the tool calls _and_ tool outputs by reading the jsonl
If we store all tool output in rollout logs, they will become extremely large, which creates a bunch of other problems. So far, we haven't had a need to store this, so there would need to be a really compelling reason for us to change that.
how about just timestamps? :)
https://github.com/openai/codex/issues/5148
Is this related to the issue where I can't see the history of tool calls in sessions after restarting the Codex App?
This feature request hasn't received enough upvotes, so I'm going to close it.