Skip to main content
Vtx

Vtx

A coding agent that lives in your terminal.

PyPI version Python GitHub License


Vtx is a coding agent harness. Give it a goal and a working folder, and it reads files, runs commands, edits code, and works through multi-step tasks without stopping to confirm each one. The same core runs three ways: a keyboard-driven TUI, a headless CLI for scripts and CI, and a Python SDK for embedding.

It ships 11 packages under the single vtx-coding-agent distribution, with 62 providers, 14 tools, and an agent runtime whose every subsystem is replaceable without editing the harness.

Quick start

uv tool install vtx-coding-agent

vtx                              # terminal UI
vtx -p "add tests for vtx.git"   # headless, one task, then exit

Python 3.12 or newer. The console script is vtx.

Connect a model with --provider and --model, or export a key and start:

export ANTHROPIC_API_KEY=sk-ant-...
vtx --provider anthropic --model claude-sonnet-4-5

Resume a session with vtx -c, or a specific one with vtx -r <id>.

What makes it different

Everything is a row. vtx boots a plugin composition: a profile's ordered bundles, then its own patch layer, then --patch overlays, last write per row id. The tool registry, the provider seam, the session log, the permission gate, and the agent loop are all rows, so each is replaceable from configuration rather than by forking the harness.

vtx --dump-config                          # the composed row list
vtx plugin --profile default disable tool-grep
vtx --profile minimal                      # a four-row composition, for embedding

A plugin declares what it needs with inject and registers through a context that records teardown, so unmounting a row unwinds exactly what it registered.

It extends itself. Vtx ships a skill that teaches the model which surface to reach for when it lacks a capability - a directory of instructions, a plugin row that registers a real tool, or an extension file - and mounts it in place. It will not upgrade the Vtx package itself; that stays a user action.

The sandbox is honest about what it is. A codemode script runs in a separate worker process as you, with the full standard library, the filesystem, subprocesses, and the network. There is no interpreter-level confinement and none is attempted. What a script cannot reach is the host's own state, because that lives in another process - so a deadline is a kill, not a cooperative request.

62 providers, 16 API families. The catalog ships 62 providers across 16 API families; --provider takes a family name, and dropping a YAML file into ~/.vtx/providers/ adds your own.

Sessions are durable and branchable. Resume the last one, fork a new one mid-task to explore a different approach, and revert a turn with snapshots.

Documentation

Full reference, generated from the source:

Quickstart Install, connect a model, finish a first task
How Vtx works The composition, the agent loop, how a tool reaches the model
Tools Every tool, its exact parameter schema, and worked examples
CLI Every flag, subcommand, and exit code
Configuration The config file and every field
Providers The catalog, auth modes, OAuth, local and custom models

Using it

Slash commands Keybindings
Sessions Goals
Agents & sub-agents Headless / CI

Extending it

Skills A directory of instructions the model loads on demand
Plugins A row that can register a tool, command, hook, or replace a core service
Extensions The ExtensionAPI surface, for providers and renderers
Codemode The sandbox and its tool-exposure model

Building on it

SDK Run Vtx inside your own application
Development Repo layout, the lint and test commands, how to add a tool or a row
Storage layout Every path Vtx writes to on disk

Packages

Package Description
@vtx.plugins The plugin kernel: Context, EventHub, plugin rows, patch layers, profiles, boot composition
@vtx.protocol Leaf. Message, stream, and tool-contract types. Imports nothing from vtx
@vtx.telemetry Leaf. Spans, processors, console and JSONL exporters
@vtx.git Git and GitHub integration: gh CLI wrapper, GitHub App auth
@vtx.core Agent events, permission gate, compaction, config schema and paths, theme registry
@vtx.ai The LLM layer: provider catalog, OAuth, SDK adapters, model catalog, tool parsing
@vtx.codemode The script sandbox and its tool-discovery layer
@vtx.mcp MCP client: server config, transports, tool exposure, trust prompt
@vtx.tui Base terminal-UI toolkit: editing, fuzzy matching, overlays, block renderers
@vtx.agent Product-neutral harness: loop, turn engine, sessions, tool registry, prompts, hooks, goals, SDK
@vtx.coding_agent Product layer: CLI entry point, headless runner, filesystem tools, the TUI app

Dependencies flow protocol and telemetry into core, git, and ai; those into agent; agent into coding_agent, with mcp, tui, and plugins above. Each package carries its own README with the public surface and internal notes.

Twelve tools are on by default - read, edit, write, bash, find, skill, web, ask_user, tool_search, codemode, goal, delegate_subagent - resolved by the composition, not by a constant. grep and web_search are registered but off. The sub-agent tool is defined internally as task and exposed as delegate_subagent. Agent profiles load only from .vtx/agent/<name>.py; none ship built in. Configuration lives in ~/.vtx/config.yml.

Contributing

AGENTS.md holds the project rules for humans and agents alike. In short:

uv run ruff format .
uv run ruff check .
uvx ty check .
uv run python -m pytest path/to/test_file.py    # one file, not the full suite

Run a single file's tests rather than the full suite; it is slow and resource intensive. See docs/development.md.

License

Apache License 2.0

Metadata

Release files for vtx-coding-agent 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vtx-coding-agent 1.3.0
File Size Uploaded
vtx_coding_agent-1.3.0.tar.gz 4.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for vtx-coding-agent 1.3.0
File Interpreter ABI Platform
vtx_coding_agent-1.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 5.4 MB

Release files / vtx_coding_agent-1.3.0.tar.gz

Download URL vtx_coding_agent-1.3.0.tar.gz
Size 4.1 MB
Tags Source
SHA-256 checksum
How to use checksums
f4610af09f494d74a23362089d0484f4ad180dd7f45a1b53482ccdbe8e04722f
BLAKE2b-256 checksum
How to use checksums
3ee00728e97b917defd18961330097f16f2cc21e4d78c7bdf44865b8a77729b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Zorin OS","version":"18","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / vtx_coding_agent-1.3.0-py3-none-any.whl

Download URL vtx_coding_agent-1.3.0-py3-none-any.whl
Size 1.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
eef019ae10ce2181becd45d52be561edf907ec5e19d5472368de3ab17abf27f0
BLAKE2b-256 checksum
How to use checksums
2ab93d1e2c08264f5c4e560bc213555bef0d1f4784decbdfcc1714c30342b339
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Zorin OS","version":"18","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page