CLI Reference
Every command, flag, and example for the flint CLI. Not installed yet? Install via pip — see the guide on the Downloads page.
No commands found.
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] [--partition-scheme gpt|mbr] [--filesystem fat32|ntfs|exfat] [--write-mode raw|file-copy] [--check-fake] [--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) |
--partition-scheme gpt|mbr | Partition table type for file-copy mode (default: auto) |
--filesystem fat32|ntfs|exfat | Filesystem for file-copy mode (default: fat32) |
--write-mode raw|file-copy | raw writes the image byte-for-byte; file-copy repartitions and copies files (default: auto) |
--check-fake | Probe the drive for counterfeit capacity before flashing (non-destructive, ~1 s) |
--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 |
--check-fake | Detect counterfeit drives before proceeding |
--dry-run | Validate paths and options without writing |
--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] [--parallel <1-8>] [--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 |
--parallel <1-8> | Write to multiple drives concurrently when a single image is queued (default: 1) |
--quiet | Suppress progress output |
Example
flint flash-all --image C:\agent.iso --confirm ARM
deploy erases drive
Deploy one image to explicit target drives concurrently with per-target tracking. Each target is tracked independently — a failure on one drive does not erase the results on others.
Synopsis
flint deploy --image <file> --drive <serial|letter|path> [--drive ...] [--confirm ARM | --yes] [--parallel <1-8>] [--verify] [--quiet]
Options
| Flag | Description |
|---|---|
--image | Single image file to deploy (required, exactly one) |
--drive | Target drive by serial, letter, or physical path (repeatable, required at least once) |
--confirm ARM | Confirm fleet mode (must pass the literal ARM) |
--yes | Skip all confirmation prompts |
--parallel <1-8> | Number of concurrent writes (default: 2) |
--verify | Verify each drive after writing |
--dry-run | Preview the operation without writing |
--quiet | Suppress progress output |
Job management
| Flag | Description |
|---|---|
--status | List all persisted deployment jobs with state, target, and checkpoint |
--cancel --job <id> | Cancel a queued or writing job |
--retry --job <id> | Return a failed or cancelled job to queued state |
--run --job <id> | Execute or resume a persisted job |
Example
flint deploy --image C:\agent.iso --drive E: --drive F: --confirm ARM
flint deploy --status
flint deploy --retry --job a1b2c3d4
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 |
report no privileges
Export operation history or verify its hash-chain integrity.
Synopsis
flint report [--out <file>] [--format json|csv|markdown] [--integrity]
Options
| Flag | Description |
|---|---|
--out <file> | Export history to a file |
--format | Export format: json, csv, or markdown (default: json) |
--integrity | Verify hash-chain integrity of audited records; exits non-zero if a record was changed or reordered |
Example
flint report
flint report --out history.csv --format csv
flint report --integrity
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
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 | 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, deploy | 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 |
deployment_jobs | deploy --status | List of persisted deployment jobs with state, target, and checkpoint |
campaign_job | deploy | Per-target status update during a concurrent deployment campaign |
report | report | History records or integrity verification result |
Ready to automate?
Download Flint and start scripting your drive workflows.