openai/codex · error
tool call {tool_call_id} disappeared during output linking
Error message
tool call {tool_call_id} disappeared during output linking What it means
Error "tool call {tool_call_id} disappeared during output linking" thrown in openai/codex.
Source
Thrown at codex-rs/rollout-trace/src/reducer/tool.rs:472
item.thread_id == thread_id
&& item.call_id.as_deref() == Some(call_id)
&& kinds.contains(&item.kind)
})
.map(|item| item.item_id.clone())
.collect::<Vec<_>>()
}
fn add_tool_call_item(&mut self, tool_call_id: &str, item_id: &str) -> Result<()> {
let Some(tool_call) = self.rollout.tool_calls.get_mut(tool_call_id) else {
bail!("tool call {tool_call_id} disappeared during conversation linking");
};
push_unique(&mut tool_call.model_visible_call_item_ids, item_id);
Ok(())
}
fn add_tool_output_item(&mut self, tool_call_id: &str, item_id: &str) -> Result<()> {
let Some(tool_call) = self.rollout.tool_calls.get_mut(tool_call_id) else {
bail!("tool call {tool_call_id} disappeared during output linking");
};
push_unique(&mut tool_call.model_visible_output_item_ids, item_id);
let Some(item) = self.rollout.conversation_items.get_mut(item_id) else {
bail!("conversation item {item_id} disappeared during output linking");
};
let producer = ProducerRef::Tool {
tool_call_id: tool_call_id.to_string(),
};
if !item.produced_by.contains(&producer) {
item.produced_by.push(producer);
}
Ok(())
}
fn link_tool_to_inference_response(&mut self, tool_call_id: &str) {
let Some(tool_call) = self.rollout.tool_calls.get(tool_call_id) else {
return;View on GitHub (pinned to 339751715c)
When it happens
Trigger: Thrown at codex-rs/rollout-trace/src/reducer/tool.rs:472 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of openai/codex@339751715c (2026-08-25).
Data as JSON: /api/errors/10f0b3ff964a3295.
Report an issue: GitHub.