feat: add allowBypassPermissionsMode setting (#658)
* feat: add allowBypassPermissionsMode setting Allow bypass permissions mode to appear in the mode list via settings.json without requiring the --allow-dangerously-skip-permissions CLI flag. The disableBypassPermissionsMode setting retains priority. * fix: address Copilot review feedback on allowBypassPermissionsMode - Security: read allowBypassPermissionsMode only from trusted settings sources (user/local/flag/policy), excluding projectSettings to prevent a malicious repo from enabling bypass mode - UX: update error messages to reference the correct CLI flag (--allow-dangerously-skip-permissions) and the new settings option - Tests: add schema validation tests for the new field
This commit is contained in:
committed by
GitHub
parent
7c8bdcc3e2
commit
31be66d764
@@ -19,6 +19,7 @@ import {
|
||||
getSettings_DEPRECATED,
|
||||
getSettingsFilePathForSource,
|
||||
getUseAutoModeDuringPlan,
|
||||
hasAllowBypassPermissionsMode,
|
||||
hasAutoModeOptIn,
|
||||
} from '../settings/settings.js'
|
||||
import {
|
||||
@@ -936,9 +937,11 @@ export async function initializeToolPermissionContext({
|
||||
const settings = getSettings_DEPRECATED() || {}
|
||||
const settingsDisableBypassPermissionsMode =
|
||||
settings.permissions?.disableBypassPermissionsMode === 'disable'
|
||||
const settingsAllowBypassPermissionsMode = hasAllowBypassPermissionsMode()
|
||||
const isBypassPermissionsModeAvailable =
|
||||
(permissionMode === 'bypassPermissions' ||
|
||||
allowDangerouslySkipPermissions) &&
|
||||
allowDangerouslySkipPermissions ||
|
||||
settingsAllowBypassPermissionsMode) &&
|
||||
!growthBookDisableBypassPermissionsMode &&
|
||||
!settingsDisableBypassPermissionsMode
|
||||
|
||||
|
||||
Reference in New Issue
Block a user