github / github/copilot-cli

add-dir flag converts dashes to underscores in paths causing permission loop for OneDrive directories

未關閉
#1,409 2 則留言 4 個 reaction 已指派 0 人 在 GitHub 檢視
area:permissions
主要語言
Shell
星號
11.2k
分支
1.9k
平均合併
14 小時 16 分鐘
30 天內合併 PR
6

描述

### Describe the bug

The Copilot CLI converts dashes to underscores when processing add-dir path values internally. This creates a mismatch between the granted directory path and the actual filesystem path, causing repeated permission prompts that never resolve.

This matters on Windows because the default enterprise OneDrive sync folder is named "OneDrive - Microsoft" which is set by the Windows sync client and not easily changed. Any workflow storing workspaces in OneDrive hits this bug.

The only workaround is allow-all-paths which grants full filesystem access and defeats the security purpose of add-dir scoping

### Affected version

v0.0.407-1

### Steps to reproduce the behavior

1. On Windows, confirm your OneDrive sync folder uses the default enterprise name: C:\Users\username\OneDrive - Microsoft\
2. Create a workspace folder inside it, for example: C:\Users\username\OneDrive - Microsoft\MyWorkspace
3. Launch Copilot CLI with that directory added: copilot -i "Hello" --add-dir "C:/Users/username/OneDrive - Microsoft/MyWorkspace"
4. The CLI prompts for permission to access the directory. Accept it.
5. The CLI prompts again and keeps prompting. The permission grant never sticks because the path is internally stored with underscores instead of dashes, so it never matches the real directory.

### Expected behavior

The add-dir path should be preserved exactly as provided for permission matching. Accepting the directory prompt once should grant access without further prompts.

### Additional context

Copilot CLI version: 0.0.407-1
OS: Windows 11
Shell: PowerShell 7
OneDrive path: C:\Users\username\OneDrive - Microsoft\ (default enterprise M365 sync folder name)

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。