#[non_exhaustive]pub enum PermissionMode {
Prompt,
AcceptEdits,
BypassPermissions,
RejectAll,
DontAsk,
Auto,
}Expand description
Permission mode for file system and command operations.
This enum is #[non_exhaustive] — new variants may be added in minor
versions. Downstream matches MUST include a wildcard arm.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Prompt
Agent must prompt user for each operation.
AcceptEdits
Auto-approve file edits only (still prompts for bash, etc.).
BypassPermissions
Bypass all permission checks (sandbox mode).
RejectAll
Plan / dry-run mode — analysis only, no edits/execution.
Note: historically misnamed; Claude Code maps this to plan mode (still reads).
For a true deny-without-prompting mode, use PermissionMode::DontAsk.
DontAsk
Deny instead of prompting — provider-side equivalent of “always say no”.
Maps to Claude Code’s dontAsk.
Auto
Provider’s automatic / default policy — let the provider pick a sensible default (e.g. workspace-write sandbox for Codex, default permission mode for Claude Code). Useful when you don’t want to be opinionated.
Trait Implementations§
Source§impl Clone for PermissionMode
impl Clone for PermissionMode
Source§fn clone(&self) -> PermissionMode
fn clone(&self) -> PermissionMode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PermissionMode
impl Debug for PermissionMode
Source§impl Default for PermissionMode
impl Default for PermissionMode
Source§fn default() -> PermissionMode
fn default() -> PermissionMode
Source§impl<'de> Deserialize<'de> for PermissionMode
impl<'de> Deserialize<'de> for PermissionMode
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PermissionMode, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PermissionMode, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for PermissionMode
impl PartialEq for PermissionMode
Source§fn eq(&self, other: &PermissionMode) -> bool
fn eq(&self, other: &PermissionMode) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for PermissionMode
impl Serialize for PermissionMode
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Copy for PermissionMode
impl Eq for PermissionMode
impl StructuralPartialEq for PermissionMode
Auto Trait Implementations§
impl Freeze for PermissionMode
impl RefUnwindSafe for PermissionMode
impl Send for PermissionMode
impl Sync for PermissionMode
impl Unpin for PermissionMode
impl UnsafeUnpin for PermissionMode
impl UnwindSafe for PermissionMode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.