@@ -42,15 +42,24 @@ export class AgentPermissionPolicyService
4242 @IInstantiationService private readonly instantiation : IInstantiationService ,
4343 ) {
4444 super ( ) ;
45+ // Order matters: the first policy to return a result wins.
46+ //
47+ // `AutoModeApprove` sits after the two content-sensitive asks (secrets on
48+ // disk, and the .git control directory) rather than ahead of them, so
49+ // enabling auto mode speeds up ordinary work without also silently
50+ // waiving the checks that exist for the highest-consequence paths.
51+ // Everything else keeps its previous relative order: an explicit prior
52+ // approval (`SessionApprovalHistory`) or a user `allow` rule still wins,
53+ // so this does not re-prompt for something already approved.
4554 this . policies = [
4655 this . instantiation . createInstance ( AutoModeAskUserQuestionDenyPermissionPolicyService ) ,
4756 this . instantiation . createInstance ( UserConfiguredDenyPermissionPolicyService ) ,
48- this . instantiation . createInstance ( AutoModeApprovePermissionPolicyService ) ,
4957 this . instantiation . createInstance ( SessionApprovalHistoryPermissionPolicyService ) ,
5058 this . instantiation . createInstance ( UserConfiguredAskPermissionPolicyService ) ,
5159 this . instantiation . createInstance ( UserConfiguredAllowPermissionPolicyService ) ,
5260 this . instantiation . createInstance ( SensitiveFileAccessAskPermissionPolicyService ) ,
5361 this . instantiation . createInstance ( GitControlPathAccessAskPermissionPolicyService ) ,
62+ this . instantiation . createInstance ( AutoModeApprovePermissionPolicyService ) ,
5463 this . instantiation . createInstance ( YoloModeApprovePermissionPolicyService ) ,
5564 this . instantiation . createInstance ( DefaultToolApprovePermissionPolicyService ) ,
5665 this . instantiation . createInstance ( GitCwdWriteApprovePermissionPolicyService ) ,
0 commit comments