Agent worker start on Windows says "Git for Windows is required" even though Git for Windows and Git Bash are installed (only the registry tools disabled by policy)

Where does the bug appear (feature/product)?

Cursor CLI

Describe the Bug

Environment

Windows 11, corporate-managed PC (Group Policy: “Prevent access to registry editing tools” enabled)
Cursor CLI 2026.11.05-86047df, installed with irm ‘Cursor CLI — Run Agents in Terminal, GitHub Actions and Automations & Scripts’ | iex
Git for Windows 2.55.0.windows.5 at C:\Program Files\Git
PowerShell 5.1, execution policy set to RemoteSigned (CurrentUser)
Steps

Install Git for Windows (standard install, Git Bash included).
Install the Cursor CLI and run agent login (succeeds).
Run agent worker start --name “”.
Expected: the worker starts.

Actual:

ERROR Error starting exec-daemon ctx=worker-mode error=Error: Git for Windows is required to run a private worker on Windows. Install it from git-scm. com/download/win and include Git Bash, then start the worker again.
at T (…\cursor-agent\versions\2026.11.05-86047df\8123.index.js:1:597039)
at Ht (…\cursor-agent\versions\2026.11.05-86047df\2855.index.js:1:71022)
worker-startup.log repeats the same message on every attempt.

Verified on the machine

where.exe git gives C:\Program Files\Git\cmd\git.exe, and git --version gives 2.55.0.windows.5
C:\Program Files\Git\bin\bash.exe, git-bash.exe and usr\bin\bash.exe all exist
Prepending C:\Program Files\Git\cmd;C:\Program Files\Git\bin to PATH makes no difference
where.exe bash lists the WindowsApps WSL stub ahead of Git Bash
reg query “HKLM\SOFTWARE\GitForWindows” /v InstallPath fails with “Registry editing has been disabled by your administrator.”
Suspected cause: Git detection shells out to reg.exe, which this policy blocks, so detection fails even with Git installed. It might also resolve bash from PATH and pick up the WSL stub.

Request: fall back to a filesystem check (%ProgramFiles%\Git\bin\bash.exe, or the git.exe location on PATH) when registry access fails. Or add a flag or environment variable to set the Git Bash path explicitly.

PS C:\Users\foo\work> Get-ItemProperty “HKLM:\SOFTWARE\GitForWindows” | Select InstallPath

InstallPath

C:\Program Files\Git

PS C:\Users\foo\work> agent worker start --name “foo-pc” --debug

DEBUG LOGS
Connection
Endpoint api2.cursor.sh
Ghost mode on (privacy)

Auth
Method login

Identity
Email foo
User ID faa
Team ID fee

Worker
ID unknown
Name foo-pc
Mode multi-use
Workspace C:\Users\foo\work
Data dir C:\Users\foo\AppData\Local\cursor-agent
Labels (none)

Computer use
Ready no
Session unknown (the sidecar reports it once it can launch)
Sidecar none
Shell ✗ no Git for Windows found; worker start refuses to run until it is installed

Desktop share
Supported no

Visibility
Non-privacy 0 workers
Privacy same as non-privacy

Warnings

  • No git origin URL found in worker directory; repo-based matching may not work as expected.
  • Computer use is unavailable on this machine: this agent CLI build pins no Windows computer-use sidecar release yet; set CUA_SERVICE_EXE to a sidecar build to try it.
  • Git for Windows is required to run a private worker on Windows. Install it from Redirecting… and include Git Bash, then start the worker again.
  • Desktop sharing is unsupported on win32.

======
Starting worker…
Tip: use --verbose for more logs, and --debug for extra debug information
02:15:33.589 INFO Starting in worker mode ctx=worker-mode meta={bridgeUrl: “api2.cursor.sh”}
02:15:33.641 INFO Scoping worker to the selected team ctx=worker-mode meta={teamId: faa, authMethod: “login”}
02:15:33.733 INFO Fetching user privacy mode… ctx=worker-mode
02:15:33.837 INFO User ghost mode ctx=worker-mode meta={ghostMode: true, bridgeType: “privacy”}
02:15:33.838 INFO Using user data directory ctx=worker-mode meta={dataDir: “C:\Users\foo\AppData\Local\cursor-agent”}
02:15:34.031 ERROR Error starting exec-daemon ctx=worker-mode error=Error: Git for Windows is required to run a private worker on Windows. Install it from /git-scm.com/download/win and include Git Bash, then start the worker again.
at T (C:\Users\foo\AppData\Local\cursor-agent\versions\2026.11.05-86047df\8123.index.js:1:597039)
at Ht (C:\Users\foo\AppData\Local\cursor-agent\versions\2026.11.05-86047df\2855.index.js:1:71022)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async g. (C:\Users\foo\AppData\Local\cursor-agent\versions\2026.11.05-86047df\index.js:2:515366)
at async g.parseAsync (C:\Users\foo\AppData\Local\cursor-agent\versions\2026.11.05-86047df\index.js:414:1264244)
at async yt (C:\Users\foo\AppData\Local\cursor-agent\versions\2026.11.05-86047df\index.js:2:473690)
at async h (C:\Users\foo\AppData\Local\cursor-agent\versions\2026.11.05-86047df\index.js:408:8554)
Error starting exec-daemon: Git for Windows is required to run a private worker on Windows. Install it from git-scm. com/download/win and include Git Bash, then start the worker again. Log: C:\Users\foo\AppData\Local\cursor-agent\worker-startup.log
PS C:\Users\foo\work>

Steps to Reproduce

agent worker start or agent login

Operating System

Windows 10/11

Version Information

agent about:
About Cursor CLI

CLI Version 2026.11.05-86047df
Latest 2026.11.05-86047df (up to date)
Model Auto Balance
Subscription Tier Enterprise
OS win32 (x64)
Terminal windows-terminal
Shell cmd

Does this stop you from using Cursor

Yes - Cursor is unusable

Hey @Irfan_Ashraf, we’ve let the team know.

Quick unblock: install Git for Windows per-user so it lands in %LOCALAPPDATA%\Programs\Git - the worker trusts that location without any registry read.

  1. Run the Git for Windows installer as your normal user (not “Run as administrator”); point the install location at %LOCALAPPDATA%\Programs\Git (the default for a non-elevated install). PortableGit extracted there also works.
  2. Confirm %LOCALAPPDATA%\Programs\Git\bin\sh.exe and %LOCALAPPDATA%\Programs\Git\usr\bin\sh.exe both exist.
  3. Open a new terminal and run agent worker start --name "<machine>" again.

If the Shell line in --debug still shows “no Git for Windows found” after that, let me know.