docs: correct denylist behavior under Run until completion - #424
Conversation
The `auto_approve_bypasses_command_denylist` setting (default: true) means auto-approve / Run until completion now runs commands that match the user's command denylist. Two statements on this page were written before that behavior existed: - "Command denylist" said permission is "always required, regardless of other settings," which is no longer true once Run until completion is on. - The "Run until completion" note said it "ignores the denylist entirely," which overstates it in the other direction: the bypass is configurable, and org-enforced denylist rules are never bypassed. Verified against `can_autoexecute_command` in warp (app/src/ai/blocklist/permissions.rs): with auto-approve on, the user denylist is bypassed only when the setting is enabled and the process isn't sandboxed, and `get_org_execute_commands_denylist` is always enforced. Also documents the GUI toggle at Settings > Agents > Oz > Input > Allow auto-approve to bypass command denylist. Co-Authored-By: Oz <oz-agent@warp.dev>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Verified the corrected behavior against the client source and it's accurate on all three branches: in One coordination note: #420 (Phase 0, |
|
I'm starting a first review of this pull request. You can view the conversation on Warp. I completed the review and no human review was requested for this pull request. Comment Powered by Oz |
There was a problem hiding this comment.
Overview
This docs-only PR updates Agent permissions copy to clarify how Run until completion interacts with the command denylist.
Concerns
- The updated top caution still says Run until completion can bypass "the denylist" without qualifying that only the user's command denylist is bypassed and only when the bypass setting is enabled. That conflicts with the later caution and can keep the page misleading.
Verdict
Found: 0 critical, 1 important, 0 suggestions
Request changes
Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).
Powered by Oz
|
|
||
| :::caution | ||
| **Still getting approval prompts?** If the Agent keeps asking for permission to run certain commands (like `curl`, `rm`, or `wget`) even though you've set permissions to "Always allow," check your **Command denylist** in **Settings** > **Agents** > **Profiles**. The denylist always takes precedence over other permission settings. Remove commands from the denylist to allow them to auto-execute, or use [Run until completion](#run-until-completion) to bypass the denylist for the current task. | ||
| **Still getting approval prompts?** If the Agent keeps asking for permission to run certain commands (like `curl`, `rm`, or `wget`) even though you've set permissions to "Always allow," check your **Command denylist** in **Settings** > **Agents** > **Profiles**. The denylist takes precedence over your other permission settings. Remove commands from the denylist to allow them to auto-execute, or use [Run until completion](#run-until-completion) to bypass the denylist for the current task. |
There was a problem hiding this comment.
| **Still getting approval prompts?** If the Agent keeps asking for permission to run certain commands (like `curl`, `rm`, or `wget`) even though you've set permissions to "Always allow," check your **Command denylist** in **Settings** > **Agents** > **Profiles**. The denylist takes precedence over your other permission settings. Remove commands from the denylist to allow them to auto-execute, or use [Run until completion](#run-until-completion) to bypass the denylist for the current task. | |
| **Still getting approval prompts?** If the Agent keeps asking for permission to run certain commands (like `curl`, `rm`, or `wget`) even though you've set permissions to "Always allow," check your **Command denylist** in **Settings** > **Agents** > **Profiles**. The denylist takes precedence over your other permission settings. Remove commands from the denylist to allow them to auto-execute, or, when **Allow auto-approve to bypass command denylist** is on, use [Run until completion](#run-until-completion) to bypass your command denylist for the current task. |
Problem
auto_approve_bypasses_command_denylist(added in warpdotdev/warp#14489, defaults totrue) changed how the command denylist interacts with auto-approve / Run until completion. Two statements onagent-profiles-permissions.mdxpredate it and are now inaccurate in opposite directions:Actual behavior
Verified against
can_autoexecute_commandinapp/src/ai/blocklist/permissions.rs:Always allow.true(default) → user denylist bypassed;get_org_execute_commands_denyliststill enforced.false→ full denylist enforced.Changes
note→caution, since it's a safety caveat) to state the default bypass, point to the GUI toggle, and clarify that team-enforced rules can't be bypassed.GUI toggle documented as Settings > Agents > Oz > Input > Allow auto-approve to bypass command denylist (
AutoApproveBypassesCommandDenylistinapp/src/settings_view/ai_page.rs).Not changed
The note at line 60 — "When all Agent permissions are set to Always allow ... any denylist rules will still override these settings" — is still correct.
Always allowis a profile permission value and does not enable auto-approve, so the denylist genuinely does still apply there. Left as-is.Validation
npm run buildpasses (352 pages).style_lint --changedreports 8 findings on this file: 6 screenshot-width and 1 unrecognized-term (line 13) are pre-existing and outside this diff; the line 146**Input**"unrecognized term" is a menu-path segment, consistent with the existing convention onterminal/input/universal-input.mdx.Context
Follow-up to #404, which documented this behavior for the Warp Agent CLI and surfaced the inconsistency on this page. That PR targeted the
hyc/launch-cliintegration branch; this one targetsmainsince it's app behavior and shouldn't be gated behind the CLI launch.Conversation: https://staging.warp.dev/conversation/dfef0154-c007-40dd-a8f5-0e72b7ea7d34
Run: https://oz.staging.warp.dev/runs/019fb436-e2ee-7290-9f83-d94c6afce961
This PR was generated with Oz.