{"version":"2.1.287","anchor":"windows-reparse-and-symlink-support-in-held-directory-backen","canonical_anchor":"windows-reparse-and-symlink-support-in-held-directory-backen","heading":"Groundwork for making and reading symbolic links on Windows and macOS","tier":"internal","area":"File Access","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.287\/e\/windows-reparse-and-symlink-support-in-held-directory-backen","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.287","markdown":"### Groundwork for making and reading symbolic links on Windows and macOS\n\nClaude Code's low-level file layer gains symbolic link support through Windows reparse points and macOS calls, plus new matching error handling\n\n**Unclear.** It is not clear where, if anywhere, this new link handling is used yet.\n\n**What**\n\nA symbolic link (symlink) is a file that points to another file or folder. Claude Code's low-level file layer, the part that works with files inside a held directory, has new code for making and reading these links.\n\n- Windows support uses reparse points, the Windows mechanism behind symlinks. It adds `setSymlink` and `readSymlink` operations and a new `NtFsControlFile` binding, which is a direct hook into a Windows system call.\n\n- On macOS, the system library binding now loads `symlinkat` and `readlinkat`. If they cannot be loaded, a warning is logged saying no symbolic link can be made or read in a held directory.\n\n- The Windows status codes `NOT_A_REPARSE_POINT` and `IO_REPARSE_DATA_INVALID` are now recognized. Both are mapped to `EINVAL`, the standard \"invalid argument\" error.\n\n- Symlink reads now decode their data through a new helper.\n\n- A new error, `WORKING_LINK_UNSUPPORTED`, says that this backend cannot make or read a symbolic link in a held directory.\n\n**Why**\n\nThe members do not describe any visible change in how Claude Code behaves yet. In practice, this is the plumbing that lets file operations deal with symbolic links. Where the system does not support them, you get a clear error instead of an unexplained failure.\n\n- Area: File Access\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 3\/5"}