Running the daemon

How jawbd, the local daemon that holds all session state, starts and stops.

jawbd (from jawb-core) is the local daemon — it holds all state (sessions, tabs, profiles, cookies, observation revisions). jawb (the CLI) is a thin client for it.

You don't have to start it by hand. The first jawb command that finds no daemon on 127.0.0.1:4180 starts jawbd in the background, and it keeps running after that command exits. Its log goes to <data_dir>/logs/jawbd.log. It listens on loopback only — there is no remote-daemon mode. On first start it writes a bearer token to its data directory; the CLI reads that automatically.

To manage it yourself:

jawb daemon start     # start jawbd in the background if it isn't running
jawb daemon status
jawb daemon stop      # stop it and wait until it has exited
jawb daemon install   # fetch the jawbd version this jawb is pinned to

--no-autostart (or JAWB_NO_AUTOSTART=1) turns auto-start off, and a non-default --daemon address never auto-starts.

Running jawbd yourself

Run jawbd in a terminal when you want to pass it flags (from source: cargo run -p jawbd in jawb-core). It blocks — leave it running.

jawbd [--port <n>] [--data-dir <dir>] [--vault-keyfile <path>]
      [--chrome <path>] [--no-bridge] [--headful]
  • --data-dir <dir> (or JAWB_DATA_DIR) — where profiles, the token, and encryption keys live. Default: %LOCALAPPDATA%\jawb on Windows, $XDG_DATA_HOME/jawb elsewhere.
  • --chrome <path> (or JAWB_CHROME) — the Chrome/Chromium executable for Act/See commands; auto-discovered otherwise.
  • --no-bridge — disables Act/See entirely (E_BRIDGE_DISABLED instead), useful to confirm your workflow degrades safely without a browser.
  • --vault-keyfile <path> (or JAWB_VAULT_KEYFILE) — lets jawbd create persistent (encrypted) profiles on hosts with no OS credential store.

When jawb starts the daemon for you, it passes the data directory and JAWB_VAULT_KEYFILE, and the daemon inherits the rest of your environment, so set JAWB_CHROME there.

Check it's up:

$ jawb status
daemon: ok (jawbd 0.1.1, api 15)
profile: default
tabs: 0
vault: windows-dpapi (current user)
bridge: enabled, compat-bridge/chromiumoxide (<path to chrome>)
purchase: gate approve, detection strict
approval: assurance verified-if-available, verifier Windows Hello, channels desktop,prompt,terminal
config: <data_dir>\config.toml
data dir: <data_dir>

Next: use the CLI.