pub enum PermissionMode {
Ask,
AcceptEdits,
Plan,
DontAsk,
Auto,
BypassPermissions,
}Expand description
Which permission flow the claude binary should use for tool
invocations. Mirrors the upstream CLI’s six-variant set.
Variant Ask maps to wire "default"; the rest match wire strings
1:1 via #[serde(rename = ...)]:
Ask-> “default”AcceptEdits-> “acceptEdits”Plan-> “plan”DontAsk-> “dontAsk”Auto-> “auto”BypassPermissions-> “bypassPermissions”
from_wire also accepts the snake-case aliases the upstream
Python SDK and earlier CLIs emitted (accept_edits, dont_ask,
bypass_permissions, ask, deny).
Variants§
Implementations§
Source§impl PermissionMode
impl PermissionMode
Sourcepub const ACCEPTED: &'static str = "\"default\", \"ask\", \"acceptEdits\", \"accept_edits\", \
\"plan\", \"dontAsk\", \"dont_ask\", \"deny\", \"auto\", \"bypassPermissions\", \
\"bypass_permissions\""
pub const ACCEPTED: &'static str = "\"default\", \"ask\", \"acceptEdits\", \"accept_edits\", \ \"plan\", \"dontAsk\", \"dont_ask\", \"deny\", \"auto\", \"bypassPermissions\", \ \"bypass_permissions\""
Every wire string Self::from_wire accepts, quoted for load
errors naming the accepted set.
Sourcepub fn as_wire(self) -> &'static str
pub fn as_wire(self) -> &'static str
The string the claude binary expects via --permission-mode
and the JSON wire string.
Sourcepub fn as_cli_arg(self) -> &'static str
pub fn as_cli_arg(self) -> &'static str
Alias for Self::as_wire. The SDK options builder calls
this to drive --permission-mode <arg> on the CLI.
Sourcepub fn from_wire(s: &str) -> Option<PermissionMode>
pub fn from_wire(s: &str) -> Option<PermissionMode>
Parse a wire string into a PermissionMode. Accepts both the
canonical camelCase forms ("acceptEdits", "dontAsk",
"bypassPermissions") and the snake_case + legacy aliases
("accept_edits", "dont_ask", "bypass_permissions",
"ask" -> Ask, "deny" -> DontAsk).
Sourcepub fn display_name(self) -> &'static str
pub fn display_name(self) -> &'static str
Human-readable display name (used by a view’s mode chip
- settings UI).
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 moreimpl Copy for PermissionMode
Source§impl Debug for PermissionMode
impl Debug for 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>,
impl Eq for PermissionMode
Source§impl Hash for PermissionMode
impl Hash for PermissionMode
Source§impl PartialEq for PermissionMode
impl PartialEq for PermissionMode
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 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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.