Plugin install fails with EXDEV when /tmp is on a different filesystem
Resolved 💬 2 comments Opened Feb 14, 2026 by davidbeesley Closed Feb 14, 2026
Description
claude plugin install fails with EXDEV: cross-device link not permitted when /tmp is on a different filesystem than ~/.claude/.
Steps to Reproduce
- Have a system where
/homeand/tmpare on different partitions/filesystems - Run
claude plugin install <any-plugin>
Error
Installing plugin "myplugin"...
✘ Failed to install plugin "myplugin": EXDEV: cross-device link not permitted, rename '/home/user/.claude/plugins/cache/myplugin' -> '/tmp/claude-plugin-temp-1771046448838'
Workaround
Setting TMPDIR to a directory on the same filesystem works:
mkdir -p ~/.claude/tmp && TMPDIR=~/.claude/tmp claude plugin install <plugin>
Expected Behavior
The installer should fall back to copy + unlink when fs.rename() fails with EXDEV, since rename() cannot move files across filesystem boundaries.
Environment
- Linux (Debian 13, kernel 6.12)
- Separate partitions for
/homeand/tmp
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗