Hey, thanks for the detailed report and the video. Being able to reproduce it with a specific extension helps a lot.
The root cause is that Prettier esbenp.prettier-vscode does not support Go, but it still registers as a participant for codeActionsOnSave and formatOnSave. When you save a .go file, Cursor waits for a response from Prettier, and Prettier hangs on an unsupported language, so save and file creation get blocked. The same thing can happen during workspace initialization, because the Go extension and Prettier end up fighting over the extension host. This looks familiar, there are a few similar threads:
- When saving the file, the extension operation is blocked
- Initializing extensions... breaks extensions functionality and slows down Cursor IDE
You do not have to fully disable Prettier. You can limit it to specific languages using language specific overrides in settings.json:
"[go]": {
"editor.defaultFormatter": "golang.go",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit"
}
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
This tells Cursor to use golang.go for Go files and not trigger Prettier on save.
We also noticed that VS Code 1.117 behaves better. Cursor’s extension host pipeline has a few extra roles, which makes these race conditions more noticeable. If you try the config above, let me know if it helped.