Support a default config file for permissions
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Description
### Describe the feature or problem you'd like to solve
Setting permissions for every copilot session is too time consuming
### Proposed solution
The current copilot CLI permissions behavior is detailed, but a bit of a hassle to set up for every session.
I suspect this ends up in two types of common user behaviors
User type A - nearly always runs `/yolo`
User type B - uses a lot of time accepting permissions when copilot CLI requests for it
I'd like to propose a copilot CLI default config file which will controls default permissions to tools, paths, shell commands and urls etc. This way users won't have to set up this for every new copilot session.
The config file should be used by default. The behavior should be overridable via CLI flags. E.g. `copilot --allow-all-urls` will take precedence of whatever is set of allowed urls in the config file. To disable the usage of the config file, a flag which **explicitly** disables reading the global config can be provided for the current session.
### Example prompts or workflows
_No response_
### Additional context
_No response_
Contributor guide
Research direction
Start by reading the current copilot CLI permissions behavior and the existing permission-related CLI flags. Define how the default config represents permissions, how command-line flags override it, and how an explicit flag disables global config loading. Done means permissions persist across sessions while overrides remain effective.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- cli, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100