CLI Reference
Every command, flag, and example for the flint CLI.
list no privileges
Print every detected drive with serial, size, letters, and physical path.
Synopsis
flint list [--json]
Options
| Flag | Description |
|---|---|
--json | Emit output as NDJSON instead of a human-readable table |
flash erases drive
Write an image raw to a drive.
Synopsis
flint flash --image <file> --drive <serial|letter|path> [--confirm <serial> | --yes] [--verify] [--bypass-tpm] [--quiet]
Options
| Flag | Description |
|---|---|
--image | Image file to write (required). Supports .iso, .img, .zip, .gz, .xz, .zst |
--drive | Target drive by serial, letter, or physical path (required) |
--confirm <serial> | Confirm drive identity by serial |
--yes | Skip all confirmation prompts |
--verify | Verify the drive after writing |
--bypass-tpm | Patch boot.wim to skip Windows 11 TPM, Secure Boot and RAM checks (file-copy mode) |
--dry-run | Preview the operation without writing |
--resume | Resume an interrupted write from the last confirmed sector |
--copy-report | Copy the flash summary to clipboard after completion |
--quiet | Suppress progress output |
Example
flint flash --image C:\images\ubuntu.iso --drive E: --confirm 4C530001270509112345 --verify
flint flash --image C:\images\ubuntu.zip --drive E: --confirm 4C530001270509112345 --dry-run
verify
Read-only check against SHA-256 or bad-block scan.
Synopsis
flint verify --drive <serial|letter|path> [--sha256 <hex> --image <file>]
Options
| Flag | Description |
|---|---|
--drive | Target drive by serial, letter, or physical path (required) |
--sha256 <hex> | Expected SHA-256 hash |
--image <file> | Image file to compare against |
Example
flint verify --drive E: --sha256 0a4b8c... --image C:\images\ubuntu.iso
wipe erases drive
Erase a drive with a chosen pattern.
Synopsis
flint wipe --drive <serial|letter|path> [--confirm <serial> | --yes] [--method zero|random|nist|dod] [--quiet]
Options
| Flag | Description |
|---|---|
--drive | Target drive by serial, letter, or physical path (required) |
--confirm <serial> | Confirm drive identity by serial |
--yes | Skip all confirmation prompts |
--method | Erase method: zero (default), random, nist, dod |
--dry-run | Preview the operation without writing |
--quiet | Suppress progress output |
Example
flint wipe --drive E: --confirm 4C530001270509112345 --method nist
flint wipe --drive E: --confirm 4C530001270509112345 --dry-run
backup
Copy a drive byte-for-byte into an image file.
Synopsis
flint backup --drive <serial|letter|path> --out <file> [--confirm <serial>] [--yes] [--quiet]
Options
| Flag | Description |
|---|---|
--drive | Target drive by serial, letter, or physical path (required) |
--out | Output image file path (required) |
--confirm <serial> | Confirm drive identity by serial |
--yes | Skip all confirmation prompts |
--quiet | Suppress progress output |
Example
flint backup --drive E: --out C:\backup.img
clone
Copy one drive to another byte-for-byte.
Synopsis
flint clone --from <serial|letter|path> --to <serial|letter|path> [--confirm <serial of --to> | --yes] [--quiet]
Options
| Flag | Description |
|---|---|
--from | Source drive by serial, letter, or physical path (required) |
--to | Target drive by serial, letter, or physical path (required) |
--confirm <serial> | Confirm target drive identity by serial |
--yes | Skip all confirmation prompts |
--dry-run | Preview the operation without writing |
--quiet | Suppress progress output |
Example
flint clone --from E: --to F: --confirm 4C530001270509112346
flint clone --from E: --to F: --confirm 4C530001270509112346 --dry-run
queue
Flash every image listed in a file.
Synopsis
flint queue --file <list.txt> --drive <serial|letter|path> [--confirm <serial> | --yes] [--quiet]
Options
| Flag | Description |
|---|---|
--file | Text file listing image paths, one per line (required) |
--drive | Target drive by serial, letter, or physical path (required) |
--confirm <serial> | Confirm drive identity by serial |
--yes | Skip all confirmation prompts |
--quiet | Suppress progress output |
Example
flint queue --file queue.txt --drive E: --confirm 4C530001270509112345
flash-all erases drive
Fleet mode — flash every queued image to every fitting drive.
Synopsis
flint flash-all --image <file> [--image <file> ...] [--confirm ARM | --yes] [--timeout <seconds>] [--skip-flashed] [--quiet]
Options
| Flag | Description |
|---|---|
--image | Image file to flash (repeatable, required at least once) |
--confirm ARM | Confirm fleet mode (must pass the literal ARM) |
--yes | Skip all confirmation prompts |
--timeout <seconds> | Abort if a drive does not appear within this time (default: 3600) |
--skip-flashed | Skip drives that already have the target image |
--quiet | Suppress progress output |
Example
flint flash-all --image C:\agent.iso --confirm ARM
doctor no privileges
Print a diagnostic report covering system info, permissions, and drive state.
Synopsis
flint doctor [--json]
Options
| Flag | Description |
|---|---|
--json | Emit output as NDJSON |
completions no privileges
Print a shell completion script to stdout.
Synopsis
flint completions [--shell bash|zsh|powershell]
Options
| Flag | Description |
|---|---|
--shell | Target shell: bash, zsh, or powershell (default: powershell) |
Example
flint completions --shell bash >> ~/.bashrc
flint completions --shell zsh >> ~/.zshrc
scan no privileges
Read every sector to find unreadable media.
Synopsis
flint scan --drive <serial|letter|path> [--retries <1-10>] [--quiet]
Options
| Flag | Description |
|---|---|
--drive | Target drive by serial, letter, or physical path (required) |
--retries | Number of read retries per bad sector (default: 3) |
--verbose | Show detailed per-sector bad-block information |
--quiet | Suppress progress output |
Example
flint scan --drive E: --retries 5 --verbose
Global Options
These flags work with every command.
| Flag | Description |
|---|---|
--json | Emit NDJSON output instead of human-readable text |
--quiet | Suppress non-essential output |
--yes | Skip all confirmation prompts |
--confirm <serial> | Confirm a drive's serial before destructive operations |
--help / -h | Show help for the current command |
--version | Print the Flint version and exit |
--cli | Compatibility flag — forces headless CLI mode when launched from the GUI |
Exit Codes
The process exit code indicates the outcome of the command.
| Code | Meaning |
|---|---|
0 | Success |
1 | General failure |
2 | Cancelled by user |
3 | Usage / bad arguments |
4 | Elevation denied — administrator privileges required |
NDJSON Output
When --json is passed, commands emit one JSON object per line. The type field identifies the payload.
| Type | Commands | Description |
|---|---|---|
drives | list | Array of detected drives with serial, size, letters, and physical path |
progress | flash, wipe, backup, clone, queue, flash-all | Streaming progress updates with bytes written and elapsed time |
result | all commands | Final outcome — status, duration, and any error details |
doctor | doctor | System diagnostic report (version, permissions, drive info) |
scan | scan | Sector-level scan results with bad-block positions and retry counts |