Previews and confirmation
State-changing and irreversible commands preview first. How --dry-run, previewToken binding, and --confirm keep you out of bad runs.
Anything that changes state or leaves your machine previews first. The pattern is the same everywhere, so you can apply it to a command you have never run.
--dry-run
--dry-run is a safe wrapper for any state-changing or irreversible command. It sets
confirmed=false and dryRun=true on the server, and returns the plan instead
of doing the work:
eximagent --dry-run search run --product "roasted coffee" --location DE --hsCode 090111
Nothing runs and nothing is sent.
Confirming a search
Buyer discovery takes --confirmed to actually start:
eximagent search run --product "roasted coffee" --location DE --hsCode 090111 --confirmed
Confirming a send
Outreach is the one place where the consequence is external and permanent, so it takes a distinct flag and a countdown before messages leave:
eximagent email draft --dry-run --collectionId <id>
eximagent email send --confirm
What needs no preview
Lookups over the indexed corpus only read data: tariff, hscode search,
trade lookup, analytics query, the shipments verbs, and every list or
get on your own saved state. These are exact, fast, and safe to run
speculatively.
The steps worth previewing are the ones that reach outside the corpus — buyer discovery, website enrichment, and contact discovery.
Habit worth forming
Preview the big step, look at the plan, and only then confirm. It is not ceremony: the preview is where a wrong HS code or a mistyped country shows up while it is still easy to fix.