github / github/copilot-cli

Epic: Permissions Improvements

Open
#316 0 comments 8 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

## Description

When the CLI was shipped for public preview, it shipped with a _passable_, but sometimes incorrect, often overbearing, and lacking in configuration, experience.

## Public Issues

These are the issues that I could find relating to permissions in this repo. I intend to go through these and break them apart into themes.

- [x] https://github.com/github/copilot-cli/issues/67
- On Windows, built-in `findstr` uses args like `/i`
- On PowerShell, built-in `-replace` syntax accepts regexes
- [ ] https://github.com/github/copilot-cli/issues/144
- Either expand variables when `$HOME` (etc) is passed to `/add-dir`, or reject args that aren't dirs that exist
- [x] https://github.com/github/copilot-cli/issues/145
- Asking for an alias to `--allow-all-tools --allow-all-paths`
- [x] https://github.com/github/copilot-cli/issues/159
- With heredoc syntax (`cat << 'EOF' (some content) 'EOF'`), we look for paths inside `(some content)` but should not
- Awk command parsing misses cases `awk '/^ir:/,/^sentinels:/{print NR": "$0}' xyz.yml | head -220` and `cd /workdir && awk '/CreateTable/,/name:/'
Services/Migrations/20251001031252_InitialCreate.cs`
- [ ] https://github.com/github/copilot-cli/issues/162 (I think)
- Asking for a permissions display/editor
- [x] https://github.com/github/copilot-cli/issues/176
- Another one about PowerShell `-replace` syntax
- [ ] https://github.com/github/copilot-cli/issues/179
- Asking for more flexibility about global config defaults
- [x] https://github.com/github/copilot-cli/issues/211
- `2>&1` detected as path (already fixed?) and should allow redirection `> /dev/null`
- [x] https://github.com/github/copilot-cli/issues/216
- Should know that `gh api /repos/myuser/myrepo` refers to parts of a URL, not a file path
- [x] https://github.com/github/copilot-cli/issues/219
- PowerShell `Select-String -Pattern (regex?)` and `'string' -match (regex)` syntax
- [x] https://github.com/github/copilot-cli/issues/247
- Should know that `bazel test //foo/bar:baz` resolves `foo/bar` within the Bazel workspace
- But I'm not sure we should be baking in knowledge of how Bazel locates its workspace root
- Also, even if you approve it, it keeps asking. We should fix that part at least.
- [x] https://github.com/github/copilot-cli/issues/261
- When running under Cygwin, paths become weird (`/c:/Users/etc`) and we don't understand them
- Not sure we should fix Cygwin-specific things unless we get more reports
- [ ] https://github.com/github/copilot-cli/issues/285
- Asking for more granular control over the file write tool (so it would do *more* permission requests)
- [ ] https://github.com/github/copilot-cli/issues/291
- Asking for shell permissions requests to contain an LLM-generated explanation of what the call would do
- Not just repeating the intent we already get, but rather explaining what all the flags mean etc.
- [x] https://github.com/github/copilot-cli/issues/301
- Very small tweak to phrasing in file write confirmation prompt
- [x] https://github.com/github/copilot-cli/issues/306
- [x] https://github.com/github/copilot-cli/issues/307
- Meta-issue (AI generated?) summarizing many of the other ones here
- [x] https://github.com/github/copilot-cli/issues/342
- Draft PR: https://github.com/github/sweagentd/pull/7608
- [ ] PowerShell `Measure-Object` should be approved by default

## Other things to think about

- when a user opts to approve a command for the rest of the session we could persist that into the session log such that when they later `--resume` they don't have to go through all the same approvals again

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.