ClaudeCode.Session.PermissionMode (ClaudeCode v0.36.3)
View SourcePermission mode for controlling how Claude handles permission requests.
Values
:default- Standard permission prompting:accept_edits- Auto-accept file edits without prompting:bypass_permissions- Bypass all permission checks (requires:allow_dangerously_skip_permissions):delegate- Delegate permission decisions:dont_ask- Never prompt for permissions:plan- Planning mode only
Summary
Functions
Encodes a permission mode atom to its camelCase CLI string.
Parses a camelCase permission mode string from the CLI into an atom.
Types
@type t() :: :default | :accept_edits | :bypass_permissions | :delegate | :dont_ask | :plan | String.t()
Functions
Encodes a permission mode atom to its camelCase CLI string.
Examples
iex> ClaudeCode.Session.PermissionMode.encode(:default)
"default"
iex> ClaudeCode.Session.PermissionMode.encode(:accept_edits)
"acceptEdits"
iex> ClaudeCode.Session.PermissionMode.encode(:bypass_permissions)
"bypassPermissions"
Parses a camelCase permission mode string from the CLI into an atom.
Returns nil_fallback (default nil) for nil input. Unrecognized string
values are kept as strings for forward compatibility.
Examples
iex> ClaudeCode.Session.PermissionMode.parse("default")
:default
iex> ClaudeCode.Session.PermissionMode.parse("acceptEdits")
:accept_edits
iex> ClaudeCode.Session.PermissionMode.parse("bypassPermissions")
:bypass_permissions
iex> ClaudeCode.Session.PermissionMode.parse("futureMode")
"futureMode"
iex> ClaudeCode.Session.PermissionMode.parse(nil)
nil
iex> ClaudeCode.Session.PermissionMode.parse(nil, :default)
:default