[GH-ISSUE #22] Error: Failed to install: EXDEV: cross-device link not permitted #16

Closed
opened 2026-03-03 18:50:00 +03:00 by kerem · 3 comments
Owner

Originally created by @msuadOf on GitHub (Jan 12, 2026).
Original GitHub issue: https://github.com/OthmanAdi/planning-with-files/issues/22

when I type the command in claude:

/plugin marketplace add OthmanAdi/planning-with-files
/plugin install planning-with-files@planning-with-files

the /plugin install planning-with-files@planning-with-files will result in:

 Error: Failed to install: EXDEV: cross-device link not permitted, rename 
 '/home/<user>/.claude/plugins/cache/planning-with-files' -> '/tmp/claude-plugin-temp-1768223964839'
Originally created by @msuadOf on GitHub (Jan 12, 2026). Original GitHub issue: https://github.com/OthmanAdi/planning-with-files/issues/22 when I type the command in claude: ```shell /plugin marketplace add OthmanAdi/planning-with-files /plugin install planning-with-files@planning-with-files ``` the `/plugin install planning-with-files@planning-with-files` will result in: ```shell Error: Failed to install: EXDEV: cross-device link not permitted, rename '/home/<user>/.claude/plugins/cache/planning-with-files' -> '/tmp/claude-plugin-temp-1768223964839' ```
kerem closed this issue 2026-03-03 18:50:00 +03:00
Author
Owner

@OthmanAdi commented on GitHub (Jan 12, 2026):

This is a known bug in Claude Code's plugin installer, not specific to this skill.

The issue: Claude Code uses fs.rename() to move files between /tmp and ~/.claude. On Linux distros where /tmp is mounted as tmpfs (Ubuntu 21.04+, Fedora, Arch), this fails because rename() can't work across filesystem boundaries.

Tracked here: anthropics/claude-code#14799

Workarounds

Option 1: Set TMPDIR (fixes plugin install)

mkdir -p ~/.claude/tmp
TMPDIR=~/.claude/tmp claude

Or add to your shell profile permanently:

echo 'export TMPDIR="$HOME/.claude/tmp"' >> ~/.bashrc
source ~/.bashrc

Then retry the plugin install.

Option 2: Use skill-only installation (avoids the bug entirely)

git clone https://github.com/OthmanAdi/planning-with-files.git
cp -r planning-with-files/skills/planning-with-files ~/.claude/skills/

This bypasses the plugin system entirely. You get full functionality — the complete 3-file planning pattern works exactly the same. You just won't get automatic updates or hooks.

What's the difference?

See the updated installation docs (on the feature/docs-plugin-vs-skill branch) for a full comparison.

TL;DR: Skill-only is fully functional. The plugin adds hooks (auto-reminders) and automatic updates, but the core planning pattern works either way.


This is a Claude Code bug, not something I can fix in this repo. I'd recommend upvoting #14799 to help prioritize the fix.

<!-- gh-comment-id:3739637554 --> @OthmanAdi commented on GitHub (Jan 12, 2026): This is a known bug in Claude Code's plugin installer, not specific to this skill. **The issue:** Claude Code uses `fs.rename()` to move files between `/tmp` and `~/.claude`. On Linux distros where `/tmp` is mounted as tmpfs (Ubuntu 21.04+, Fedora, Arch), this fails because `rename()` can't work across filesystem boundaries. **Tracked here:** [anthropics/claude-code#14799](https://github.com/anthropics/claude-code/issues/14799) ## Workarounds ### Option 1: Set TMPDIR (fixes plugin install) ```bash mkdir -p ~/.claude/tmp TMPDIR=~/.claude/tmp claude ``` Or add to your shell profile permanently: ```bash echo 'export TMPDIR="$HOME/.claude/tmp"' >> ~/.bashrc source ~/.bashrc ``` Then retry the plugin install. ### Option 2: Use skill-only installation (avoids the bug entirely) ```bash git clone https://github.com/OthmanAdi/planning-with-files.git cp -r planning-with-files/skills/planning-with-files ~/.claude/skills/ ``` This bypasses the plugin system entirely. You get full functionality — the complete 3-file planning pattern works exactly the same. You just won't get automatic updates or hooks. ## What's the difference? See the updated [installation docs](https://github.com/OthmanAdi/planning-with-files/blob/feature/docs-plugin-vs-skill/docs/installation.md#plugin-vs-skill-only-whats-the-difference) (on the `feature/docs-plugin-vs-skill` branch) for a full comparison. **TL;DR:** Skill-only is fully functional. The plugin adds hooks (auto-reminders) and automatic updates, but the core planning pattern works either way. --- This is a Claude Code bug, not something I can fix in this repo. I'd recommend upvoting [#14799](https://github.com/anthropics/claude-code/issues/14799) to help prioritize the fix.
Author
Owner

@OthmanAdi commented on GitHub (Jan 12, 2026):

@msuadOf 中文版本:

这是 Claude Code 插件安装器的一个已知 bug,不是这个技能本身的问题。

问题原因: Claude Code 使用 fs.rename()/tmp~/.claude 之间移动文件。在 /tmp 挂载为 tmpfs 的 Linux 发行版上(Ubuntu 21.04+、Fedora、Arch),由于 rename() 无法跨文件系统边界工作,所以会失败。

官方 Bug 追踪: anthropics/claude-code#14799

解决方案

方案 1:设置 TMPDIR(修复插件安装)

mkdir -p ~/.claude/tmp
TMPDIR=~/.claude/tmp claude

或者永久添加到 shell 配置:

echo 'export TMPDIR="$HOME/.claude/tmp"' >> ~/.bashrc
source ~/.bashrc

然后重试插件安装。

方案 2:使用纯技能安装(完全避开这个 bug)

git clone https://github.com/OthmanAdi/planning-with-files.git
cp -r planning-with-files/skills/planning-with-files ~/.claude/skills/

这完全绕过插件系统。你会获得完整的功能——3文件规划模式完全一样工作。只是没有自动更新和 hooks。


这是 Claude Code 的 bug,不是我这个仓库能修复的。建议给 #14799 点赞,帮助提高修复优先级。

<!-- gh-comment-id:3739640047 --> @OthmanAdi commented on GitHub (Jan 12, 2026): @msuadOf 中文版本: 这是 Claude Code 插件安装器的一个已知 bug,不是这个技能本身的问题。 **问题原因:** Claude Code 使用 `fs.rename()` 在 `/tmp` 和 `~/.claude` 之间移动文件。在 `/tmp` 挂载为 tmpfs 的 Linux 发行版上(Ubuntu 21.04+、Fedora、Arch),由于 `rename()` 无法跨文件系统边界工作,所以会失败。 **官方 Bug 追踪:** [anthropics/claude-code#14799](https://github.com/anthropics/claude-code/issues/14799) ## 解决方案 ### 方案 1:设置 TMPDIR(修复插件安装) ```bash mkdir -p ~/.claude/tmp TMPDIR=~/.claude/tmp claude ``` 或者永久添加到 shell 配置: ```bash echo 'export TMPDIR="$HOME/.claude/tmp"' >> ~/.bashrc source ~/.bashrc ``` 然后重试插件安装。 ### 方案 2:使用纯技能安装(完全避开这个 bug) ```bash git clone https://github.com/OthmanAdi/planning-with-files.git cp -r planning-with-files/skills/planning-with-files ~/.claude/skills/ ``` 这完全绕过插件系统。你会获得完整的功能——3文件规划模式完全一样工作。只是没有自动更新和 hooks。 --- 这是 Claude Code 的 bug,不是我这个仓库能修复的。建议给 [#14799](https://github.com/anthropics/claude-code/issues/14799) 点赞,帮助提高修复优先级。
Author
Owner

@msuadOf commented on GitHub (Jan 12, 2026):

Wow,ok thank you for your reply and your tranlated version! It helps me a lot

<!-- gh-comment-id:3739665973 --> @msuadOf commented on GitHub (Jan 12, 2026): Wow,ok thank you for your reply and your tranlated version! It helps me a lot
Sign in to join this conversation.
No labels
bug
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/planning-with-files#16
No description provided.