Eslint extension not working on Cursor
Title: ESLint extension fails to load in Cursor - "ENOENT" errors with Cursor Helper (Plugin)
Description
The ESLint extension is failing to function in Cursor editor. When the editor starts, it continuously produces "ENOENT" errors trying to spawn the Cursor Helper (Plugin) process, rendering the ESLint functionality completely unusable.
Environment
- OS: macOS
- Cursor Version: [YOUR_VERSION_HERE]
- Node Version: v20.18.3 (as shown in logs)
- Project Type: JavaScript/Node.js/React/Next.js
Error Logs
[Info - 12:42:42] ESLint server is starting.
[Info - 12:42:43] ESLint server running in node v20.18.3
[Info - 12:42:43] ESLint server is running.
Uncaught exception received.
Error: spawn /Applications/Cursor.app/Contents/Frameworks/Cursor Helper (Plugin).app/Contents/MacOS/Cursor Helper (Plugin) ENOENT
at ChildProcess._handle.onexit (node:internal/child_process:285:19)
at onErrorNT (node:internal/child_process:483:16)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
[Info - 12:42:43] ESLint library loaded from: /Users/ricardosala/Documents/Projects/flowpost/node_modules/eslint/lib/api.js
Steps to Reproduce
- Open a JavaScript/TypeScript project with ESLint configuration
- Observe the console logs showing repeated ENOENT errors
- Try to use any ESLint functionality (linting, fixing issues, etc.)
Expected Behavior
ESLint should initialize properly and provide linting functionality within the editor.
Actual Behavior
ESLint server starts but immediately encounters errors with the Cursor Helper (Plugin). The extension becomes non-functional, with continuous error messages appearing in the logs.
Attempted Solutions
I have already tried:
- Restarting the Cursor editor
- Reinstalling Cursor with the latest version
- Checking file permissions on the helper executable
- Temporarily using alternative editors (ESLint works correctly there)
- Checking for macOS updates and ensuring all necessary permissions are granted
None of these solutions have resolved the issue.
Impact
This issue completely prevents using ESLint functionality within Cursor, which is a critical developer tool for maintaining code quality. Without functioning ESLint integration, I'm forced to use alternative editors or manually check linting issues, significantly impacting productivity.
Additional Context
The ESLint configuration works correctly in other editors (like VS Code), confirming that the issue is specific to Cursor's implementation of the ESLint extension or its plugin helper system.
Cursor version
Version: 0.48.9 (Universal) Commit: 61e99179e4080fecf9d8b92c6e2e3e00fbfb53f0
Eslint version
"eslint": "^9.24.0",
Eslint extension version
Identifier dbaeumer.vscode-eslint Version 3.0.10 Last Updated 2025-04-08, 10:16:05 Size 787.5 KB
...hello? :)
I have the same error
Same issue here
I meet the same problem after I updated cursor recently
vscode could work , but cursor not.
Also having this issue since I installed 0.50 a day or two ago.
same error, any updates?
Same issue, anyone find a work around?
same issue
This is a major issue trying to use Cursor with TypeScript. Cursor devs, please acknowledge this issue and at least let us know you are aware...
The behavior is inconsistent. Sometimes the eslint plugin runs and properly flags linter issues, sometimes it crashes. It may be related to how many files with linter issues there are. I notice that it tends to crash consistently when I run a pnpm eslint script to lint the entire workspace, which can generate a lot of problems. However, sometimes if I ctrl-click on the filenames from the Terminal tab (instead of clicking on them in the Problems tab), the eslint plugin properly lints them in the editor. Sometimes it does not, regardless of how I open the file.
In general, if I am simply opening files and working on them, the plugin seems to run and highlight lint errors as cursor or I are editing the file, but not always, and it seems to have particular issues with Typescript and the import/order eslint plugin.
It was more stable when I was using Cursor on a Javascript codebase than it is on a Typescript codebase.
same issue
Reporting to everyone with this issue, I've updated cursor to v1.2 and its working again. I didn't see any changes related to this in the changelog.
Yes, it is frustrating to work with TypeScript. Could this be prioritized? Please
I had the same issue. For me this was caused by a separate extension overwriting the eslint.validate setting effectively disabling the eslint plugin for everything but a small subset of files.
same issue
same issue
same issue
I had the same issue. For me this was caused by a separate extension overwriting the
eslint.validatesetting effectively disabling the eslint plugin for everything but a small subset of files.
Hi @jonatansberg , could you please share more details? Which extension was it and how did you discover the issue?
I have also been facing the problem of the ESLint extension not working in Cursor. However, for the same codebase, it does work in VS Code and ESLint works in the terminal.
edit: I was able to get ESLint working again in Cursor by disabling/uninstalling many other extensions. Unfortunately, I wasn't able to identify which extension was conflicting. It's strange that I didn't have this issue in VS Code, only in Cursor.
I had the same issue and what instantly fixed it for me was to remove this line from my user settings.json file:
"eslint.validate": [],
This is how that config was described on hover:
An array of language ids which should be validated by ESLint. If not installed ESLint will show an error.
So I assume it was just not validating any language. No clue how this config got there, but I'm happy that I finally made Eslint work again in Cursor.
I hope it helps others
I had the same issue and what instantly fixed it for me was to remove this line from my user settings.json file:
"eslint.validate": [],This is how that config was described on hover:
An array of language ids which should be validated by ESLint. If not installed ESLint will show an error.
So I assume it was just not validating any language. No clue how this config got there, but I'm happy that I finally made Eslint work again in Cursor.
I hope it helps others
This workaround worked. Not sure how this affects the extension?
I had the same issue and what instantly fixed it for me was to remove this line from my user settings.json file:
"eslint.validate": [],
Mine was ["javascript", "vue"]. I wonder what put it there. Thanks a lot @jonatansberg @pmrotule, this was driving me crazy!
Installing:
"@next/eslint-plugin-next" and "eslint-plugin-react-hooks"
Fixed it for me.
My guess is that there is a dependency broken somewhere and manually installing this two (although we are not explicitly using them) fixes the issue and the eslint server is back and running.
adding the languages in the eslint.validate array works for me
"eslint.validate": ["javascriptreact", "typescriptreact", "typescript", "javascript", "html"]