The agent shows No output or times out and does not return the actual stdout to chat.
The same also happens with pwd.
In the manual terminal inside Cursor, the same commands work normally.
Expected Behavior
When the agent runs a terminal command such as echo test or pwd, Cursor should return the real stdout/stderr from that command to the chat message instead of showing No output, timing out, or paraphrasing the expected result.
Hey, this is a known issue. We’ve seen several reports of this on macOS, especially with zsh.
You’ve already done a lot of troubleshooting, so let’s focus on the things you haven’t tried yet:
DevTools console: This is the most important step right now. Go to Help > Toggle Developer Tools > Console, then ask the agent to run echo test. Look for errors like ENOENT, createSession timeout, or anything path-related. A screenshot of the console output would help a lot.
Legacy Terminal Tool: Go to Cursor Settings CMD+Shift+J > Agents > enable Legacy Terminal Tool. Then run CMD+Shift+P > Terminal: Kill All Terminals, fully restart Cursor, and try again.
Disable extensions: Run cursor --disable-extensions from a normal terminal, open the project, and check if the agent can capture output. This helps rule out extension conflicts.
Clean zsh profile: Temporarily rename ~/.zshrc to ~/.zshrc.bak and restart Cursor. Some zsh plugins (oh-my-zsh, powerlevel10k, etc.) can break terminal capture. In one similar report, removing ~/.zshrc fixed the issue completely.
Re-open via File > Open Folder: Since the problem is project-specific (an empty window works fine), there might be a stale working directory reference. Close Cursor, reopen it, and use File > Open Folder to open the project from scratch.
The fact that it works in an empty window but not in project windows is an important clue. The DevTools output will tell us exactly what’s going wrong.
Thanks! I checked DevTools Console while reproducing echo test.
The repeated errors I see are:
[TerminalExecutionServiceProxy] v3 health check failed after ~4500ms: Error: Command execution timeout
[TerminalExecutionServiceProxy] Cannot switch to v3: health check failed
I also see OTLPExporterError: Bad Request / Trace spans collection is not enabled for this user, but I assume the main issue is the repeated TerminalExecutionServiceProxy / v3 health check timeout.
This happens when reproducing the issue in the project window.
Please let me know what you’d like me to try next.
Great, that confirms the issue. Terminal v3 can’t create a session, so every command ends up timing out. The same error showed up in this thread, and it was fixed in two different ways.
Since you don’t have MCP set up, let’s try this step by step:
Legacy Terminal Tool
This is the fastest way to bypass v3 right now. Open Cursor Settings CMD+Shift+J > Agents > enable Legacy Terminal Tool. Then run CMD+Shift+P > Terminal: Kill All Terminals, fully restart Cursor, and try again. Legacy uses the older mechanism and doesn’t depend on the v3 health check.
Clean zsh profile
If Legacy doesn’t help, temporarily rename ~/.zshrc to ~/.zshrc.bak and restart Cursor. Some plugins (oh-my-zsh, powerlevel10k, etc.) can conflict with terminal capture. In that thread, this is what fixed it for one user.
No extensions
Run cursor --disable-extensions from your normal terminal, open the project, and test again.
Let me know which step worked (or didn’t), and we’ll dig in further.
Thanks! turning on the Legacy Terminal Tool fixed the issue.
After I enabled it in Cursor Settings - Agents, ran Terminal: Kill All Terminals from the Command Palette, and restarted Cursor, the agent was able to run echo test and return the output correctly.
So it looks like the problem is related to Terminal v3, while the Legacy Terminal Tool works fine as a workaround.