The startup temp directory check no longer follows symlinks, closing a swap window.
What's wrong with this entry?
The startup check on the temp directory now opens it with O_NOFOLLOW and inspects and fixes the open descriptor, instead of checking the path and then changing it, closing a window where the directory could be swapped between the two steps.
- A planted symlink or non-directory produces a distinct error, as does a directory owned by someone else or with an altered mode.
- In each of these cases Claude Code refuses to use the directory.
is not readable (its mode may have been altered, or a path component denies search). Refusing to use it
Strings lifted out of the shipped bundle, so the claim above can be checked against them.