Skip to main content
chiplab-cli is Chiplab’s command-line client. It runs a test suite against a firmware ELF on a virtual board, the same way your agent does over MCP, and reports whether the tests passed. Each outcome has its own exit code, so it fits as a step in a CI pipeline. Source and releases are at github.com/veecle/chiplab-cli.

Install

In GitHub Actions, use veecle/install-chiplab. It downloads the release for the runner, verifies it, and adds chiplab-cli to PATH:
Elsewhere, each release has prebuilt binaries for Linux (x86_64 and aarch64, statically linked) and macOS (Apple Silicon):
  • chiplab-cli-x86_64-unknown-linux-musl.tar.gz
  • chiplab-cli-aarch64-unknown-linux-musl.tar.gz
  • chiplab-cli-aarch64-apple-darwin.tar.gz
On macOS, use shasum -a 256 --check --ignore-missing sha256sums.txt. To pin a version, replace latest/download with download/<tag>, for example download/v0.1.0.
The macOS binary is not signed. When it is downloaded through a browser, macOS blocks it. Remove the quarantine attribute with xattr -d com.apple.quarantine chiplab-cli.
It also builds from source with cargo, or runs with Nix:

Authenticate

The CLI reads a personal access token (veecle_pat_...) from the CHIPLAB_TOKEN environment variable. Create one on API keys. The token acts as the user who created it, with access to all their projects. Keep it out of the repository, and revoke it once it is no longer needed.

Run a test suite

It takes the same inputs as run_test_suite: a project_id, the firmware ELF, the suite file, and a JSON file with the board object, such as { "model": "stm32f4_discovery", "uarts": ["usart2"] }. --download-dir saves the run’s artifacts. chiplab-cli --help lists the commands. chiplab-cli <command> --help describes each command’s arguments, its machine-readable output, and its exit codes.

Limits

The test suite limits apply as they do over MCP. Every run uses credits (see Usage).
Last modified on November 2, 2026