github / github/copilot-cli

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

Open
#1,409 2 comments 4 reactions 0 assignees View on GitHub
area:permissions
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.