The Retab CLI is a single static binary that wraps the same API as the Python, Node, and Go SDKs. It’s the right tool when you want to:Documentation Index
Fetch the complete documentation index at: https://docs.retab.com/llms.txt
Use this file to discover all available pages before exploring further.
- pipe a PDF through
retab extractions createfrom a shell script, - automate workflow tests in CI,
- explore endpoints quickly without writing client code.
Install
One-liner install
Run this in your terminal:The installer detects your OS and architecture, downloads the matching release from
github.com/retab-dev/retab/releases, verifies the SHA-256 checksum, drops the binary at ~/.retab/bin/retab, and appends a PATH entry to your shell’s rc file (.zshrc, .bashrc, .bash_profile, or ~/.config/fish/config.fish).Authenticate
0600) at ~/.retab/config.json. Get a key from the dashboard settings.Install options
The installer honors a few environment variables:| Variable | Default | Purpose |
|---|---|---|
RETAB_VERSION | latest | Pin a specific CLI version (e.g. 0.1.0). |
RETAB_INSTALL_DIR | $HOME/.retab/bin | Where the binary is dropped. |
RETAB_NO_MODIFY_PATH | unset | Set to 1 to skip the rc-file PATH edit. |
Upgrade
Re-run the installer — it always installs the latest published release:Uninstall
Authentication
The CLI resolves credentials in this order (first match wins):- The
--api-keyand--base-urlflags on the command. - The
RETAB_API_KEYandRETAB_BASE_URLenvironment variables. - The
api_key/base_urlvalues in~/.retab/config.json.
Core commands
Every primitive in the Retab API has a matching command group. Output is JSON on stdout so it pipes cleanly intojq.
Files
Workflows
classifications, splits, partitions, edits, jobs, webhooks, and the workflow sub-trees (blocks, edges, runs, artifacts, tests, experiments) — follows the same retab <noun> <verb> shape. Run retab <noun> --help to enumerate verbs, then retab <noun> <verb> --help for the flags.
Discoverability
The CLI is a tree of commands. Two shortcuts you’ll want:-
--helpeverywhere.retab --helplists nouns;retab extractions --helplists verbs;retab extractions create --helplists flags. -
Shell completion. Generate a completion script once and source it from your shell rc:
Configuration reference
Config file
~/.retab/config.json — written by retab auth login, mode 0600. Holds api_key and (optionally) base_url.Environment
RETAB_API_KEY, RETAB_BASE_URL — override the config file. Useful in CI.Flags
--api-key, --base-url, --debug — persistent flags on every command. Override env vars.Binary
Installed at
~/.retab/bin/retab by default. Single static binary, no runtime dependencies.--debug flag turns on verbose output (request URLs, response codes, raw bodies). Use it when filing an issue against the CLI.
Troubleshooting
`retab: command not found` after install
`retab: command not found` after install
The installer added
~/.retab/bin to your shell rc, but the current shell hasn’t reloaded it. Either open a new terminal or run source ~/.zshrc (or your shell’s rc file). On fish, run source ~/.config/fish/config.fish.`401 Unauthorized`
`401 Unauthorized`
`unsupported architecture` during install
`unsupported architecture` during install
The installer supports
x86_64 and arm64 only. On other architectures, build from source: git clone https://github.com/retab-dev/retab && cd retab/cli && go build -o retab .Checksum mismatch during install
Checksum mismatch during install
A checksum mismatch means the downloaded archive doesn’t match the SHA-256 published in
checksums.txt. Don’t bypass the check — re-run the installer (it’s idempotent). If it persists, file an issue at github.com/retab-dev/retab.Get started
Try it
Walk through an end-to-end extraction with the CLI.
GitHub
Source code, releases, and issues live here.