Description
On Windows, the extension appears to be accidentally creating a physical file literally named NUL (with no file extension) inside the main VS Code installation directory (C:\Users\<User>\AppData\Local\Programs\Microsoft VS Code\).
Because NUL is a reserved MS-DOS device name in Windows, the OS permanently locks the file. This completely breaks the VS Code background auto-updater, throwing an Access is denied error because the updater cannot overwrite or delete the NUL file. Furthermore, the parent directory throws an Invalid MS-DOS function error if the user attempts to delete it manually in File Explorer.
To resolve this locally and restore VS Code functionality, I had to use an elevated command prompt with the \\.\ bypass just to forcefully delete the corrupted file and reinstall VS Code.
Steps to Reproduce
- Run VS Code on Windows with the extension installed.
- Perform standard background Git operations triggered by the extension.
- Observe the creation of a physical file named
NUL in the VS Code installation directory.
- Attempt to run a VS Code update (fails with Access Denied).
- Attempt to manually delete the VS Code installation folder via File Explorer (fails with Invalid MS-DOS function).
Expected Behavior
Background commands that intend to discard output should correctly pipe to the Windows null device without generating a physical file on the disk.
Suspected Root Cause
There is likely a background command or script trying to discard output by piping it to /dev/null. On Windows, this is accidentally creating a literal file named NUL in the active working directory rather than safely piping to the system's void.
GitLens Version
17.11.1
VS Code Version
Version: 1.114.0 (user setup)
Commit: e7fb5e96c0730b9deb70b33781f98e2f35975036
Date: 2026-04-01T09:27:11Z
Electron: 39.8.3
ElectronBuildId: 13658728
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
OS: Windows_NT x64 10.0.26200
Git Version
git version 2.52.0.windows.1
Logs, Screenshots, Screen Captures, etc
Process ID (PID): 16016
Command line: C:\Users\XXXX\AppData\Local\Microsoft\WindowsApps\Microsoft.PowerShell_8wekyb3d8bbwe\pwsh.exe -noexit -command 'try { . "c:\Users\gurba\AppData\Local\Programs\Microsoft VS Code\e7fb5e96c0\resources\app\out\vs\workbench\contrib\terminal\common\scripts\shellIntegration.ps1" } catch {}'
Shell integration: Rich
Shell type: pwsh
Current working directory: C:\Users\XXXX\Downloads\CODING
Seen sequences: P, A, B
Prompt input: |
The following extensions have contributed to this terminal's environment:
Python Debugger: Enables use of no-config debugging, debugpy <script.py>, in the terminal.
GitHub Copilot Chat: Enables use of copilot-debug and copilot commands in the terminal
Git: Enables the following features: git auth provider
Python: Enables python.terminal.shellIntegration.enabled by modifying PYTHONSTARTUP and PYTHON_BASIC_REPL
The following extensions want to relaunch the terminal to contribute to its environment:
GitLens — Git supercharged: Enables GK CLI integration

Description
On Windows, the extension appears to be accidentally creating a physical file literally named
NUL(with no file extension) inside the main VS Code installation directory (C:\Users\<User>\AppData\Local\Programs\Microsoft VS Code\).Because
NULis a reserved MS-DOS device name in Windows, the OS permanently locks the file. This completely breaks the VS Code background auto-updater, throwing anAccess is deniederror because the updater cannot overwrite or delete theNULfile. Furthermore, the parent directory throws anInvalid MS-DOS functionerror if the user attempts to delete it manually in File Explorer.To resolve this locally and restore VS Code functionality, I had to use an elevated command prompt with the
\\.\bypass just to forcefully delete the corrupted file and reinstall VS Code.Steps to Reproduce
NULin the VS Code installation directory.Expected Behavior
Background commands that intend to discard output should correctly pipe to the Windows null device without generating a physical file on the disk.
Suspected Root Cause
There is likely a background command or script trying to discard output by piping it to
/dev/null. On Windows, this is accidentally creating a literal file namedNULin the active working directory rather than safely piping to the system's void.GitLens Version
17.11.1
VS Code Version
Version: 1.114.0 (user setup)
Commit: e7fb5e96c0730b9deb70b33781f98e2f35975036
Date: 2026-04-01T09:27:11Z
Electron: 39.8.3
ElectronBuildId: 13658728
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
OS: Windows_NT x64 10.0.26200
Git Version
git version 2.52.0.windows.1
Logs, Screenshots, Screen Captures, etc
Process ID (PID): 16016
Command line: C:\Users\XXXX\AppData\Local\Microsoft\WindowsApps\Microsoft.PowerShell_8wekyb3d8bbwe\pwsh.exe -noexit -command 'try { . "c:\Users\gurba\AppData\Local\Programs\Microsoft VS Code\e7fb5e96c0\resources\app\out\vs\workbench\contrib\terminal\common\scripts\shellIntegration.ps1" } catch {}'
Shell integration: Rich
Shell type: pwsh
Current working directory: C:\Users\XXXX\Downloads\CODING
Seen sequences: P, A, B
Prompt input: |
The following extensions have contributed to this terminal's environment:
Python Debugger: Enables use of no-config debugging, debugpy <script.py>, in the terminal.
GitHub Copilot Chat: Enables use of copilot-debug and copilot commands in the terminal
Git: Enables the following features: git auth provider
Python: Enables python.terminal.shellIntegration.enabled by modifying PYTHONSTARTUP and PYTHON_BASIC_REPL
The following extensions want to relaunch the terminal to contribute to its environment:
GitLens — Git supercharged: Enables GK CLI integration