Volt Docs

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

Terminal
$ 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

Terminal
$ 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

Terminal
$ 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

Terminal
$ 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

Terminal
$ 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

Terminal
$ 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

Terminal
$ volt ports [--probe]

Lists the boards plugged in. --probe also checks that each ESP board answers.

Code

CommandWhat 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 specPrints the language reference as Markdown.
volt historyThe project’s automatic change history: what changed, when, with diffs.

Setup and upkeep

CommandWhat 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 syncUpdates the device library.
volt updateUpdates volt to the latest release. --check shows the version you have and the latest, and installs nothing.
volt versionPrints the version you have.

AI tools

CommandWhat it does
volt aiConnects AI apps (Claude, Cursor, VS Code and others) to Volt, so they write programs that pass the checks.
volt initSets a project up for AI agents: rules files and connection settings.
volt mcpServes 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.