Plugin install fails with EXDEV on cross-filesystem /tmp
Resolved 💬 3 comments Opened Feb 6, 2026 by aliparoya Closed Feb 6, 2026
Bug Description
Plugin installation fails with EXDEV: cross-device link not permitted when /tmp is on a different filesystem than ~/.claude/plugins/cache/.
Steps to Reproduce
- Have
/tmpon tmpfs (common on modern Linux distros like Fedora) - Have
~/.claudeon a different filesystem (e.g.,/homeon ext4/btrfs) - Run
/plugin install <any-plugin>
Error Message
Error: Failed to install: EXDEV: cross-device link not permitted, rename '/home/user/.claude/plugins/cache/plugin-name' -> '/tmp/claude-plugin-temp-1770407501692'
Expected Behavior
The installer should detect when rename() fails with EXDEV and fall back to copy + delete, which works across filesystems.
Workaround
Setting TMPDIR to a directory on the same filesystem before installing:
mkdir -p ~/.claude/tmp
export TMPDIR=~/.claude/tmp
claude plugin install <plugin>
Environment
- OS: Fedora 43 (Linux 6.18.5)
- Claude Code version: Latest
- Filesystem setup:
/tmpon tmpfs,/homeon ext4
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗