diff --git a/packages/server/src/server/agent/agent-manager.test.ts b/packages/server/src/server/agent/agent-manager.test.ts
index 77fd2b42de..a768c67b7b 100644
--- a/packages/server/src/server/agent/agent-manager.test.ts
+++ b/packages/server/src/server/agent/agent-manager.test.ts
@@ -8183,9 +8183,20 @@ test("authoritative timeline includes provider-emitted submitted user prompt", a
workspaceId: undefined,
});
- await manager.runAgent(snapshot.id, "hello from composer", {
- clientMessageId: "msg-client-1",
- });
+ await manager.runAgent(
+ snapshot.id,
+ [
+ {
+ type: "text",
+ mimeType: "text/plain",
+ contextKind: "chat_history",
+ title: "Chat history",
+ text: "hidden fork history",
+ },
+ { type: "text", text: "hello from composer" },
+ ],
+ { clientMessageId: "msg-client-1" },
+ );
const liveEvents = events.filter(
(event): event is Extract =>
diff --git a/packages/server/src/server/agent/agent-manager.ts b/packages/server/src/server/agent/agent-manager.ts
index a973b5cae4..23f3fbf2bd 100644
--- a/packages/server/src/server/agent/agent-manager.ts
+++ b/packages/server/src/server/agent/agent-manager.ts
@@ -95,7 +95,7 @@ function submittedPromptText(prompt: AgentPromptInput): string {
return prompt;
}
return prompt
- .flatMap((block) => (block.type === "text" ? [block.text] : []))
+ .flatMap((block) => (block.type === "text" && !("mimeType" in block) ? [block.text] : []))
.join("\n")
.trim();
}