[BUG] Plugin installPath uses hardcoded absolute home directory, breaks in containers
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
When Claude Code installs plugins, it persists installPath as a hardcoded absolute path (e.g., /home/malbrecht/.claude/...). When ~/.claude is mounted into a Docker container where HOME points to a different directory (e.g., /home/builduser), plugins fail to load because the stored absolute path no longer exists inside the container.
What Should Happen?
installPath should be stored relative to ~/.claude (or resolve $HOME/~ at runtime) so that it works across environments with different home directories.
Error Messages/Logs
# No specific error output — plugins silently fail to load because the path doesn't exist
Steps to Reproduce
- Install Claude Code and a plugin on the host where
HOME=/home/alice - Observe that
.claudestores plugininstallPathas an absolute path like/home/alice/.claude/plugins/... - Mount
~/.claudeinto a Docker container whereHOME=/home/builduser(e.g., viavolume = /home/alice/.claude:/home/builduser/.claude:rw) - Start Claude Code inside the container
- Plugin fails to load because
/home/alice/.claude/plugins/...does not exist inside the container
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.75 (Claude Code)
Platform
Anthropic API
Operating System
Other Linux
Terminal/Shell
Other
Additional Information
The workaround is to create a symlink inside the container mapping the host home directory path:
ln -s /home/builduser /home/alice
This affects anyone running Claude Code in containers with a different home directory than the host, which is a common setup for development environments with remote execution.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗