plugin install fails with Access is denied (os error 5) on Windows for all sources
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Shell
- Star
- 11.2k
- Fork
- 1.9k
- Merge trung bình
- 14 giờ 16 phút
- Pull request đã merge (30 ngày)
- 6
Mô tả
Bug Description
copilot plugin install fails 100% of the time on Windows 11 with:
Failed to install plugin: Error: Failed to install plugin: Access is denied. (os error 5)
It fails for a marketplace source (azure@azure-skills), a direct GitHub repo, and a local directory source — so it is not specific to one plugin or fetch method.
Version
- GitHub Copilot CLI: 1.0.71 (also seen on 1.0.70)
- OS: Windows 11 Enterprise 10.0.26200, x64
- git: 2.50.1.windows.1
Steps to reproduce
copilot plugin marketplace add microsoft/azure-skillscopilot plugin install azure@azure-skills- Fails with
Access is denied. (os error 5)
Expected behavior
Plugin installs successfully.
Actual behavior
Install aborts. It creates an empty target folder under ~/.copilot/installed-plugins/ (e.g. azure-skills and _direct) then fails on its first file operation, before any file is written.
Investigation / ruled out
- Not permissions/sandbox: fails identically when run directly as the real user with Full Control over the entire
~/.copilottree. - Not Controlled Folder Access:
Get-MpPreferenceshowsEnableControlledFolderAccess = 0. - Not git:
git clone --depth 1 https://github.com/microsoft/azure-skills.gitsucceeds (1552 files). - Not a lock: the leftover target folder can be freely renamed/deleted.
- Plain create/write/delete under
installed-pluginsand%TEMP%all succeed as the same user. - Fails for both remote and local sources, immediately after the target dir is created.
- No detail is written to
~/.copilot/logs; the message is stderr-only and double-wrapped, hiding the offending path.
Suspected cause
A native filesystem op in the install/cache pipeline (likely remove_dir_all/rename/copy) returning Windows ERROR_ACCESS_DENIED — a common Rust-on-Windows failure against read-only files (e.g. git pack objects). Surfacing the actual path in the error would greatly help.
Workaround
copilot --plugin-dir <local-plugin-dir> loads the plugin fine, confirming only the install/copy path is broken.
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Tái hiện lỗi bằng các lệnh cài đặt từ marketplace, repository trực tiếp và thư mục cục bộ, sau đó lần theo pipeline cài đặt/cache ngay sau khi thư mục đích được tạo. Xác định thao tác đầu tiên trên hệ thống tệp trả về ERROR_ACCESS_DENIED và đưa ra đường dẫn của nó; được coi là hoàn tất khi việc cài đặt plugin thành công trên Windows đối với từng nguồn và lỗi xác định đường dẫn gây ra vấn đề khi cài đặt thất bại.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- git, rust
- Lĩnh vực
- cli
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 55/100