Skip to content

Windows: Codex launches tools with \\?\ namespace cwd, breaking pnpm/Node tooling #13845

@Braden-sui

Description

@Braden-sui

Summary

On Windows, Codex desktop is sometimes launching shells/tools with the workspace cwd set to the raw namespace path form \\?\C:\... instead of a normal DOS path like C:\....

That breaks Node ecosystem tools. In my case it caused pnpm to fail immediately with:

ERROR EISDIR: illegal operation on a directory, lstat 'C:'

This appears to be a Codex cwd normalization bug, not a repo-specific problem.

Environment

  • OS: Windows
  • Shell: PowerShell
  • Workspace path: C:\Users\brade\OneDrive\Desktop\vibecodr
  • Codex desktop app

Repro

  1. Open a workspace in Codex desktop such that the terminal/process cwd becomes \\?\C:\Users\brade\OneDrive\Desktop\vibecodr
  2. In the terminal, run:
    • Get-Location
    • node -e "console.log(process.cwd())"
    • pnpm -v
  3. Observe that PowerShell and Node report the cwd as the raw \\?\C:\... path.
  4. Observe that pnpm fails with EISDIR: illegal operation on a directory, lstat 'C:'.

Verified Comparison

Using the same repo on the same machine:

  • With cwd = \\?\C:\Users\brade\OneDrive\Desktop\vibecodr

    • node -e "console.log(process.cwd())" prints \\?\C:\Users\brade\OneDrive\Desktop\vibecodr
    • pnpm -v fails with EISDIR: illegal operation on a directory, lstat 'C:'
  • With cwd = C:\Users\brade\OneDrive\Desktop\vibecodr

    • node -e "console.log(process.cwd())" prints C:\Users\brade\OneDrive\Desktop\vibecodr
    • pnpm -v works normally

Expected Behavior

Codex should normalize Windows workspace cwd values before passing them to spawned shells/tools/processes.

Tools should receive a normal DOS path such as:

C:\Users\brade\OneDrive\Desktop\vibecodr

not the raw namespace-prefixed form:

\\?\C:\Users\brade\OneDrive\Desktop\vibecodr

Actual Behavior

Codex sometimes launches the terminal/processes with the raw \\?\ namespace path as cwd, which breaks pnpm and likely other Node tooling.

Impact

This breaks a lot of Codex desktop workflows on Windows because many app features eventually shell out to Node-based tools.

Likely Root Cause

Codex is probably preserving a Windows namespace path from internal file APIs and passing it through unchanged as the cwd for child processes.

Workaround

Manually cd to the normal path:

Set-Location -LiteralPath 'C:\Users\brade\OneDrive\Desktop\vibecodr'

or reopen the workspace from the normal path instead of the \\?\... path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbugSomething isn't workingwindows-osIssues related to Codex on Windows systems

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions