From c4d2d848277b1fa347bfd9cf021daa5948a0ec1d Mon Sep 17 00:00:00 2001 From: Steve Marshall Date: Mon, 15 Jun 2026 16:03:59 +0100 Subject: [PATCH] fix(agent): ensure tool request timestamp precedes tool response timestamp (#9462) Signed-off-by: Steve Marshall Co-authored-by: Claude Sonnet 4.6 --- crates/goose/src/agents/agent.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/crates/goose/src/agents/agent.rs b/crates/goose/src/agents/agent.rs index 441cd5c63f..0ad1de7ad0 100644 --- a/crates/goose/src/agents/agent.rs +++ b/crates/goose/src/agents/agent.rs @@ -2143,10 +2143,14 @@ impl Agent { request.metadata.as_ref(), request.tool_meta.clone(), ); - messages_to_add.push(request_msg); let final_response = request_to_response_map .remove(&request.id) .unwrap_or_else(|| Message::user().with_generated_id()); + // Response placeholder is created before tools run, so clamp request to avoid inverted ordering. + if request_msg.created > final_response.created { + request_msg.created = final_response.created; + } + messages_to_add.push(request_msg); yield AgentEvent::Message(final_response.clone()); messages_to_add.push(final_response); } else {