CLI
The command line is the same tool as the TUI, driven one command at a time. Type a command, read the answer, move on. It is what you use when you want to repeat something, script it, or check something quickly.
openremap identify my_file.bin
Everything is listed, always
Three commands describe the tool itself. You never need this wiki to find a command:
| Command | What you get |
|---|---|
openremap commands |
every command, one line each |
openremap workflow |
a walkthrough in plain English, in order |
openremap families |
every ECU family the tool knows |
And any command explains itself:
openremap tune-strict --help
How to read the output
Every command prints the same way: a title line naming the file, then the
facts, then a verdict with a ✓, ⚠ or ✗. When a command writes a file it
prints the full path so you know exactly what was produced.
Long lists are shortened with … or by a count — and it says so, so you never
mistake a summary for the whole thing.
Exit codes — how to know if it worked
| Code | Means | Typical case |
|---|---|---|
0 |
it worked | a file was written, a check passed |
1 |
it refused, or the check failed | a recipe does not fit the file |
2 |
the command itself was used wrongly | a missing file, a bad flag |
A refusal is not a crash. It is the tool saying
✗ REFUSED at Γ4 — the recipe's original bytes are not in place, with a code of
1, so a script can tell a refusal from a bug.
Machine-readable output
Most commands accept --json and print one JSON object instead of the pretty
report, for use in scripts. Several also accept --report <path> to also write the
report to a file.
File types it accepts
.bin, .ori, .hex (Intel HEX), .s17 (Motorola S-Record) — plus .remap
files, which are recipes. The format is detected from the content, not the
extension, so a raw dump named .bin and a text HEX file both work.
Every command, by task
Start here
| Command | What it does |
|---|---|
commands |
one-line list of everything |
workflow |
the whole job, step by step, in words |
families |
supported ECU families, or details for one |
Understand a file
| Command | What it does |
|---|---|
identify |
what is this file? |
analyze |
everything about it in one pass |
health |
is it healthy? six checks |
checksum |
do its check numbers still match? |
layout |
how it is organised, region by region |
scan-vins |
any vehicle ID numbers inside it? |
convert |
HEX / S-Record → flat binary |
routine |
read the code at one address |
Tables and maps
| Command | What it does |
|---|---|
scan-maps |
find the tuning tables |
diff-maps |
compare two files, table by table |
map-image |
draw one table as a picture |
Make a recipe
| Command | What it does |
|---|---|
cook-strict |
stock + tuned → recipe (safe by construction) |
cook-forced |
the same, when a change sits in repeated bytes |
recipe-info |
what does a recipe say about itself? |
merge |
two recipes → one |
Apply a recipe
| Command | What it does |
|---|---|
tune-strict |
apply only if every check passes |
tune-shift |
…when a change sits at a slightly different place |
tune-unique |
…when the file cannot be identified at all |
tune-any |
the loosest option |
Check the result
| Command | What it does |
|---|---|
validate before |
are the original bytes where the recipe says? |
validate check |
find a recipe's bytes anywhere in a file |
validate after |
were the changes actually written? |
audit |
do stock, tuned and recipe belong together? |
Folders and test files
| Command | What it does |
|---|---|
scan |
classify a whole folder |
synth |
generate a fake ECU file to practise on |
contribute |
add support for an ECU the tool does not know |
Note
This wiki section documents the commands of 0.9.0. If a command here
disagrees with openremap <command> --help, the program is right and this page
is out of date — please report it.