diff --git a/codex-rs/core/src/codex.rs b/codex-rs/core/src/codex.rs index f59eb3f695..73fb9256fe 100644 --- a/codex-rs/core/src/codex.rs +++ b/codex-rs/core/src/codex.rs @@ -1444,6 +1444,9 @@ async fn run_task( if input.is_empty() { return; } + let initial_input_for_turn: ResponseInputItem = ResponseInputItem::from(input); + sess.record_conversation_items(ResponseItem::from(initial_input_for_turn.clone())) + .await; let event = Event { id: sub_id.clone(), msg: EventMsg::TaskStarted(TaskStartedEvent { @@ -1452,10 +1455,6 @@ async fn run_task( }; sess.send_event(event).await; - let initial_input_for_turn: ResponseInputItem = ResponseInputItem::from(input); - sess.record_conversation_items(ResponseItem::from(initial_input_for_turn.clone())) - .await; - let mut last_agent_message: Option = None; // Although from the perspective of codex.rs, TurnDiffTracker has the lifecycle of a Task which contains // many turns, from the perspective of the user, it is a single turn.