Skip to content

bug(transcripts): read_agent_transcript drops Codex custom_tool_call exec commands (94% of 0.157 tool calls) #1362

Description

@Juliusolsson05

Found by review B of #1354 (Codex 0.157.1 acceptance). Pre-existing: the custom-call form dominates older versions too.

Actual

src/main/agentTranscripts/AgentTranscriptReader.ts (extractCodexResponseItem, around line 841) handles only function_call and function_call_output. A Codex response_item with payload.type: "custom_tool_call", name: "exec" (and its custom_tool_call_output) is skipped. So read_agent_transcript omits the shell command from timeline and shell_commands, giving an incomplete account of what a Codex agent did.

Evidence

  • 0.157.0/0.157.1 corpus: 10,247 custom calls and 10,241 custom outputs, against 691 function calls and outputs.
  • A 0.157.1-shaped rollout test expecting the shell command in the timeline failed.
  • The renderer already handles custom calls (src/providers/codex/renderer/transcript/rollout.ts:403).
  • The existing reader fixture (AgentTranscriptReader.system.test.ts:58) uses only the older function_call shape.

Fix direction

Handle custom_tool_call / custom_tool_call_output as the renderer does, and pin it with a recorded 0.157 rollout slice.

Activity

  1. Juliusolsson05 commented on Sep 27, 2026

    @Juliusolsson05
    OwnerAuthor

    Test gap to cover in the fix (from #1354 review B): deleting AgentTranscriptReader's role-user response_item extraction leaves its system suite green (4/4). The recorded 0.157 slice this issue asks for should also pin the role-user prompt, not only the custom_tool_call exec command.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    class:C3-silent-failureThe app knows it failed and does not sayprovider:codexAffects Codex integrationsev:P2Real bug with a workaroundtype:bugSomething works wrong

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions