Reference
Command line
Every volt command: checking, building, flashing, the serial monitor, formatting, toolchains and updates.
volt checks, builds and flashes Volt programs, and talks to boards. Volt IDE uses the same tool, so the command line and the IDE always agree. Install it, then run volt on its own for the list of commands, or volt <command> -h for a command’s options.
Commands that work on a project take its folder, or main.volt in it, and default to the current folder. The chip comes from volt.toml; --chip overrides it.
Everyday
volt new
$ volt new <name> [--chip esp32|esp8266|rp2040] [--template blink|iot-sensor|empty]Creates a project folder with volt.toml and a starting main.volt: the same starting points as Volt IDE’s new-project walkthrough. The chip defaults to esp32 and the template to blink.
volt check
$ volt check [file|dir] [--json]Runs every check the compiler has, without building: types, names, pins, buses and devices. It takes milliseconds. --json prints the diagnostics as JSON, with their codes and fixes, for editors and scripts.
volt run
$ volt run [dir] [-p port] [-b baud]Builds, flashes, then opens the serial monitor: the usual way to try a change on a board. It takes the options of build, flash and monitor below.
volt build
$ volt build [dir] [--optimize debug|size|speed] [-v]Compiles the program and builds the firmware into build/<chip>/ in the project. The first build for a chip takes longer; later builds reuse what hasn’t changed. -v shows the build tools’ own output.
volt flash
$ volt flash [dir] [-p port] [--full] [--flash-baud n]Writes the last build to a board. Only the parts that changed are written, unless you pass --full. If writing fails at the default speed, slower ones are tried.
volt monitor
$ volt monitor [-p port] [-b baud]Shows the board’s serial output: everything your program logs. When the board crashes, the backtrace is decoded into function names and lines, using the project’s last build. Ctrl+C leaves.
volt ports
$ volt ports [--probe]Lists the boards plugged in. --probe also checks that each ESP board answers.
Code
| Command | What it does |
|---|---|
volt fmt [paths…] | Formats .volt files in place. --check lists the ones that need it and changes nothing. |
volt compile <file> [-o out.c] | Prints the C the compiler generates. |
volt spec | Prints the language reference as Markdown. |
volt history | The project’s automatic change history: what changed, when, with diffs. |
Setup and upkeep
| Command | What it does |
|---|---|
volt toolchain status [chip] | Shows whether a chip’s build tools are installed. |
volt toolchain install [chip] | Installs them. A one-time download per chip. |
volt toolchain repair [chip] | Reinstalls anything broken. |
volt sdk sync | Updates the device library. |
volt update | Updates volt to the latest release. --check shows the version you have and the latest, and installs nothing. |
volt version | Prints the version you have. |
AI tools
| Command | What it does |
|---|---|
volt ai | Connects AI apps (Claude, Cursor, VS Code and others) to Volt, so they write programs that pass the checks. |
volt init | Sets a project up for AI agents: rules files and connection settings. |
volt mcp | Serves Volt’s tools to AI agents over MCP. volt ai sets this up for you. |
Exit codes
volt check and volt build exit with 0 when the program is fine (warnings allowed) and 1 when there’s an error, so they work in scripts and CI.