CLI reference
Commands for jawb, the jawb CLI.
Source: jawb-cli. Every command talks to jawbd (from jawb-core), and
the first one starts it if it isn't running — see
running the daemon.
jawb [GLOBAL FLAGS] <command> [<subcommand>] [ARGS] [FLAGS]
Commands group into three jobs, plus daemon/session bookkeeping:
- Read — understand the page:
observe,read,tools,wait. - Act — change the page (runs on the compatibility bridge):
click,fill,type,select,check/uncheck,press,hover,scroll,upload,download,submit,media. - See — how the page renders (also bridge-only):
viewport,emulate,screenshot. - Daemon and sessions:
status,profile *,open,back/forward/reload,tabs,tab use,close,cookies,storage export|import,secret,trace— see tabs, profiles and sessions. - Policy and settings:
confirm— see policy and confirmation;config— see configuration. - Install and daemon:
version,update,doctor,uninstall,daemon start|stop|status|install, andprofile settings— see install lifecycle and profile settings.
Every command accepts --json, which prints exactly one JSON object on
stdout — see the JSON envelope and exit codes.
Anything that can require a human decision (uploads, downloads, form
submits, and especially purchases) goes through
policy and confirmation.
Global flags
| Flag | Default | Meaning |
|---|---|---|
--json | off | Print exactly one JSON envelope on stdout. Nothing else goes to stdout. |
--tab <id> | current tab | Run against this tab instead of the session's current tab. |
--profile <name> | active profile (profile use) or default | Profile the command's session uses. |
--incognito | off | Use an ephemeral session. Valid only on open. |
--daemon <url> | $JAWB_DAEMON or http://127.0.0.1:4180 | Daemon address. Must be loopback (127.0.0.1, ::1, localhost); anything else is a usage error (exit 2). A non-default address never auto-starts a daemon. |
--no-autostart | off | Never start jawbd automatically. Also JAWB_NO_AUTOSTART=1. |
--timeout <dur> | 30s | Deadline for each request to jawbd, not for the whole command: a command that makes two requests (for example observe <url>, which opens then observes) can take up to twice as long. wait waits at most this long for its condition, and --await-confirm polls at most this long. |
--native-only | off | Fail with E_BRIDGE_DISABLED rather than route to the bridge for this command. |
--allow-private | off | Let this command's page reach local and private-network addresses from a public page. Valid on open, back/forward, reload, observe and the Act commands — see lifecycle. |
--yes | off | Pre-confirm policy prompts this command would raise. Never satisfies a purchase-like confirmation. |
-q, --quiet | off | Human mode only: print only the essential result. |
--no-color | auto | Also turned on by NO_COLOR. |
What's implemented today
Every command above is registered and working: Read and the daemon and
session commands (status, profile *, open/back/forward/reload,
tabs/tab use/close, observe, read, tools, wait, cookies,
storage, trace) on jawb's native engine, and Act, See, --js, bridge
wait and the confirmation flow on the compatibility bridge. Targeting
elements by observation element ID (jawb click 48) is the primary form;
--text, --role, and --css are fallback selectors.