Windows Desktop cannot preview WSL files because fs/watch treats raw /home paths as local

Open 💬 0 comments Opened Jul 17, 2026 by pnexus-wikii

What version of the Codex App are you using (From “About Codex” dialog)?

26.623.11225.0 (Microsoft Store package build recorded in the desktop log)

A similar WSL file-link failure is also reported on a newer 26.707 build in #32108, but that issue uses an extended UNC link and a different path transformation.

What subscription do you have?

Not relevant to the local file preview path. The issue reproduces in an authenticated desktop session.

What platform is your computer?

  • Windows 10 Pro, build 19045, x64
  • WSL2
  • Distro: Ubuntu24-Dev

What issue are you seeing?

Codex Desktop cannot load the file preview when a clickable file link points to an absolute path inside WSL, for example:

/home/<user>/Development/<repo>/path/to/file.md

The preview shows Unable to load preview (localized UI: 无法加载预览).

The file exists and is readable inside WSL. At the same moment, the desktop log shows that Codex sends the raw Linux path to the Windows-local filesystem host:

method=fs/watch
errorCode=-32600
Invalid request: AbsolutePathBuf deserialized without a base path
hostId=local
path=/home/<user>/Development/<repo>/path/to/file.md

This suggests the file-link handler loses the WSL host/distro context and treats a raw Linux path as a Windows-local path.

What steps can reproduce the bug?

  1. Run Codex Desktop on Windows with a WSL2 distro such as Ubuntu24-Dev.
  2. Confirm a Markdown file exists and is readable inside WSL:

``bash
stat /home/<user>/Development/<repo>/path/to/file.md
head -n 3 /home/<user>/Development/<repo>/path/to/file.md
``

  1. In a Codex chat, render a clickable Markdown link whose target is the absolute WSL path:

``markdown
[file](/home/<user>/Development/<repo>/path/to/file.md)
``

  1. Click the link.
  2. Observe that the preview cannot load.
  3. Inspect the Codex Desktop log and observe the failed fs/watch request with hostId=local and the raw /home/... path.

The failure reproduced repeatedly for files under both:

/home/<user>/.agents/...
/home/<user>/Development/...

The current log contains 19 matching Failed to watch open file events.

What is the expected behavior?

Codex should preserve the WSL execution context when opening a WSL file link.

The file should either:

  • be opened through the selected WSL distro/host, or
  • be translated to a valid \\wsl.localhost\<distro>\... path before using the Windows-local file service.

The preview and file watcher should load without an AbsolutePathBuf deserialization error.

Additional information

Sanitized log sequence from one reproduction:

method=fs/watch errorCode=-32600
Request failed ... "Invalid request: AbsolutePathBuf deserialized without a base path"
Failed to watch open file ... hostId=local path=/home/<user>/Development/<repo>/path/to/file.md

The same file was verified as a regular readable file from Ubuntu24-Dev.

Related but not identical:

  • #32108 — extended WSL UNC chat links are rewritten to /?/UNC/...
  • #19052 — WSL Review pane used a Windows-local watcher for raw Linux paths (closed)
  • #29347 — clicking WSL/UNC chat links could restart Codex Desktop

View original on GitHub ↗