Skip to content

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

@DanteDeRuwe

Description

@DanteDeRuwe

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:

{
    "$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:
{
    "$schema": "https://json.schemastore.org/claude-code-settings.json",
    "permissions": { "allow": ["Bash(npx eslint)"] }
}
  1. Run copilot
  2. Ask "please run npx eslint"
  3. 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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:configurationConfig files, instruction files, settings, and environment variablesarea:permissionsTool approval, security boundaries, sandbox mode, and directory restrictions

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions