Skip to content

v0.2.0 — Linux and Windows

Pre-release
Pre-release

Choose a tag to compare

@teocns teocns released this 28 Jul 07:17
9275de7

neocursor now runs on Linux and Windows. Previously the sidecar only looked for Cursor's session in the macOS app-support path, so that was the only place it could ever find a login. Thanks @Aktyn for the report (#2) — and for confirming that ~/.config/Cursor was the missing piece.

Nothing to configure. Update and it finds your session:

Cursor data dir
macOS ~/Library/Application Support/Cursor
Linux $XDG_CONFIG_HOME/Cursor~/.config/Cursor
Windows %APPDATA%\Cursor

Insiders builds, the lowercase cursor directory some community Linux packages create, and Flatpak/Snap sandbox roots are detected too.

Unusual installs

Portable copies, or Windows-side Cursor seen from WSL:

export CURSOR_CONFIG_DIR="/mnt/c/Users/me/AppData/Roaming/Cursor"
# or point straight at the SQLite file:
export CURSOR_STATE_DB_PATH="/path/to/User/globalStorage/state.vscdb"

Better failures

"Cursor isn't where we looked" used to be a Python traceback in a log nobody opens. Now it's one line naming every path checked plus the overrides, surfaced through vim.notify when the sidecar dies during startup — so a broken setup tells you what's wrong instead of the plugin going silently inert. uv run cursor_paths.py prints the full resolution for bug reports.

Windows fixes beyond the path

Three things a path swap alone would have hit:

  • SQLite URI was built by hand, which breaks on C:\… backslashes and a bare drive letter. Now Path.as_uri() — which also fixed the unescaped space in "Application Support".
  • stdio inherited the platform default: Windows text mode rewrote the \n record separator to \r\n, and a POSIX C locale downgraded to ASCII, mangling non-ASCII buffers. Now pinned to UTF-8 + LF.
  • The macOS DNS workaround shelled out to dig/host everywhere — missing binaries and flashing console windows on Windows. Gated to macOS.

Also: the lazy.nvim build snippet used 'httpx[http2]', and single quotes aren't quotes in cmd.exe. The README now uses double quotes, valid in both sh and cmd. (The vim.pack recipe was already safe — it uses list form.)

Testing

CI now runs on ubuntu + windows + macos. Since no runner has anyone signed into Cursor, the specs synthesize a credential-free install and drive the real sidecar through it, covering path resolution, the SQLite URI, LF framing, and the full 20-assertion tab-flow spec on real Neovim.

Linux was additionally verified end-to-end against the live Cursor backend with a real session at ~/.config/Cursor; test/docker_linux.sh reproduces that from any checkout.

Honest caveat: Windows is proven by CI mechanics, not by a human in a Windows GUI Neovim with a real Cursor login. If you're on Windows, a confirmation (or a bug report) is very welcome.

Full changelog: v0.1.0...v0.2.0