Repository navigation
feat(app): per-project auto-accept permissions overriding a default - #54839
Merged
Merged
Conversation
opencode-agent
Bot
requested review from
Brendonovich and
Hona
as code owners
October 12, 2026 15:09
Contributor
Author
There was a problem hiding this comment.
Looks good to me. I ran typecheck and test:unit in packages/app (749 pass) and the multi-server, settings and session-request-docks Playwright specs against this branch (40 pass, including the new per-project case). Screenshots of the Preferences row on the base and on this branch are below.
Public API: unchanged. The only addition is the client-local permissions.autoApproveProjects entry in the app's settings.v3 store. It is backwards compatible: existing autoApprove: true settings still mean "All projects".
No blocking concerns.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
After #44608, auto-accept permissions became one app-wide switch. This PR keeps that switch as the default and adds a per-project override in project settings.
A project uses its own choice when it has one and the default otherwise, so it can opt in while the default is off, or opt out while it's on.
Details
settings.v3aspermissions.autoApproveProjects; a project with no entry uses the default. ExistingautoApprove: trueusers keep their default on.mod+shift+acommand now sets the current project's choice. If the new value matches the default, the project goes back to using the default. Copy: "Auto-accept permissions for this project", toast "Auto-accepting permissions for this project".Tests
bun run typecheck(packages/app)bun run test:unit(packages/app): 749 passsettings,settings-search,session-request-docks,multi-serverandcommand-palette: 60 passmulti-servercase: with the default off, setting a project to On approves only that project's request. A project set to Off keeps prompting after the default turns on, then is approved once it goes back to "Use default (On)". The case fails if the approver ignores project overrides.Requested by: @Brendonovich (Brendan via Slack)