The Windsurf Cascade command keeps showing running, but it has actually run out in the terminal, usually because the terminal integration does not correctly recognize the end of the command. The official Windsurf FAQ also mentions that this may be related to the default terminal configuration, shell themes, or complex prompts.
First see if the command is really not over
Open the terminal panel and confirm that the command is still running. If the terminal has returned to the prompt, but Cascade also shows in progress, the problem is more likely to be in the IDE recognizing the terminal state rather than the command itself.
Click on the command output first, do not restart the project immediately. Many times the test has already been run, but Cascade doesn't get the end signal.
Set the default terminal
The Windsurf documentation recommends explicitly setting the default terminal profile. Go to Settings, search for Terminal Default Profile, and select the shell you actually use. Don't let the IDE guess between multiple shells, especially when PowerShell, Git Bash, WSL are mixed on Windows.
If you're using zsh on macOS or Linux, check the theme as well.
Close complex shell themes
Powerlevel10k, complex right prompts, startup banners, automatic environment detection scripts, all of which can cause Cascade to judge the output to be abnormal. Temporarily replace it with a simple prompt, and then test the same command.
If a simple prompt solves the problem, you can prepare a separate lightweight configuration for the Windsurf terminal without affecting your external terminal.
What to do if you are still stuck
Cleaning up Cascade's local history or restarting the IDE can be an afterthought, but don't delete the configuration as a first step, as this can lead to losing sessions and settings. First, troubleshoot from the default terminal, shell theme, and command interaction.
Conclusion: Cascade is stuck on running, and many times it's not that the AI won't run commands, but that the terminal end signal is not recognized. Make the terminal environment simple first, and the problem is usually better targeted.