DataMind Oda works through a task step by step, and two checks keep that work on track: one notices when Oda repeats the exact same step, and one cuts a step off when it passes its time limit. This page explains what both look like in the chat, and what, if anything, you need to do.
While it works, Oda follows its own steps. When it makes the exact same call with the exact same arguments several times in a row, reminders appear in the conversation, prompting Oda to check its approach:
You are repeating the exact same tool call with identical arguments. Carefully analyze the previous result before calling again: if the task is not complete, try a different approach or different arguments instead of repeating the call.
Repeated tool call detected:, names the step, how many times in a row it has been called, and the arguments; it closes with advice not to make the same call again, but to inspect the latest result and choose another action:Repeated tool call detected: - tool: <tool> - consecutive_calls: <count> - arguments: <arguments> The repeated calls are not making progress. Do not call this tool with these exact arguments again. Inspect the latest result and choose a different action, different arguments, or finish the task if enough evidence has been gathered.
… (+<omitted> more chars), with the number of characters left out.Only steps that carry a time limit get a deadline. When one passes its limit, Oda receives a timeout result and decides what to do next, rather than waiting without end.
| Step | Time limit |
|---|---|
| Searching the web, reading a page | 30,000 ms (30 seconds) by default |
| Reading, writing and editing files | none; these steps are never cut off |
| Shell commands | their own limits apply; see Shell commands |
Error: tool call timed out after <ms>ms
Oda reads it and chooses the next step, for example a retry, a different approach, or ending the work. How a failed step appears in the chat is on Tool calls in the chat.
Error: tool call aborted. Stopping a task is described in Chat with Oda.Both checks are on by default. The repeat reminder can be tuned for your installation:
* wildcard is allowed in these lists.The timeouts have no settings of their own: each step that carries a limit brings it. A setting that is not valid fails at start-up with an error, instead of changing the behaviour silently.
Because it made the exact same call with the exact same arguments several times in a row. On the third identical call Oda gets a short reminder, and on the fifth and eighth a detailed one. The reminder is advice: it never blocks or delays the call.
No. The reminder never blocks or delays a call, and it does not stop the task. Oda decides for itself whether to repeat, change the arguments, try another way or finish.
Three by default: a short reminder on the third repeat, and detailed ones on the fifth and eighth. The counts can be tuned for your installation.
The same step called with the same arguments; the order of the arguments does not matter. Any other call starts the count over. A call that was refused still counts if Oda makes the same call again.
Yes. Your next message clears the count; shortening a long chat does not, only a new message from you resets it.
The check counts exact repeats and does not judge why, so repeating something on purpose can still draw a reminder. Past the eighth repeat the reminders stop for that streak.
Only steps that carry a time limit. Searching the web and reading a page carry one (30,000 ms, 30 seconds, by default); file steps carry none; and shell commands have their own limits, on Shell commands.
Error: tool call timed out after <ms>ms mean?The step passed its time limit, and Oda received this timeout in place of the step's own result. It is an ordinary error result, not a stop of the task: Oda reads it and decides what to do next, for example retry or try another way.
No. The timeout asks the step to stop, and Oda's timeout result arrives once the step responds to that ask. A step that ignores the request can keep things waiting; the timeout cannot force it to end.
No. There is no blanket time budget: timeouts apply step by step, and only to the steps that carry a limit.
Yes, for your installation: the repeat counts, the steps that are watched or skipped (with * as a wildcard), and how much of the arguments the detailed reminder shows. An invalid setting fails at start-up instead of changing the behaviour silently.