pub enum Commands {
Show 36 variants
AgentClientProtocol {
target: AgentClientProtocolTarget,
},
Chat,
Ask {
prompt: Option<String>,
output_format: Option<AskOutputFormat>,
},
Exec {
json: bool,
dry_run: bool,
events: Option<PathBuf>,
last_message_file: Option<PathBuf>,
command: Option<ExecSubcommand>,
prompt: Option<String>,
},
Schedule {
command: ScheduleSubcommand,
},
BackgroundSubagent(BackgroundSubagentArgs),
Review(ReviewArgs),
Schema {
command: SchemaCommands,
},
ChatVerbose,
Analyze {
analysis_type: String,
},
Trajectory {
file: Option<PathBuf>,
top: usize,
},
Notify {
title: Option<String>,
message: String,
},
Benchmark {
task_file: Option<PathBuf>,
task: Option<String>,
output: Option<PathBuf>,
max_tasks: Option<usize>,
},
CreateProject {
name: String,
features: Vec<String>,
},
Revert {
turn: usize,
partial: Option<String>,
},
Snapshots,
CleanupSnapshots {
max: usize,
},
Init {
force: bool,
},
InitProject {
name: Option<String>,
force: bool,
migrate: bool,
},
Config {
output: Option<PathBuf>,
global: bool,
},
Login {
provider: String,
device_code: bool,
},
Logout {
provider: String,
},
Auth {
provider: Option<String>,
},
ToolPolicy {
command: ToolPolicyCommands,
},
Mcp {
command: McpCommands,
},
A2a {
command: A2aCommands,
},
AppServer {
listen: String,
},
Models {
command: ModelCommands,
},
Pods {
command: PodsCommands,
},
Man {
command: Option<String>,
output: Option<PathBuf>,
},
Skills(SkillsSubcommand),
ListSkills {},
Dependencies(DependenciesSubcommand),
Check {
command: CheckSubcommand,
},
Update {
check: bool,
force: bool,
list: bool,
limit: usize,
pin: Option<String>,
unpin: bool,
channel: Option<String>,
show_config: bool,
},
AnthropicApi {
port: u16,
host: String,
},
}Expand description
Available commands
Variants§
AgentClientProtocol
Start Agent Client Protocol bridge for IDE integrations
Fields
target: AgentClientProtocolTargetClient to connect over ACP
Chat
Interactive AI coding assistant
Ask
Single prompt mode - prints model reply without tools
Send a single prompt to the model and print the response. No tools are invoked, no session is created, and the process exits after replying.
Examples: vtcode ask “what is a monad?” echo “summarize this” | vtcode ask vtcode ask –output-format json “explain ownership in Rust”
Fields
output_format: Option<AskOutputFormat>Format the response using a structured representation.
Exec
Headless execution mode
Run the agent in non-interactive mode. The agent executes the prompt, runs tools, and exits when done. Ideal for CI/CD, scripting, and agent-to-agent workflows.
Examples: vtcode exec “explain this codebase” vtcode exec –json “fix the failing test” vtcode exec –dry-run “refactor auth module” cat file.rs | vtcode exec “review this code” vtcode exec resume –last
Fields
command: Option<ExecSubcommand>Optional exec subcommand
Schedule
Manage durable scheduled tasks
Create, list, and delete scheduled tasks that run on a recurring or
one-shot basis. Tasks are stored persistently and survive restarts
when paired with vtcode schedule install-service.
Examples:
vtcode schedule create –name “daily-review” –cron “0 9 * * 1-5” –prompt “review recent changes”
vtcode schedule create –name “reminder” –reminder “standup in 10 minutes” –at “09:50”
vtcode schedule list
vtcode schedule delete
Fields
command: ScheduleSubcommandBackgroundSubagent(BackgroundSubagentArgs)
Internal VT Code background subagent runner
Review(ReviewArgs)
Headless code review for the current diff, selected files, or a custom git target
Schema
Runtime schema introspection for built-in tools
Fields
command: SchemaCommandsChatVerbose
Verbose interactive chat with debug output
Analyze
Analyze workspace (structure, security, performance)
Trajectory
Pretty-print trajectory logs
Fields
Notify
Send a VT Code notification using the built-in notification system
Benchmark
Benchmark against SWE-bench evaluation framework
Fields
CreateProject
Create complete Rust project
Revert
Revert agent to a previous snapshot
Fields
Snapshots
List all available snapshots
CleanupSnapshots
Clean up old snapshots
Features: • Remove snapshots beyond limit • Configurable retention policy • Safe deletion with confirmation
Examples: vtcode cleanup-snapshots vtcode cleanup-snapshots –max 20
Init
Initialize project guidance and workspace scaffolding
Bootstrap a workspace for use with VT Code. Creates vtcode.toml, AGENTS.md, and other scaffolding. Run this once per project.
Examples: vtcode init vtcode init –force
InitProject
Initialize project in ~/.vtcode/projects/
Create a new project entry in the VT Code projects directory.
This is separate from vtcode init which bootstraps a workspace.
Examples: vtcode init-project vtcode init-project –name my-project vtcode init-project –force –migrate
Fields
Config
Generate configuration file
Create a vtcode.toml configuration file with default settings. Use –global to create in ~/.vtcode/ or specify an output path.
Examples: vtcode config vtcode config –global vtcode config –output ./my-vtcode.toml
Fields
Login
Authenticate with a supported provider
Start an OAuth or API-key login flow for the given provider. Credentials are stored securely in the OS keychain.
Examples: vtcode login openai vtcode login openrouter vtcode login codex vtcode login codex –device-code
Fields
Logout
Clear stored authentication credentials for a provider
Remove stored OAuth tokens or API keys for the given provider.
Examples: vtcode logout openai vtcode logout openrouter
Auth
Show authentication status for one provider or all supported providers
Display whether each provider is authenticated, which credential type is in use, and token/session metadata when available.
Examples: vtcode auth vtcode auth openai vtcode auth openrouter
ToolPolicy
Manage tool execution policies
Fields
command: ToolPolicyCommandsMcp
Manage Model Context Protocol providers
Fields
command: McpCommandsA2a
Agent2Agent (A2A) Protocol
Fields
command: A2aCommandsAppServer
Proxy to the official Codex app-server
Models
Manage models and providers
Fields
command: ModelCommandsPods
Manage GPU pod deployments
Fields
command: PodsCommandsMan
Generate or display man pages
Fields
Skills(SkillsSubcommand)
Manage Agent Skills
Skills are reusable instruction sets that extend the agent’s capabilities. Each skill is a directory containing a SKILL.md manifest and optional scripts.
Examples: vtcode skills list vtcode skills create my-skill vtcode skills load my-skill vtcode skills info my-skill vtcode skills validate ./path/to/skill
ListSkills
List available skills (alias for vtcode skills list)
Dependencies(DependenciesSubcommand)
Manage optional VT Code dependencies
Install, update, or check the status of optional tools that VT Code can use (ripgrep, ast-grep, search-tools bundle).
Examples: vtcode dependencies status vtcode dependencies install search-tools vtcode deps install ripgrep
Check
Run built-in repository checks
Execute repository-level checks such as ast-grep rule tests and scans.
Examples: vtcode check ast-grep
Fields
command: CheckSubcommandUpdate
Check for and install binary updates from GitHub Releases
Manage VT Code binary updates. By default checks for a new version and offers to install it. Use flags to customize behavior.
Examples: vtcode update vtcode update –check vtcode update –force vtcode update –list vtcode update –pin 0.120.0 vtcode update –unpin vtcode update –channel beta
Fields
AnthropicApi
Start Anthropic API compatibility server
Trait Implementations§
Source§impl FromArgMatches for Commands
impl FromArgMatches for Commands
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Subcommand for Commands
impl Subcommand for Commands
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Self can parse a specific subcommandAuto Trait Implementations§
impl Freeze for Commands
impl RefUnwindSafe for Commands
impl Send for Commands
impl Sync for Commands
impl Unpin for Commands
impl UnsafeUnpin for Commands
impl UnwindSafe for Commands
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more