github / github/copilot-cli

Permissions from .claude/settings.json not taken into account (also in v1.0.12!)

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

Description

### Describe the bug

Release notes for v1.0.12 say:

> Read .claude/settings.json and .claude/settings.local.json as additional repo config sources

With following `.claude/settings.json`:

```json
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"permissions": { "allow": ["Bash(npx eslint)"] }
}
```

Asking copilot to run npx eslint still pops up a permission question to the user.

Running `copilot --allow-tool='shell(npx eslint)'` does work as expected however.

### Affected version

GitHub Copilot CLI 1.0.12

### Steps to reproduce the behavior

1. Put following json in `.claude/settings.json`:
```json
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"permissions": { "allow": ["Bash(npx eslint)"] }
}
```
2. Run `copilot`
3. Ask "please run npx eslint"
4. Observe that copilot asks the user for permission

### Expected behavior

Copilot should not ask the user for permission, just like when running `copilot --allow-tool='shell(npx eslint)'`

### Additional context

OS: Windows
Terminal: Windows Terminal
Shell: Git Bash and Powershell (both tested)

Contributor guide

Open the contributing guide

Research direction

Start by tracing how .claude/settings.json and .claude/settings.local.json are loaded and how their permissions.allow entries are mapped to Copilot CLI tool permissions. Reproduce with the shown Bash(npx eslint) setting, then verify that asking Copilot to run npx eslint no longer prompts for permission, matching --allow-tool='shell(npx eslint)'.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
authorization, cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.