Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
VT Code
An open-source terminal coding agent built in Rust.
Plan, run, and review coding work from your terminal, with hosted or local models, sandboxed execution, and resumable sessions.
Overview
Explore a codebase, plan changes, run tools, and review edits in the interactive TUI, or run vtcode exec headless.
Pick your model and set your permissions; the runtime handles context management, tools, and execution policy.
| At a glance | What you get |
|---|---|
| Planning | Read-only planning, then reviewable turn diffs. |
| Safety | Command policy and sandboxing you can audit. |
| Long runs | Headless exec, compaction, resumption, and logs. |
| Integrations | MCP, Skills, plugins, and editor bridges. |
| Models | Hosted or local providers, chosen per task. |
The sections below follow that arc: install, configure, run a first task, then go deeper.
Quick start
Requirements: macOS, Linux, or Windows/WSL. The Cargo path also needs Rust 1.98.1+ (edition 2024).
1. Install
|
The installer also sets up ripgrep and ast-grep on macOS/Linux. Or use Homebrew or Cargo:
# Or install with Rust (requires Rust 1.98.1+)
Verify the install with vtcode --version, then see the installation guide for
prerequisites, other methods, and the installer script to review before running.
[!NOTE] Windows artifacts are best-effort and may lag behind macOS/Linux.
2. Configure your project
In your project, initialize configuration and instructions, then add provider credentials. For example, with OpenAI:
Replace openai with your provider. Credentials can also come from environment variables or a workspace .env;
vtcode login handles supported login flows. See Getting started and
Provider guides.
[!NOTE] ChatGPT OAuth reuses the Codex CLI's public client identity via an unofficial compatibility flow; prefer your own OpenAI API key. GitHub Copilot uses the official
copilotCLI. See OAuth authentication.
[!CAUTION] Never commit API keys or put them in
vtcode.toml.
3. Run your first task
Start with a focused request, such as "Explain how this project handles authentication," then review the diff and test results before committing. See Usage for automation and session commands, or getting started for a guided tour.
Usage
Interactive
Use vtcode to explore, plan, and implement changes in the TUI. For larger tasks, start with
read-only planning, then review
turn diffs before committing. See the
interactive guide for controls.
After a task, enter /explain to review its outcome, changes, recorded decisions, verification, and review priorities
without another model call:
/explain --detailsadds evidence./explain diagramshows execution relationships./explain --webopens the browser view with an offline fallback./explain --export htmlsaves a standalone report.
Scopes and report options: explanation usage.
Headless
Run tasks without the TUI: ask for a tool-free answer, exec for a tool-enabled coding task, and review for
uncommitted changes:
exec requires autonomous execution in [automation.full_auto] plus full_auto workspace trust: terminals prompt for
trust, and non-TTY runs fail unless you set VTCODE_TRUST_WORKSPACE=full-auto. The tool allow-list, explicit denies,
and execution policy still apply. See exec mode and
full automation for trust, output, and configuration details.
For repeatable, environment-checked results, use the eval framework. A completion message alone is not verification.
Scheduled tasks
For recurring work, use scheduled tasks: durable prompt jobs on the same exec runtime.
# Weekly dependency audit (Mondays 09:00)
Sessions
Resume or inspect earlier work from the same commands:
# Resume the most recent interactive session
# Continue the last headless run with a follow-up prompt
# Inspect the execution log
Use vtcode continue --session-id <id> to fork an earlier session.
Integrations
Enable these only when you need them; none are required for the quick start.
| Integration | What it gives you |
|---|---|
| MCP | Connect external tools and data sources. |
| Agent Skills | Load reusable prompt packages on demand. |
| Plugins | Extend the agent with plugin manifests. |
| ACP with Zed | Drive VT Code from the Zed editor. |
| WebMCP | Pair the TUI with an authenticated browser editor via /webmcp pair <origin>; the hosted app (site, mirror) connects through this bridge. See the deployment reference. |
| Memcode MCP | Carry context between tasks; see the design write-up. |
Documentation
Guides by task; the full catalog lives in the documentation index, the docs overview, and the Wiki:
| Goal | Guides |
|---|---|
| Get started | Installation · Getting started · Providers · OAuth login · FAQ · Compatibility |
| Work in the TUI | TUI · Command reference · Planning · Turn diffs · Configuration · Safety |
| Automate | Exec mode · Full automation · Scheduled tasks · Hooks |
| Extend and integrate | Skills · Plugins · MCP · Editors (ACP) · WebMCP · Memcode |
| Develop and evaluate | Development · Testing · Evals · Architecture · Protocols · Loop engineering |
Development
graph LR
BIN[vtcode binary] --> CORE[vtcode-core harness]
BIN --> EVAL[vtcode-eval]
CORE --> LLM[vtcode-llm]
CORE --> SAFETY[vtcode-safety]
CORE --> EVENTS[vtcode-exec-events]
CORE --> CONFIG[vtcode-config]
CORE --> MEMORY[vtcode-memory]
CORE --> UI[vtcode-ui]
The full 23-crate map lives in the architecture guide. Building requires Rust 1.98.1+
(edition 2024); tests need cargo-nextest:
CI sets RUSTFLAGS="-D warnings" and builds with --locked; match locally with
RUSTFLAGS="-D warnings" cargo check --locked. Setup and checks: development overview ·
testing guide.
Release binaries and notes: GitHub releases.
Contributing
Contributions are welcome in every form:
- Code: pick or propose an issue; keep changes surgical and tested.
- Docs: every user-facing feature lands with its documentation.
- Evals: new suites and regression cases are high-leverage; see the eval guide.
- Bug reports: include
vtcode trajectoryoutput when possible.
Before a PR, see the contribution guide: Conventional Commits (type(scope): subject),
./scripts/check-dev.sh + cargo nextest run, and a focused diff.
Security
Report vulnerabilities privately via GitHub private vulnerability reporting; never open a public issue. Details: security policy.
Community
Thanks to everyone who builds, tests, and improves VT Code. For partnerships and collaboration, reach the maintainer
at vinhnguyen2308 [at] gmail [dot] com; bugs and feature requests belong in
GitHub Issues.
Security Advisors
Main Contributor
Core Contributors
Contributors
Want to see your avatar here? Every bit counts: one-line fixes, bug reports, and feedback are all welcome.
Report a bug · Request a feature · Share feedback · Star the repo · Contribute
Resources
- Building VT Code, a year in: harness design, evals, security, and lessons learned.
- Podcast · Video
Share VT Code
If VT Code helped you ship something, telling other developers is the easiest way to support it:
Share on X · Share on Hacker News · Share on LinkedIn · Share via Email · Share via SMS
Sponsorship
VT Code is maintained in spare time; a sponsorship keeps it independent.
License
First-party code is MIT OR Apache-2.0 (LICENSE); third-party code keeps its original licenses (THIRD-PARTY-NOTICES).
