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:
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.