{"id":"423e533a-53b4-4909-a52d-11b7cfd98cdc","slug":"vtcode","kind":"mcp","name":"VTCode","summary":"VT Code is an open-source Rust terminal coding agent.","owner":"vinhnx","repoUrl":"https://github.com/vinhnx/VTCode","license":"Apache-2.0","licenseTier":"permissive","trust":"community","stars":881,"match":null,"fewStars":false,"format":"mcp","createdAt":null,"addedAt":"2026-10-14T05:37:18.664Z","logoUrl":"https://avatars.githubusercontent.com/u/1097578?u=0fb2e2ea33635f8c4e437c5ed123c99c1477cd4f&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["developer-tools"],"tags":["cli","rust","ratatui","crossterm","terminal","cargo","tui","agent"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-14T05:42:48.959Z","sample":false,"url":"https://conduits.dev/tools/vtcode","language":"Rust","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# VT Code\n\n<div align=\"center\">\n\n<img src=\"./resources/logo/vt_code_adaptive.svg\" alt=\"VT Code\" width=\"240\" />\n\n**An open-source coding agent for your terminal.**\n\nPlan, build, and review with hosted or local models, sandboxed tools, and resumable sessions.\n\n[![GitHub release](https://img.shields.io/github/release/vinhnx/vtcode.svg)](https://github.com/vinhnx/vtcode/releases)\n[![Rust](https://img.shields.io/badge/rust-1.98.1%2B-000000?style=flat-square&logo=rust&logoColor=white)](https://github.com/vinhnx/VTCode)\n[![License](https://img.shields.io/badge/License-MIT_OR_Apache--2.0-30363D?style=flat-square)](#license)\n\n[![Agent Skills](https://img.shields.io/badge/Agent_Skills-BFB38F?style=flat-square)](https://agentskills.io/)\n[![Agent Client Protocol](https://img.shields.io/badge/Agent_Client_Protocol-383B73?style=flat-square&logo=zedindustries&logoColor=white)](./docs/guides/zed-acp.md)\n[![Model Context Protocol](https://img.shields.io/badge/Model_Context_Protocol-A63333?style=flat-square&logo=modelcontextprotocol&logoColor=white)](./docs/guides/mcp-integration.md)\n[![Agent Plugins](https://img.shields.io/badge/Agent_Plugins-5865F2?style=flat-square)](./docs/guides/agent-plugins.md)\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/vinhnx/VTCode)\n\n<!-- markdownlint-disable-next-line MD013 -->\n<img src=\"./resources/gif/vtcode.gif\" alt=\"VT Code demo: plan, then review changes in the terminal\" width=\"76%\" />\n</div>\n\n<details>\n<summary><strong>Contents</strong></summary>\n\n- [VT Code](#vt-code)\n  - [Overview](#overview)\n  - [Quick start](#quick-start)\n    - [1. Install](#1-install)\n    - [2. Configure your project](#2-configure-your-project)\n    - [3. Run your first task](#3-run-your-first-task)\n  - [Usage](#usage)\n    - [Interactive](#interactive)\n    - [Headless](#headless)\n    - [Scheduled tasks](#scheduled-tasks)\n    - [Sessions](#sessions)\n  - [Integrations](#integrations)\n  - [Documentation](#documentation)\n  - [Development](#development)\n  - [Contributing](#contributing)\n  - [Security](#security)\n  - [Community](#community)\n    - [Security Advisors](#security-advisors)\n    - [Main Contributor](#main-contributor)\n    - [Core Contributors](#core-contributors)\n    - [Contributors](#contributors)\n  - [Support the project](#support-the-project)\n    - [Resources](#resources)\n    - [Share VT Code](#share-vt-code)\n    - [Sponsorship](#sponsorship)\n  - [License](#license)\n\n</details>\n\n## Overview\n\nExplore a codebase, plan changes, run tools, and review edits, in the interactive TUI or headless with\n`vtcode exec`. You pick the model and the permissions; the runtime handles context management, tool calls, and\nexecution policy.\n\n| At a glance      | What you get                                                                              |\n| ---------------- | ----------------------------------------------------------------------------------------- |\n| **Planning**     | [Plan read-only](./docs/guides/planning-workflow.md), then review turn diffs.             |\n| **Safety**       | [Auditable command policy](./docs/security/SECURITY_MODEL.md) and sandboxing.             |\n| **Self-correct** | [HOVER loop](./docs/development/hypothesis-revision-validation.md): Hypothesize, Observe, |\n|                  | Verify, Evaluate, Revise, Repeat on tool mismatch.                                        |\n| **Long runs**    | [Headless exec](./docs/user-guide/exec-mode.md) with compaction, resumption, and logs.    |\n| **Integrations** | [MCP](./docs/guides/mcp-integration.md), Skills, plugins, and editor bridges.             |\n| **Models**       | [Hosted or local providers](./docs/README.md#provider-index), chosen per task.            |\n\n```mermaid\nflowchart LR\n    H[Hypothesize] --> O[Observe tool evidence]\n    O --> V[Verify outcome]\n    V --> E[Evaluate vs hypothesis]\n    E -->|mismatch| R[Revise and retry corrected]\n    R --> H\n    E -->|match| D[Done]\n```\n\nLegend: **H** states the expected outcome; **O** collects bounded tool evidence; **V** checks exit\nstatus and verifier result; **E** compares expectation against evidence; **R** applies an\nevidence-supported correction. `mismatch` (non-zero exit, empty search, stale patch, failed verifier,\nrepeated evidence) loops back with corrected arguments; `match` exits to `Done`. Rereads alone are not\nrevision. Full acceptance table: [HOVER validation](./docs/development/hypothesis-revision-validation.md).\n\nThe rest of this page covers installation, configuration, a first task, and the deeper topics.\n\n## Quick start\n\nRequirements: macOS, Linux, or Windows/WSL. Installing with Cargo also requires Rust 1.98.1+ (edition 2024).\n\n### 1. Install\n\n```bash\n# Review the installer script before running it: https://github.com/vinhnx/vtcode/blob/main/scripts/install.sh\ncurl -fsSL https://raw.githubusercontent.com/vinhnx/VTCode/main/scripts/install.sh | bash\n```\n\nOn macOS and Linux, the installer also installs `ripgrep` and `ast-grep` by default. Prefer Homebrew or Cargo if you\nwant to manage the installation yourself:\n\n```bash\nbrew trust vinhnx/tap\nbrew install vinhnx/tap/vtcode\n\n# Or install with Rust (requires Rust 1.98.1+)\ncargo install vtcode\n```\n\nRun `vtcode --version` to verify the installation. The [installation guide](./docs/installation/README.md) covers\nprerequisites, other install methods, and optional search-tool setup.\n\n> [!NOTE]\n> Windows artifacts are best-effort and may lag behind macOS/Linux.\n\n### 2. Configure your project\n\nFrom your project directory, scaffold the project configuration and agent instructions, then add credentials for your\nchosen provider. For example, with OpenAI:\n\n```bash\ncd path/to/your/project\nvtcode init                # scaffolds config + AGENTS.md; review before committing\nvtcode secret add openai   # stores an OpenAI API key in your OS keyring\n```\n\nReplace `openai` with your provider. Alternatively, set credentials in environment variables or a workspace `.env`\nfile, or use `vtcode login` for a supported login flow. See [Getting started](./docs/user-guide/getting-started.md) and\n[Provider guides](./docs/providers/PROVIDER_GUIDES.md) for provider-specific instructions.\n\n> [!NOTE]\n> ChatGPT OAuth reuses the Codex CLI's public client identity via an unofficial compatibility flow; prefer your\n> own OpenAI API key. GitHub Copilot uses the official `copilot` CLI. See\n> [OAuth authentication](./docs/guides/oauth-authentication.md).\n\n<!-- -->\n\n> [!CAUTION]\n> Never commit API keys or put them in `vtcode.toml`.\n\n### 3. Run your first task\n\n```bash\nvtcode   # open the interactive TUI in your project\n```\n\nStart with a focused request, such as \"Explain how this project handles authentication.\" Review proposed changes and\ntest results before committing. See [Usage](#usage) for automation and session commands, or take the\n[guided tour](./docs/user-guide/getting-started.md).\n\n## Usage\n\n### Interactive\n\nUse `vtcode` to explore, plan, and implement changes in the TUI. For larger tasks, begin with\n[read-only planning](./docs/guides/planning-workflow.md), then review the\n[turn diff](./docs/development/diff-preview.md) before committing. The\n[interactive guide](./docs/user-guide/interactive-mode.md) covers controls.\n\nAfter a task, `/explain` reviews outcome, changes, decisions, verification, and review priorities without another\nmodel call:\n\n- `/explain --details` adds evidence.\n- `/explain diagram` shows execution relationships.\n- `/explain --web` opens the browser view with an offline fallback.\n- `/explain --export html` saves a standalone report.\n\nScopes and report options: [explanation usage](./docs/user-guide/commands.md#execution-explanations).\n\n### Headless\n\nUse `ask` for a tool-free answer, `exec` for a tool-enabled coding task, and `review` to inspect uncommitted changes:\n\n```bash\nvtcode ask \"explain Rc vs Arc\"    # one-shot answer, no session, no tools\nvtcode exec \"refactor main.rs\"    # headless task with the full tool loop\nvtcode review                     # agent review of uncommitted changes\n```\n\n`exec` runs the full tool loop and requires `[automation.full_auto]` plus `full_auto` workspace trust. Interactive\nterminals prompt for trust. Non-TTY runs require `VTCODE_TRUST_WORKSPACE=full-auto`; tool allow-lists, explicit denies,\nand execution policy still apply. See [exec mode](./docs/user-guide/exec-mode.md) and\n[full automation](./docs/guides/full-automation.md) for configuration and output details.\n\nFor repeatable, environment-checked results, use the [eval framework](./docs/guides/eval.md). A completion message\nalone is not verification.\n\n### Scheduled tasks\n\nFor recurring work, use [scheduled tasks](./docs/user-guide/scheduled-tasks.md): durable prompt jobs on the same exec\nruntime.\n\n```bash\n# Weekly dependency audit (Mondays 09:00)\nvtcode schedule create --name \"weekly-dep-audit\" \\\n  --cron \"0 9 * * 1\" \\\n  --prompt \"Check for outdated dependencies and report known vulnerabilities\"\n```\n\n### Sessions\n\nResume or inspect earlier work:\n\n```bash\n# Resume the most recent interactive session\nvtcode continue\n\n# Continue the last headless run with a follow-up prompt\nvtcode exec resume --last \"continue the refactor\"\n\n# Inspect the execution log\nvtcode trajectory\n```\n\nUse `vtcode continue --session-id <id>` to fork an earlier session.\n\n## Integrations\n\nEnable these only when you need them; none are required for the quick start.\n\n| Integration                                   | What it gives you                                                                                                                                                                                                                                                                 |\n| --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| [MCP](./docs/guides/mcp-integration.md)       | Connect external tools and data sources.                                                                                                                                                                                                                                          |\n| [Agent Skills](./docs/skills/SKILLS_GUIDE.md) | Load reusable prompt packages on demand.                                                                                                                                                                                                                                          |\n| [Plugins](./docs/guides/agent-plugins.md)     | Extend the agent with plugin manifests.                                                                                                                                                                                                                                           |\n| [ACP with Zed](./docs/guides/zed-acp.md)      | Drive VT Code from the Zed editor.                                                                                                                                                                                                                                                |\n| [WebMCP](./docs/user-guide/webmcp.md)         | Pair the TUI with an authenticated browser editor via `/webmcp pair <origin>`; the hosted app ([site](https://vtcode.vinhnx.chatgpt.site/), [mirror](https://vinhnx.github.io/VTCode/)) connects through this bridge. See the [deployment reference](./docs/reference/webmcp.md). |\n| [Memcode MCP](./docs/guides/memcode-mcp.md)   | Carry context between tasks; see the [design write-up](https://memcode.in/blogs/vt-code-memory-across-threads).                                                                                                                                                                   |\n\n## Documentation\n\nGuides grouped by task. The full catalog lives in the [documentation index](./docs/INDEX.md), the\n[docs overview](./docs/README.md), and the [Wiki](https://github.com/vinhnx/VTCode/wiki):\n\n| Goal                 | Guides                                                                                                                                                                                                                                                                                                                                           |\n| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| Get started          | [Installation](./docs/installation/README.md) · [Getting started](./docs/user-guide/getting-started.md) · [Providers](./docs/providers/PROVIDER_GUIDES.md) · [OAuth login](./docs/guides/oauth-authentication.md) · [FAQ](./docs/FAQ.md) · [Compatibility](./docs/COMPATIBILITY.md)                                                              |\n| Work in the TUI      | [TUI](./docs/user-guide/interactive-mode.md) · [Command reference](./docs/user-guide/commands.md) · [Planning](./docs/guides/planning-workflow.md) · [Turn diffs](./docs/development/diff-preview.md) · [Configuration](./docs/config/CONFIG_FIELD_REFERENCE.md) · [Safety](./docs/security/SECURITY_MODEL.md)                                   |\n| Automate             | [Exec mode](./docs/user-guide/exec-mode.md) · [Full automation](./docs/guides/full-automation.md) · [Decisions probe](./docs/guides/decisions-probe.md) · [Scheduled tasks](./docs/user-guide/scheduled-tasks.md) · [Hooks](./docs/guides/hooks-guide.md)                                                                                        |\n| Extend and integrate | [Skills](./docs/skills/SKILLS_GUIDE.md) · [Plugins](./docs/guides/agent-plugins.md) · [MCP](./docs/guides/mcp-integration.md) · [Editors (ACP)](./docs/guides/zed-acp.md) · [WebMCP](./docs/user-guide/webmcp.md) · [Memcode](./docs/guides/memcode-mcp.md)                                                                                      |\n| Develop and evaluate | [Development](./docs/development/README.md) · [Testing](./docs/development/testing.md) · [Evals](./docs/guides/eval.md) · [Architecture](./docs/ARCHITECTURE.md) · [HOVER](./docs/development/hypothesis-revision-validation.md) · [Protocols](./docs/protocols/OPEN_RESPONSES.md) · [Loop engineering](./docs/project/PLAN-loop-engineering.md) |\n\n## Development\n\n```mermaid\ngraph LR\n    BIN[vtcode binary] --> CORE[vtcode-core harness]\n    BIN --> EVAL[vtcode-eval]\n    CORE --> LLM[vtcode-llm]\n    CORE --> SAFETY[vtcode-safety]\n    CORE --> EVENTS[vtcode-exec-events]\n    CORE --> CONFIG[vtcode-config]\n    CORE --> MEMORY[vtcode-memory]\n    CORE --> UI[vtcode-ui]\n```\n\nBuilding requires Rust 1.98.1+ (edition 2024); tests need `cargo-nextest`. The full 23-crate map lives in the\n[architecture guide](./docs/ARCHITECTURE.md).\n\nContext handling separates session history from provider request projections. Local clearing protects complete recent\ntool batches; headless runs estimate the cleared projection before automatic compaction. See\n[context architecture](./docs/ARCHITECTURE.md#request-projection-and-context-budgets) and the\n[compaction guide](./docs/development/compaction.md) for budgets, provider strategies, and persistence boundaries.\n\n```bash\ngit clone https://github.com/vinhnx/VTCode.git\ncd VTCode\n./scripts/run-debug.sh     # build and launch a debug binary\n./scripts/check-dev.sh     # fast gate: clippy, fmt, check\ncargo nextest run          # tests (requires cargo-nextest)\n```\n\nCI builds with `--locked` and `RUSTFLAGS=\"-D warnings\"`; match locally with\n`RUSTFLAGS=\"-D warnings\" cargo check --locked`. Setup and checks are documented in the\n[development overview](./docs/development/README.md) and the [testing guide](./docs/development/testing.md).\n\nRelease binaries and notes: [GitHub releases](https://github.com/vinhnx/VTCode/releases).\n\n## Contributing\n\nContributions are welcome in every form:\n\n- **Code**: pick or propose an issue; keep changes surgical and tested.\n- **Docs**: every user-facing feature lands with its documentation.\n- **Evals**: new suites and regression cases are high-leverage; see the [eval guide](./docs/guides/eval.md).\n- **Bug reports**: include `vtcode trajectory` output when possible.\n\nBefore a PR, see the [contribution guide](./docs/CONTRIBUTING.md): Conventional Commits (`type(scope): subject`),\n`./scripts/check-dev.sh` + `cargo nextest run`, and a focused diff.\n\n## Security\n\nReport vulnerabilities privately via\n[GitHub private vulnerability reporting](https://github.com/vinhnx/VTCode/security/advisories/new); never open a public\nissue. Details: [security policy](./docs/SECURITY.md).\n\n## Community\n\nThanks to everyone who builds, tests, and improves VT Code. For partnerships, reach the maintainer at\n`vinhnguyen2308 [at] gmail [dot] com`; bugs and feature requests belong in\n[GitHub Issues](https://github.com/vinhnx/VTCode/issues).\n\n<details open>\n<summary>View all contributors</summary>\n\n<!-- CONTRIBUTORS:START -->\n\n<!-- markdownlint-disable MD013 -->\n\n### Security Advisors\n\n<a href=\"https://github.com/glmgbj233\"><img src=\"https://avatars.githubusercontent.com/u/115564047?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@glmgbj233\" title=\"@glmgbj233 GHSA-wqgw-crr5-cr2p (security advisory)\" style=\"border-radius: 50%; border: 2px solid #FF6B6B;\" /></a>&nbsp;\n<a href=\"https://github.com/nnfrog\"><img src=\"https://avatars.githubusercontent.com/u/142202920?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@nnfrog\" title=\"@nnfrog GHSA-r249-hpfx-x2w7 (security advisory)\" style=\"border-radius: 50%; border: 2px solid #FF6B6B;\" /></a>&nbsp;\n\n### Main Contributor\n\n<a href=\"https://github.com/kernitus\"><img src=\"https://avatars.githubusercontent.com/u/2789734?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@kernitus\" title=\"@kernitus Main Contributor (52 commits)\" style=\"border-radius: 50%; border: 2px solid #FFD700;\" /></a>&nbsp;\n\n### Core Contributors\n\n<a href=\"https://github.com/7jrxt42BxFZo4iAnN4CX\"><img src=\"https://avatars.githubusercontent.com/u/72938937?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@7jrxt42BxFZo4iAnN4CX\" title=\"@7jrxt42BxFZo4iAnN4CX Core contributor (44 commits) - subagents, hooks, config & TUI fixes (#737, #738, #740-#742+)\" style=\"border-radius: 50%; border: 2px solid #50C878;\" /></a>&nbsp;\n<a href=\"https://github.com/ct-jaryn\"><img src=\"https://avatars.githubusercontent.com/u/151006958?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@ct-jaryn\" title=\"@ct-jaryn Core contributor (7 commits) - lint/model preset test gates (#769), swarm diff fix (#768), CLI test harness (#767), MCP docs (#765)\" style=\"border-radius: 50%; border: 2px solid #50C878;\" /></a>&nbsp;\n<a href=\"https://github.com/oiwn\"><img src=\"https://avatars.githubusercontent.com/u/398035?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@oiwn\" title=\"@oiwn Core contributor (6 commits)\" style=\"border-radius: 50%; border: 2px solid #50C878;\" /></a>&nbsp;\n<a href=\"https://github.com/Sachin-Bhat\"><img src=\"https://avatars.githubusercontent.com/u/25080916?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@Sachin-Bhat\" title=\"@Sachin-Bhat Core contributor (3 commits)\" style=\"border-radius: 50%; border: 2px solid #50C878;\" /></a>&nbsp;\n<a href=\"https://github.com/chenrui333\"><img src=\"https://avatars.githubusercontent.com/u/1580956?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@chenrui333\" title=\"@chenrui333 Core contributor (3 commits)\" style=\"border-radius: 50%; border: 2px solid #50C878;\" /></a>&nbsp;\n<a href=\"https://github.com/xcrong\"><img src=\"https://avatars.githubusercontent.com/u/46434477?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@xcrong\" title=\"@xcrong Core contributor (2 commits)\" style=\"border-radius: 50%; border: 2px solid #50C878;\" /></a>&nbsp;\n<a href=\"https://github.com/netbrah\"><img src=\"https://avatars.githubusercontent.com/u/162479981?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@netbrah\" title=\"@netbrah Core contributor (2 commits)\" style=\"border-radius: 50%; border: 2px solid #50C878;\" /></a>&nbsp;\n<a href=\"https://github.com/leonj1\"><img src=\"https://avatars.githubusercontent.com/u/5171829?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@leonj1\" title=\"@leonj1 Core contributor (2 commits)\" style=\"border-radius: 50%; border: 2px solid #50C878;\" /></a>&nbsp;\n<a href=\"https://github.com/gzsombor\"><img src=\"https://avatars.githubusercontent.com/u/66230?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@gzsombor\" title=\"@gzsombor Core contributor (2 commits)\" style=\"border-radius: 50%; border: 2px solid #50C878;\" /></a>&nbsp;\n\n### Contributors\n\n<a href=\"https://github.com/vivekgupta-memcode\"><img src=\"https://avatars.githubusercontent.com/u/330296621?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@vivekgupta-memcode\" title=\"@vivekgupta-memcode Contributor (4 commits) - Memcode OAuth setup docs (#763)\" style=\"border-radius: 50%; border: 2px solid #B19CD9;\" /></a>&nbsp;\n<a href=\"https://github.com/S2thend\"><img src=\"https://avatars.githubusercontent.com/u/81468081?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@S2thend\" title=\"@S2thend Contributor (2 commits) - checkpoint rewind/redo (#771)\" style=\"border-radius: 50%; border: 2px solid #B19CD9;\" /></a>&nbsp;\n<a href=\"https://github.com/uiYzzi\"><img src=\"https://avatars.githubusercontent.com/u/40852301?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@uiYzzi\" title=\"@uiYzzi Contributor (1 commit)\" style=\"border-radius: 50%; border: 2px solid #B19CD9;\" /></a>&nbsp;\n<a href=\"https://github.com/TuanLe-bk18\"><img src=\"https://avatars.githubusercontent.com/u/222461688?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@TuanLe-bk18\" title=\"@TuanLe-bk18 Contributor (1 commit)\" style=\"border-radius: 50%; border: 2px solid #B19CD9;\" /></a>&nbsp;\n<a href=\"https://github.com/Sanjays2402\"><img src=\"https://avatars.githubusercontent.com/u/51058514?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@Sanjays2402\" title=\"@Sanjays2402 Contributor (1 commit)\" style=\"border-radius: 50%; border: 2px solid #B19CD9;\" /></a>&nbsp;\n<a href=\"https://github.com/rs545837\"><img src=\"https://avatars.githubusercontent.com/u/114828377?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@rs545837\" title=\"@rs545837 Contributor (1 commit) - optional Sem code discovery docs (#783)\" style=\"border-radius: 50%; border: 2px solid #B19CD9;\" /></a>&nbsp;\n<a href=\"https://github.com/RobertBorg\"><img src=\"https://avatars.githubusercontent.com/u/1288566?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@RobertBorg\" title=\"@RobertBorg Contributor (1 commit)\" style=\"border-radius: 50%; border: 2px solid #B19CD9;\" /></a>&nbsp;\n<a href=\"https://github.com/raphamorim\"><img src=\"https://avatars.githubusercontent.com/u/3630346?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@raphamorim\" title=\"@raphamorim Contributor (1 commit) - PR #708, rio-vt migration\" style=\"border-radius: 50%; border: 2px solid #B19CD9;\" /></a>&nbsp;\n<a href=\"https://github.com/poelzi\"><img src=\"https://avatars.githubusercontent.com/u/66107?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@poelzi\" title=\"@poelzi Contributor (1 commit)\" style=\"border-radius: 50%; border: 2px solid #B19CD9;\" /></a>&nbsp;\n<a href=\"https://github.com/morler\"><img src=\"https://avatars.githubusercontent.com/u/478444?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@morler\" title=\"@morler Contributor (1 commit)\" style=\"border-radius: 50%; border: 2px solid #B19CD9;\" /></a>&nbsp;\n<a href=\"https://github.com/georgeatparallel\"><img src=\"https://avatars.githubusercontent.com/u/297992784?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@georgeatparallel\" title=\"@georgeatparallel Contributor (1 commit) - opt-in Parallel Search MCP config (#779)\" style=\"border-radius: 50%; border: 2px solid #B19CD9;\" /></a>&nbsp;\n<a href=\"https://github.com/ForrestThump\"><img src=\"https://avatars.githubusercontent.com/u/44280834?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@ForrestThump\" title=\"@ForrestThump Contributor (1 commit)\" style=\"border-radius: 50%; border: 2px solid #B19CD9;\" /></a>&nbsp;\n<a href=\"https://github.com/EvoLinkAI\"><img src=\"https://avatars.githubusercontent.com/u/253253881?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@EvoLinkAI\" title=\"@EvoLinkAI Contributor (1 commit) - Evolink provider (#664)\" style=\"border-radius: 50%; border: 2px solid #B19CD9;\" /></a>&nbsp;\n<a href=\"https://github.com/ericcurtin\"><img src=\"https://avatars.githubusercontent.com/u/1694275?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@ericcurtin\" title=\"@ericcurtin Contributor (1 commit)\" style=\"border-radius: 50%; border: 2px solid #B19CD9;\" /></a>&nbsp;\n<a href=\"https://github.com/diegosouzapw\"><img src=\"https://avatars.githubusercontent.com/u/8016841?v=4&s=60\" width=\"40\" height=\"40\" alt=\"@diegosouzapw\" title=\"@diegosouzapw Contributor (1 commit)\" style=\"border-radius: 50%; border: 2px solid #B19CD9;\" /></a>&nbsp;\n\n<!-- markdownlint-enable MD013 -->\n\n<!-- CONTRIBUTORS:END -->\n\n</details>\n\nWant to see your avatar here? Every bit counts: one-line fixes, bug reports, and feedback are all welcome.\n\n[Report a bug](https://github.com/vinhnx/VTCode/issues/new?template=bug_report.md) ·\n[Request a feature](https://github.com/vinhnx/VTCode/issues/new?template=feature_request.md) ·\n[Share feedback](https://github.com/vinhnx/VTCode/discussions) ·\n[Star the repo](https://github.com/vinhnx/VTCode/stargazers) · [Contribute](./docs/CONTRIBUTING.md)\n\n## Support the project\n\n### Resources\n\n- [Building VT Code, a year in](https://huggingface.co/blog/vinhnx90/building-vtcode-a-year-in): harness design,\n  evals, security, and lessons learned.\n- [Podcast](https://www.youtube.com/watch?v=XLoswcd5rH0) · [Video](https://www.youtube.com/watch?v=PvL_kPjgU6o)\n\n### Share VT Code\n\nIf VT Code helped you ship something, spread the word:\n\n[Share on X](https://twitter.com/intent/tweet?text=VT%20Code%20is%20an%20open-source%20coding%20agent%20for%20your%20terminal&url=https%3A%2F%2Fgithub.com%2Fvinhnx%2Fvtcode)\n·\n[Share on Hacker News](https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fgithub.com%2Fvinhnx%2Fvtcode&t=VT%20Code%20%E2%80%93%20Open-source%20coding%20agent%20for%20your%20terminal)\n· [Share on LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fvinhnx%2Fvtcode) ·\n[Share via Email](mailto:?subject=VT%20Code%3A%20open-source%20coding%20agent%20for%20your%20terminal&body=Check%20out%20VT%20Code%2C%20an%20open-source%20coding%20agent%20for%20your%20terminal%3A%20https%3A%2F%2Fgithub.com%2Fvinhnx%2Fvtcode)\n·\n[Share via SMS](sms:?&body=Check%20out%20VT%20Code%2C%20an%20open-source%20coding%20agent%20for%20your%20terminal%3A%20https%3A%2F%2Fgithub.com%2Fvinhnx%2Fvtcode)\n\n### Sponsorship\n\nVT Code is maintained in spare time; a [sponsorship](https://github.com/sponsors/vinhnx) keeps it independent.\n\n<div align=\"center\">\n\n[![@dnhn](https://avatars.githubusercontent.com/u/2561973?s=80)](https://github.com/dnhn)&nbsp;\n[![@codemod](https://avatars.githubusercontent.com/u/78830094?s=80)](https://github.com/codemod)&nbsp;\n[![@coderabbitai](https://avatars.githubusercontent.com/u/132028505?s=80)](https://github.com/coderabbitai)&nbsp;\n[![@KhaiRyth](https://avatars.githubusercontent.com/u/273723951?s=80)](https://github.com/KhaiRyth)\n\n<!-- markdownlint-disable-next-line MD013 -->\n\n[![GitHub Sponsors](https://img.shields.io/badge/Sponsor-30363D?style=for-the-badge&logo=github-sponsors&logoColor=%23EA4AAA)](https://github.com/sponsors/vinhnx)\n[![Buy Me a Coffee](./resources/screenshots/qr_donate.png)](https://buymeacoffee.com/vinhnx)\n\n</div>\n\n## License\n\nFirst-party code is **MIT OR Apache-2.0** under [LICENSE](LICENSE). Third-party code keeps its original licenses,\nlisted in [THIRD-PARTY-NOTICES](THIRD-PARTY-NOTICES).\n"}