Your First Hour with the CLI
A guided first hour: install and verify, sign in, run doctor, find shippable work, ask a question in plain language, and dry-run a money path.
Available by invitation
The Postsale CLI is in an invitation-only release. Your invitation includes a signed program for your platform and its checksum, and new versions reach you the same way until the public release channel opens. To request access, email support@postsale.com.
This walkthrough takes you from install to a trusted read-only session, a work-queue check, and a dry-run money rehearsal, without purchasing labels.
In this article, we will install and verify the CLI, sign in and pick an environment, run doctor and first reads, ask what is ready to ship, and rehearse a ship intent with dry-run.
Real-World Example
We need to operate Postsale from the terminal without guessing JSON bodies, and we want to practice before anything charges a carrier.
Before We Begin
To get started, you will need:
- A Postsale account
- Optional Anthropic or OpenAI API key for natural language
In a hurry? The Quick Start gets you to a read-only session in a few minutes; this article is the full first hour.
1. Install and check the version
The CLI is a single signed, self-contained program: nothing else to install and no runtime needed. Put the program from your invitation on your PATH and verify:
postsale --version # the CLI's own semver2. Sign in
postsale auth login # or: postsale auth login --no-browser
postsale account env
postsale account whoamiDetails: Sign In and Credentials.
3. Run doctor
postsale doctor --humanFix token, network, carriers, origins, and freshness issues before batch work. Set an LLM key if you want natural language.
4. First reads
postsale carriers list
postsale origin-addresses list
postsale orders search --query "orders from last 7 days" --page-size 5 --human5. First agent turn
postsale run "how many carriers and origin addresses do I have?"You should see one JSON envelope on stdout. Progress stayed on stderr.
6. Find what is ready to ship
postsale run "what should I ship? explain the applied filters and exclusions"This is how Postsale answers "ready to ship" without inventing status enums. Details: Search for Orders and Use the Work Queue.
7. Dry-run a money path
Read Safety Model, then:
postsale run --dry-run "Ship order <order_id> with the cheapest carrier"Inspect simulated_effects (blocked high-risk tools) and confirmed_effects (anything that still wrote). Details: Preview Work with Dry-Run.
Tip
To rehearse the real purchase path for free, set POSTSALE_TEST_LABEL_MODE=1 in the shell. Every shipment you create is stamped test_label: true, purchases refuse any shipment that is not a test shipment, and the labels you get back are watermarked and never billed. Walkthrough: Test Without Spending.
You are ready when
- Doctor is clean enough for your environment
- You can explain stdout versus stderr
- You can get a work queue (or explain why statuses failed loudly)
- You can dry-run a ship intent and name
simulated_effectsvsconfirmed_effects - You know that
--yesauthorizes parent tools, not parallel batch money
Good to Know
- The web app remains best for visual Dock shipping and first-time carrier UI setup. Same account; different surface. Product help: postsale.com/help.
- If something fails, start at Troubleshooting.
Additional Reading
On this page
Related