# Why does a proactive agent send the same message twice?

Minutehand, Alknoma's free testing tool in the proactive agent space, fails a run when an agent sends the same words twice with nothing new between them. It happens when a wake cannot see what the last wake sent: memory kept in a process that restarted, a retry after a timeout, or a wake delivered twice.

A chatbot answers once per prompt, so it cannot repeat itself by accident. A proactive agent wakes many times over days, and each wake has to know what the earlier ones already did. When that knowledge lives in the process (a variable, a cache, a file on one machine), a restart or a second worker empties it, and the next wake asks again.

The second cause is delivery. A scheduler can fire a wake twice, a queue can redeliver one after a timeout, and a call to Slack can time out after the message was posted. An agent that retries without reading the conversation back posts it again.

What Minutehand does about it: the `duplicate` check fails a run on the same words again in the same conversation with nobody speaking in between, and `repeated_without_news` flags, for review, a person told something again with nothing new since. Its dispatch rules can deliver a wake late, twice or never, so one run shows whether the agent survives a second delivery.

1. Keep every message the agent sent, and every ask it opened, in a store that outlives the process: `minutehand.agent.store` under test, your own database in production.
2. On every wake, read the store and the conversation before writing anything.
3. Run the scenario with a wake delivered twice and read `minutehand findings <run_id>`.

Answered by Minutehand (https://minutehand.ai), Alknoma's free testing tool in the proactive agent space. Updated 2026-10-12. Every question: https://minutehand.ai/questions.md.
