Description
When a plugin is installed, cache_path in config.json is hardcoded to an absolute path
rooted at the install-time $HOME. If ~/.copilot is volume-mounted into Docker (where
$HOME differs), the path doesn't exist and sessionStart hooks silently never fire.
I'm mounting my host ~/.copilot into the active user's home folder in Docker, and that seems
to work for most things, but evidently not plugins. Any help greatly appreciated.
Root Cause
config.json stores:
"cache_path": "/Users/josh/.copilot/installed-plugins/_direct/my-plugin"
Inside Docker ($HOME = /home/deployer), that path doesn't exist.
Expected Behavior
cache_path should be $HOME-relative so it works across environments sharing ~/.copilot.
Workaround
sudo mkdir -p /Users/josh && sudo ln -sfn /home/deployer/.copilot /Users/josh/.copilot
(must be recreated each container start)
Environment
- CLI: 1.0.59
- Host: macOS /Users/josh
- Container: Linux /home/deployer
- ~/.copilot shared via Docker volume mount
Description
When a plugin is installed,
cache_pathinconfig.jsonis hardcoded to an absolute pathrooted at the install-time
$HOME. If~/.copilotis volume-mounted into Docker (where$HOMEdiffers), the path doesn't exist andsessionStarthooks silently never fire.I'm mounting my host ~/.copilot into the active user's home folder in Docker, and that seems
to work for most things, but evidently not plugins. Any help greatly appreciated.
Root Cause
config.json stores:
"cache_path": "/Users/josh/.copilot/installed-plugins/_direct/my-plugin"
Inside Docker ($HOME = /home/deployer), that path doesn't exist.
Expected Behavior
cache_path should be $HOME-relative so it works across environments sharing ~/.copilot.
Workaround
sudo mkdir -p /Users/josh && sudo ln -sfn /home/deployer/.copilot /Users/josh/.copilot
(must be recreated each container start)
Environment