So I have seen alot of times where my agent is running and doing its thing, and then for some reason it starts waiting for something. Some times it sets a timer for waiting for 3 min, nothing is running in the background, its just waiting for now reason.
How do I turn this of. Sure it can wait for a command or something to be done. But it just did a 3 min wait after it grepped a file.
It makes the runs / requests so much longer and take so much time.
Those timers sound like the agent’s built-in wait tool. From what I can see, every one of those waits happens right after the agent starts a test run through your MCP server and before it calls back to check the result, so it is pausing for that run to finish rather than for anything inside Cursor. The grep just happened to be the last step before it decided to wait, and the model picks the wait length itself (that is where the 3 minutes comes from).
A few ways to get rid of them:
If you control that MCP server, make the “run tests” tool return the results directly (or have the status tool block until the run is done). Then there is nothing for the agent to wait on.
Add a rule (Cursor Settings -> Rules, or a .cursor/rules file in the project) along the lines of: “After starting a test run via MCP, do not use the wait tool. Check the result immediately, and if it is not finished, wait at most 15 seconds before checking again.” Telling it how long runs usually take also helps it pick shorter waits.
If it is already waiting, just type a follow-up message (even “continue”) or press Stop. A new message ends the wait early and the agent picks up right away.
Let me know if the waits still show up after that, and if so, paste a screenshot of the step right before the wait so I can take another look.
Hi what I have done currently is that I have just added some changes to my rules stateting that its not allowed to run AwaitShells just for waiting, and if it has to there’s a max on 5000ms.
Currently looks to work, but also still testing out.