Open
Conversation
Add utility to centralize cross-platform binary resolution logic with support for Windows PATH lookup.
Co-authored-by: Finn Birich <intisy@users.noreply.github.com>
…leSync fix, binary resolution Co-authored-by: Finn Birich <intisy@users.noreply.github.com>
…for correct multi-instance proxy reuse Co-authored-by: Finn Birich <intisy@users.noreply.github.com>
Co-authored-by: Finn Birich <intisy@users.noreply.github.com>
…ble) Co-authored-by: Finn Birich <intisy@users.noreply.github.com>
- Add provider object detection in isCursorPluginEnabledInConfig() - Check for cursor-acp in provider block before plugin array fallback - Add 2 tests for provider-based detection - Update README with Windows badge, PowerShell install snippet, and platform notes - Update comparison table to show Windows support - Add Windows config path note to install documentation
…ish ENOENT in single-file catch Co-authored-by: Finn Birich <intisy@users.noreply.github.com>
…rovider test Co-authored-by: Finn Birich <intisy@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
src/utils/binary.ts): NewresolveCursorAgentBinary()module with dependency injection for testability. Resolution priority:CURSOR_AGENT_EXECUTABLEenv → Windows known path (%LOCALAPPDATA%\cursor-agent\cursor-agent.cmd) → Unix known paths → PATH fallbackspawn()calls now includeshell: process.platform === "win32". Fixed command injection in plugin.ts Node models endpoint (execSync→execFileSync).killSignalomitted on win32 where POSIX signals aren't supportedcanonicalizePathForCompareandnormalizeWorkspaceForComparenow lowercase onwin32(in addition todarwin) for case-insensitive filesystem path comparison — the actual fix for the multi-instance workspace collision bug on Windowssrc/tools/defaults.ts):nodeFallbackGrepandnodeFallbackGlobfor Windows wheregrep/findaren't available — correct regex escaping, discriminated catch blocks, result caps (100/50), skipsnode_modules/.git/dist/buildsrc/plugin-toggle.ts):cursor-acpinproviderconfig object now correctly enables the plugin (before plugin array check)What was fixed from PR #52
PR #52 by @intisy had the right idea but contained several critical bugs that had to be rewritten:
package.json"type": "commonjs"— broke all ESM consumers (reverted to"module")isReusableProxyHealthPayloadgutted toreturn true— cross-workspace proxy hijack regression (left intact; root cause wascanonicalizePathForComparenot lowercasing on win32)execSync(binary + " models")string concat — command injection vector (fixed toexecFileSync)nodeFallbackGrep/nodeFallbackGlob— broken regex escaping, literal\\nstrings instead of newlines, emptycatch {}blocks (full rewrite)chat.headershook — does not exist in the OpenCode plugin SDK (removed)Test Plan
bun test tests/)bun run buildCo-authored-by: Finn Birich intisy@users.noreply.github.com