pub struct PermissionsConfig {Show 16 fields
pub default_mode: PermissionMode,
pub auto_mode: AutoModeConfig,
pub allowed_tools: Vec<String>,
pub disallowed_tools: Vec<String>,
pub allow: Vec<String>,
pub ask: Vec<String>,
pub deny: Vec<String>,
pub enabled: bool,
pub resolve_commands: bool,
pub audit_enabled: bool,
pub audit_directory: String,
pub log_allowed_commands: bool,
pub log_denied_commands: bool,
pub log_permission_prompts: bool,
pub cache_enabled: bool,
pub cache_ttl_seconds: u64,
}Expand description
Permission system configuration - Controls command resolution, audit logging, and caching
Fields§
§default_mode: PermissionModeDefault unified permission mode for the current session.
auto_mode: AutoModeConfigClassifier-backed auto mode policy and environment settings.
allowed_tools: Vec<String>Claude-style compatibility allow-list for exact tool ids.
disallowed_tools: Vec<String>Claude-style compatibility deny-list for exact tool ids.
allow: Vec<String>Rules that allow matching tool calls without prompting.
ask: Vec<String>Rules that require an interactive prompt when they match.
deny: Vec<String>Rules that deny matching tool calls.
enabled: boolEnable the enhanced permission system (resolver + audit logger + cache)
resolve_commands: boolEnable command resolution to actual paths (helps identify suspicious commands)
audit_enabled: boolEnable audit logging of all permission decisions
audit_directory: StringDirectory for audit logs (created if not exists) Defaults to ~/.vtcode/audit
log_allowed_commands: boolLog allowed commands to audit trail
log_denied_commands: boolLog denied commands to audit trail
log_permission_prompts: boolLog permission prompts (when user is asked for confirmation)
cache_enabled: boolEnable permission decision caching to avoid redundant evaluations
cache_ttl_seconds: u64Cache time-to-live in seconds (how long to cache decisions) Default: 300 seconds (5 minutes)
Trait Implementations§
Source§impl Clone for PermissionsConfig
impl Clone for PermissionsConfig
Source§fn clone(&self) -> PermissionsConfig
fn clone(&self) -> PermissionsConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PermissionsConfig
impl Debug for PermissionsConfig
Source§impl Default for PermissionsConfig
impl Default for PermissionsConfig
Source§impl<'de> Deserialize<'de> for PermissionsConfig
impl<'de> Deserialize<'de> for PermissionsConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for PermissionsConfig
impl JsonSchema for PermissionsConfig
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for PermissionsConfig
impl RefUnwindSafe for PermissionsConfig
impl Send for PermissionsConfig
impl Sync for PermissionsConfig
impl Unpin for PermissionsConfig
impl UnsafeUnpin for PermissionsConfig
impl UnwindSafe for PermissionsConfig
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<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more