Skip to content

Permissions

Each tool request resolves to one decision:

Decision Result
allow Execute without a prompt
ask Request approval; deny if no answer is available
deny Refuse execution

Project reads and searches are generally allowed. Shell commands and writes outside the project generally require approval. In-project edits can be allowed without a prompt; profile restrictions and explicit rules still apply. Evaluation errors deny execution.

Approving actions interactively

Key Action
a Allow once
r Toggle remembering the decision
d / Esc Deny

Remembered grants are scoped to the project. Inspect or revoke them:

gdc permissions list
gdc permissions revoke bash jq
gdc permissions revoke --all

Remembered approvals can also be mirrored into project configuration. See grants configuration.

Headless approvals

gdc print denies ask requests by default. --auto-approve allows those requests; explicit denials still apply. --auto-approve-remember also saves the approvals.

Configuration rules

[permissions.bash]
allow = ["jq", "rg"]
deny = ["aws"]

[permissions.path]
allow = ["~/work/scratch/**"]
deny = ["~/.aws/**"]

Command rules match command names. Path rules use glob patterns. Configuration denials take precedence over matching configuration allows.

Profile restrictions

A profile limits visible tools and carries its own rules. Built-in profile rules are fixed. Custom profile rules can be extended in configuration, where the last matching profile rule wins. See profile configuration.