[BUG] Desktop app session fails to start when working directory on SMB share contains accents (macOS 27, NFC vs NFD)
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Sessions bound to a folder on an SMB network share crash immediately on start with "Can't access working directory ... does not exist". The folder exists and opens normally in Finder.
Root cause (verified on the affected machine):
- The SMB server stores accented folder names in decomposed Unicode (NFD).
- The desktop app passes the working directory as a precomposed (NFC) string.
- Since macOS 27.0.1, smbfs no longer matches NFC lookups against NFD names: stat/access/chdir with the NFC path return ENOENT, while the same path in NFD succeeds. Cocoa APIs (FileManager) still work because they convert to the file system representation first, which is why Finder is unaffected.
Check run on the affected machine:
NFC path -> os.path.isdir = False
NFD path -> os.path.isdir = True
What Should Happen?
The session should open in the selected folder, as it did before. Suggested fix: when the working directory check fails, retry with path.normalize('NFD') (and 'NFC') before erroring out, or keep the path exactly as returned by the OS folder picker / fs.realpath without normalizing it to NFC. The same fallback would ideally apply to the file tools (Read/Write/Edit), since paths typed by the model are NFC.
Error Messages/Logs
Claude Code process exited with code 1. stderr: Error: Can't access working directory /Volumes/<vol>/JURÍDICO/PESSOA JURÍDICA/<client>/99. Consultivo/Acordo de Sócios: Path "/Volumes/<vol>/JURÍDICO/PESSOA JURÍDICA/<client>/99. Consultivo/Acordo de Sócios" does not exist
Steps to Reproduce
- On macOS 27.0.1, mount an SMB share (Finder > Connect to Server) that contains a folder whose name has an accent stored in NFD on the server (e.g. "JURÍDICO").
- In the Claude desktop app (Code tab), start a new session with that folder (or any subfolder) as the working directory.
- The session crashes immediately with "Can't access working directory ... does not exist".
- Confirm the normalization mismatch in Terminal:
python3 -c "import os,unicodedata as u; p='/Volumes/SHARE/JURÍDICO'; print('NFC', os.path.isdir(u.normalize('NFC',p))); print('NFD', os.path.isdir(u.normalize('NFD',p)))"
Output: NFC False / NFD True
Folders without accents on the same share open normally.
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
Unknown Claude Code version; it worked on macOS 26.6.2 and broke after the OS upgrade to macOS 27.0.1 (2026-10-03)
Claude Code Version
2.1.288 (bundled in Claude desktop app 2.19675.1)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Other
Additional Information
- Using the Claude desktop app (Code tab), not a terminal. macOS 27.0.1 (build 26A434).
- SMB 3.1.1 share mounted via Finder (smbfs).
- Workaround that works: an ASCII-named symlink pointing to the NFD path. Not viable for daily use.
- An Apple Feedback report was also filed for the smbfs behavior change: FB25095497
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗