-
Notifications
You must be signed in to change notification settings - Fork 54
Description
Your plugin fails to install on Ubuntu (and probably Fedora, Arch, etc).
The install command errors with:
$ claude plugin install worktrunk@worktrunk
Error: Failed to install: EXDEV: cross-device link not permitted, rename '/home/user/.claude/plugins/cache/worktrunk' -> '/tmp/claude-plugin-temp-1767905736814'Why this happens
You're using "source": "./.claude-plugin" in your marketplace.json. This triggers a bug in Claude Code's installer when /tmp and /home are on different filesystems (which is the default Ubuntu setup since 21.04).
I tested other plugins on my system and they install fine:
- perplexity uses
"source": "./" - claude-mem has no source field
- worktrunk uses
"source": "./.claude-plugin"and fails
So it's specific to how your plugin is configured.
There's an upstream bug for this: anthropics/claude-code#14799
Workaround for users right now
mkdir -p ~/.cache/tmp
TMPDIR=$HOME/.cache/tmp claude plugin install worktrunk@worktrunkThis works but users shouldn't have to do this.
Fix options
Quick fix: Change "source": "./.claude-plugin" to "source": "./" in your marketplace.json and update the paths to be relative to the repo root instead of the .claude-plugin subdirectory.
Bigger fix: Move everything out of .claude-plugin/ to the repo root like most other plugins do.
Either way fixes the install issue. The first option is less invasive. And there's this issue with documentation for others until upstream makes their fix.
Once Claude Code fixes their installer bug (anthropics/claude-code#14799), you could keep using the subdirectory structure if you want. But that might take a while and users can't install the plugin in the meantime.