pub struct VTCodeConfig {Show 40 fields
pub default_primary_agent: String,
pub features: FeaturesConfig,
pub file_opener: FileOpener,
pub notify: Vec<String>,
pub history: HistoryConfig,
pub tui: TuiConfig,
pub agent: AgentConfig,
pub auth: AuthConfig,
pub tools: ToolsConfig,
pub commands: CommandsConfig,
pub permissions: PermissionsConfig,
pub runtime_agent_permissions: Option<AgentPermissionsConfig>,
pub workspace_lifecycle_hooks: Option<WorkspaceLifecycleHooks>,
pub security: SecurityConfig,
pub sandbox: SandboxConfig,
pub ui: UiConfig,
pub chat: ChatConfig,
pub pty: PtyConfig,
pub debug: DebugConfig,
pub context: ContextFeaturesConfig,
pub telemetry: TelemetryConfig,
pub optimization: OptimizationConfig,
pub syntax_highlighting: SyntaxHighlightingConfig,
pub timeouts: TimeoutsConfig,
pub automation: AutomationConfig,
pub subagents: SubagentRuntimeLimits,
pub prompt_cache: PromptCachingConfig,
pub mcp: McpClientConfig,
pub webmcp: WebmcpConfig,
pub acp: AgentClientProtocolConfig,
pub hooks: HooksConfig,
pub model: ModelConfig,
pub provider: ProviderConfig,
pub skills: SkillsConfig,
pub custom_providers: Vec<CustomProviderConfig>,
pub provider_overrides: BTreeMap<String, ProviderOverrideConfig>,
pub providers_whitelist: Vec<String>,
pub output_style: OutputStyleConfig,
pub dotfile_protection: DotfileProtectionConfig,
pub workspace: WorkspaceConfig,
}Expand description
Main configuration structure for VT Code
Fields§
§default_primary_agent: StringPrimary agent selected at startup when no session override is active.
features: FeaturesConfigCodex-compatible top-level feature flags ([features] table).
file_opener: FileOpenerCodex-compatible clickable citation URI scheme.
notify: Vec<String>External notification command invoked for supported events.
history: HistoryConfigCodex-compatible local history persistence controls.
tui: TuiConfigCodex-compatible TUI settings.
agent: AgentConfigAgent-wide settings
auth: AuthConfigAuthentication configuration for OAuth flows
tools: ToolsConfigTool execution policies
commands: CommandsConfigUnix command permissions
permissions: PermissionsConfigPermission system settings (resolution, audit logging, caching)
runtime_agent_permissions: Option<AgentPermissionsConfig>Runtime-only agent permission policy supplied by derived child agents.
workspace_lifecycle_hooks: Option<WorkspaceLifecycleHooks>Runtime-only snapshot of lifecycle hook commands sourced from
workspace-controlled configuration layers, populated by ConfigManager
at load time. Workspace-controlled hooks require explicit user approval
before execution; see WorkspaceLifecycleHooks.
security: SecurityConfigSecurity settings
sandbox: SandboxConfigSandbox settings for command execution isolation
ui: UiConfigUI settings
chat: ChatConfigChat settings
pty: PtyConfigPTY settings
debug: DebugConfigDebug and tracing settings
context: ContextFeaturesConfigContext features (e.g., Decision Ledger)
telemetry: TelemetryConfigTelemetry configuration (logging, trajectory)
optimization: OptimizationConfigPerformance optimization settings
syntax_highlighting: SyntaxHighlightingConfigSyntax highlighting configuration
timeouts: TimeoutsConfigTimeout ceilings and UI warning thresholds
automation: AutomationConfigAutomation configuration
subagents: SubagentRuntimeLimitsSubagent runtime configuration
prompt_cache: PromptCachingConfigPrompt cache configuration (local + provider integration)
mcp: McpClientConfigModel Context Protocol configuration
webmcp: WebmcpConfigAuthenticated browser editor bridge configuration
acp: AgentClientProtocolConfigAgent Client Protocol configuration
hooks: HooksConfigLifecycle hooks configuration
model: ModelConfigModel-specific behavior configuration
provider: ProviderConfigProvider-specific configuration
skills: SkillsConfigSkills system configuration (Agent Skills spec)
custom_providers: Vec<CustomProviderConfig>Extra OpenAI-compatible endpoints for the model picker. Define in user or system config only.
provider_overrides: BTreeMap<String, ProviderOverrideConfig>Built-in provider overrides for model lists and endpoint configuration.
Maps provider key (e.g., “opencode-zen”, “opencode-go”) to override config that extends the provider’s hardcoded model list with custom models, and optionally overrides the base URL or API key env var.
providers_whitelist: Vec<String>Restrict which providers may be used.
When non-empty, only providers listed here are visible in the model picker, selectable at first-run, and instantiable at runtime. Empty (the default) means all built-in and custom providers are available.
output_style: OutputStyleConfigOutput style configuration
dotfile_protection: DotfileProtectionConfigDotfile protection configuration
workspace: WorkspaceConfigWorkspace-level configuration controls
Implementations§
Source§impl VTCodeConfig
impl VTCodeConfig
Sourcepub fn bootstrap_project<P>(
workspace: P,
force: bool,
) -> Result<Vec<String>, Error>
pub fn bootstrap_project<P>( workspace: P, force: bool, ) -> Result<Vec<String>, Error>
Bootstrap project with config + gitignore
Source§impl VTCodeConfig
impl VTCodeConfig
pub fn validate(&self) -> Result<(), Error>
Sourcepub fn persistent_memory_enabled(&self) -> bool
pub fn persistent_memory_enabled(&self) -> bool
Returns true when the persistent memory subsystem is enabled.
The top-level features.memories flag is the global master switch.
agent.persistent_memory.enabled then enables repository-scoped storage.
Sourcepub fn memories_enabled(&self) -> bool
pub fn memories_enabled(&self) -> bool
Returns true when the memories subsystem is enabled for injection.
Memories are active when the subsystem is enabled and memories.use_memories
is true.
Sourcepub fn should_generate_memories(&self) -> bool
pub fn should_generate_memories(&self) -> bool
Returns true when completed threads should be stored as memory inputs.
Sourcepub fn custom_provider(&self, name: &str) -> Option<&CustomProviderConfig>
pub fn custom_provider(&self, name: &str) -> Option<&CustomProviderConfig>
Look up a custom provider by its stable key.
Sourcepub fn configured_api_key_env(&self, name: &str) -> Option<String>
pub fn configured_api_key_env(&self, name: &str) -> Option<String>
Return the explicitly configured credential key for a provider.
Custom-provider identities take precedence over built-in provider overrides. A missing result means callers should use the provider’s built-in default or the agent-wide fallback.
Sourcepub fn provider_display_name(&self, provider_key: &str) -> String
pub fn provider_display_name(&self, provider_key: &str) -> String
Get the display name for any provider key, falling back to the raw key if no custom provider matches.
Trait Implementations§
Source§impl Clone for VTCodeConfig
impl Clone for VTCodeConfig
Source§fn clone(&self) -> VTCodeConfig
fn clone(&self) -> VTCodeConfig
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 VTCodeConfig
impl Debug for VTCodeConfig
Source§impl Default for VTCodeConfig
impl Default for VTCodeConfig
Source§fn default() -> VTCodeConfig
fn default() -> VTCodeConfig
Source§impl<'de> Deserialize<'de> for VTCodeConfig
impl<'de> Deserialize<'de> for VTCodeConfig
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<VTCodeConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<VTCodeConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for VTCodeConfig
impl JsonSchema for VTCodeConfig
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 moreSource§impl Serialize for VTCodeConfig
impl Serialize for VTCodeConfig
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,
Auto Trait Implementations§
impl Freeze for VTCodeConfig
impl RefUnwindSafe for VTCodeConfig
impl Send for VTCodeConfig
impl Sync for VTCodeConfig
impl Unpin for VTCodeConfig
impl UnsafeUnpin for VTCodeConfig
impl UnwindSafe for VTCodeConfig
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
impl<T> CacheValue for T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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>,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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> 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 moreSource§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read moreSource§fn fg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
Source§fn bg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
Source§fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
Source§fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PtyHandle for Twhere
T: Send,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().