Ported from upstream PR pingdotgg#3628 (+80/−9 there — small, clean; reimplement natively, do not cherry-pick).
What
Expose the Claude Agent SDK's native permissionMode: "auto" as a fourth runtime permission mode alongside the existing ones, without setting allowDangerouslySkipPermissions.
Why for us
Gives a middle ground between plan/ask modes and full yolo. Directly useful for the autonomous-toggle work (confined-yolo): auto lets the SDK auto-approve safe tool calls while still gating dangerous ones, which is a better default rung than skip-permissions.
Scope
- Provider adapter: map the new mode to the SDK option (Claude engine only; other engines unaffected).
- UI: add the mode to the permission-mode picker.
- Confirm interaction with our command authorization / deny-by-default layer (actor identity stamping) — server-side authz still applies regardless of SDK mode.
Acceptance
Selecting "auto" on a Claude thread runs with SDK-native auto permission behavior; other modes unchanged.
Ported from upstream PR pingdotgg#3628 (+80/−9 there — small, clean; reimplement natively, do not cherry-pick).
What
Expose the Claude Agent SDK's native
permissionMode: "auto"as a fourth runtime permission mode alongside the existing ones, without settingallowDangerouslySkipPermissions.Why for us
Gives a middle ground between plan/ask modes and full yolo. Directly useful for the autonomous-toggle work (confined-yolo):
autolets the SDK auto-approve safe tool calls while still gating dangerous ones, which is a better default rung than skip-permissions.Scope
Acceptance
Selecting "auto" on a Claude thread runs with SDK-native auto permission behavior; other modes unchanged.