Skip to content

Latest commit

 

History

8,801 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

VT Code

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.

CI Crates.io GitHub release Rust License Agent Skills Agent Client Protocol Model Context Protocol Agent Plugins Ask DeepWiki

VT Code - Open-source coding agent harness built for long-running work | Product Hunt

VT Code demo: plan, then review changes in the terminal

Plan, run, and review coding work from your terminal.

Contents

Overview

VT Code is an open-source terminal coding agent built in Rust. Explore a codebase, plan changes, run tools, and review edits in the interactive TUI, or run vtcode exec headless. You pick the model and permissions; the runtime handles context, 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.

Quick start

Requirements: macOS, Linux, or Windows/WSL. The Cargo path also needs Rust 1.98.1+ (edition 2024).

1. Install

curl -fsSL https://raw.githubusercontent.com/vinhnx/VTCode/main/scripts/install.sh | bash

The installer also sets up ripgrep and ast-grep on macOS/Linux. Or use Homebrew or Cargo:

brew trust vinhnx/tap
brew install vinhnx/tap/vtcode

# Or install with Rust (requires Rust 1.98.1+)
cargo install vtcode

Verify the install with vtcode --version, then see the installation guide for prerequisites, other methods, and the installer script you can 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:

cd path/to/your/project
vtcode init                # scaffolds config + AGENTS.md; review before committing
vtcode secret add openai   # stores an OpenAI API key in your OS keyring

Replace openai with your supported 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 copilot CLI. See OAuth authentication.

Caution

Never commit API keys or put them in vtcode.toml.

3. Run your first task

vtcode   # open the interactive TUI in your project

Start with a focused request, such as “Explain how this project handles authentication,” then review the diff and test results before committing. For automation and session commands, see Usage.

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. Use /explain --details to inspect evidence, /explain diagram for execution relationships, or /explain --web for the browser view with an offline fallback. /explain --export html saves a standalone report. See explanation usage for scopes and report options.

Headless

Run tasks without the TUI: ask for a tool-free answer, exec for a tool-enabled coding task, and review for uncommitted changes:

vtcode ask "explain Rc vs Arc"    # one-shot answer, no session, no tools
vtcode exec "refactor main.rs"    # headless task with the full tool loop
vtcode review                     # agent review of uncommitted changes

exec requires autonomous execution enabled in [automation.full_auto] plus full_auto workspace trust: a terminal prompts for trust, while non-TTY runs fail unless you set VTCODE_TRUST_WORKSPACE=full-auto. Full-auto's tool allow-list, explicit denies, and execution policy still apply. See exec mode for trust and output options and full automation for configuration.

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)
vtcode schedule create --name "weekly-dep-audit" \
  --cron "0 9 * * 1" \
  --prompt "Check for outdated dependencies and report known vulnerabilities"

Sessions

Resume or inspect earlier work:

# Resume the most recent interactive session
vtcode continue

# Continue the last headless run with a follow-up prompt
vtcode exec resume --last "continue the refactor"

# Inspect the execution log
vtcode trajectory

Use vtcode continue --session-id <id> to fork an earlier session.

Extend and integrate

Enable these only when you need them; none are required for the quick start.

Extensions

MCP servers, Agent Skills, and Plugins.

Editors

ACP with Zed for editor integration. WebMCP pairs the TUI with an authenticated browser editor:

/webmcp pair <origin>    # inside the TUI

The hosted app at vtcode.vinhnx.chatgpt.site (mirror) uses this workspace-scoped bridge. See the WebMCP user guide and deployment reference.

Cross-session memory

Memcode MCP carries context between tasks; see the 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]
Loading

Full 23-crate map: Architecture guide. Requires Rust 1.98.1+ (edition 2024) and cargo-nextest for tests:

git clone https://github.com/vinhnx/VTCode.git
cd VTCode
./scripts/run-debug.sh     # build and launch a debug binary
./scripts/check-dev.sh     # fast gate: clippy, fmt, check
cargo nextest run          # tests (requires 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:

  • 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 trajectory output 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.

Community

Thanks to everyone who builds, tests, and improves VT Code.

View all contributors

Security Advisors

@glmgbj233  @nnfrog 

Main Contributor

@kernitus 

Core Contributors

@7jrxt42BxFZo4iAnN4CX  @oiwn  @Sachin-Bhat  @chenrui333  @xcrong  @netbrah  @mouse-value-add  @leonj1  @gzsombor 

Contributors

@ct-jaryn  @vivekgupta-memcode  @S2thend  @uiYzzi  @TuanLe-bk18  @Sanjays2402  @RobertBorg  @raphamorim  @poelzi  @morler  @ForrestThump  @EvoLinkAI  @ericcurtin  @diegosouzapw 

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

Contact

Partnerships and collaboration: vinhnguyen2308 [at] gmail [dot] com. Bugs and feature requests: GitHub Issues. Security vulnerabilities: report privately via GitHub private vulnerability reporting; never open a public issue. Details: security policy.

Resources

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.

@dnhn  @codemod  @coderabbitai  @KhaiRyth

GitHub Sponsors Buy Me a Coffee

License

First-party code is MIT OR Apache-2.0 (LICENSE); third-party code keeps its original licenses (THIRD-PARTY-NOTICES).

Releases

Sponsor this project

Used by

Contributors

Languages