github / github/copilot-cli

Plugin cache_path stored as absolute path breaks in Docker/multi-HOME environments

オープン
#3,864 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
area:configuration area:plugins
主要言語
Shell
スター
11.2k
フォーク
1.9k
平均マージ
14時間 16分
マージ済み PR(30日)
6

説明

## 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

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Start by locating the plugin installation code that writes cache_path to config.json, then trace how sessionStart hooks resolve that path. Reproduce the issue with ~/.copilot mounted under a different HOME, and consider the work complete when the stored path works in both environments and the hook fires.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
docker, shell
領域
cli
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
52/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。