Atomic replace failed — request not supported, os error 50 - cc-switch
Quick fix
Upgrade cc-switch to v3.20.0 or newer, which fixes the regression where atomic config file replacement failed on WSL paths.
Symptom
Section titled “Symptom”原子替换失败: \\wsl.localhost\Ubuntu-22.04\home\yyl\.claude\settings.json.tmp.35200.1786108834876118600.5 -> \\wsl.localhost\Ubuntu-22.04\home\yyl\.claude\settings.json: 不支持该请求。 (os error 50)Atomic replace failed: \\wsl.localhost\Ubuntu-22.04\home\yyl\.claude\settings.json.tmp.35200.1786108834876118600.5 -> \\wsl.localhost\Ubuntu-22.04\home\yyl\.claude\settings.json: the request is not supported. (os error 50)
In cc-switch v3.19.2 and earlier, with the config directory pointing at a WSL path (`\\wsl.localhost\...`), the program tried to update `settings.json` and similar files through an atomic replace. The 9P filesystem protocol between Windows and WSL does not fully support some atomic file operations, so the system returns `os error 50` (request not supported) or `os error 5` (access denied).
There was also a hidden bug where the config cache was not refreshed correctly while switching frequently between WSL and Windows directories, letting old config overwrite new. Both the write logic and the cache problem were fixed in v3.20.0.
Upgrade cc-switch to v3.20.0 or newer, which fixes the regression where config could not be updated or switched on WSL paths.
If it still reports `os error 5` (access denied) after upgrading, delete the existing `.claude` or `.codex` config directory by hand in a WSL terminal, then enable the config again in cc-switch.
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”This page is distilled from 6 real issues
- Opening the terminal reports "'g' is not recognised as an internal or external command". What now?
- That usually happens when the Windows username contains non-ASCII characters, so the terminal launch command cc-switch generates parses its path wrongly. Change the Windows username to plain ASCII, or check the environment variable paths.
- Why can I not use shell and similar tools in Claude Desktop?
- Claude Desktop uses the CCD session system, which limits the number of tools by admin policy (4 by default). That is a Desktop mechanism — use CLI mode for full tool permissions.
- After switching config between WSL and Windows directories, new config is overwritten by old. What now?
- That is a bug in early versions where the config cache was not refreshed correctly across environments. Upgrade to the latest cc-switch; if it persists, restart cc-switch or clear the old config by hand.
Related problems
Section titled “Related problems”This is an unofficial community wiki with no affiliation to the cc-switch authors or the project itself. Its content is compiled from the project's public GitHub issues. This site distributes no software.