| origin | Starting URL of the test (also used as a navigation boundary). Required when driver is `browser`. | no | — |
| specification | Path to a custom specification file (TypeScript or JavaScript). | no | — |
| driver | Which Bombadil driver to use: `browser` or `terminal`. | no | browser |
| command | Command to run, for terminal driver (program and arguments, space-separated). | no | — |
| version | Version of @antithesishq/bombadil to use. Defaults to 0.6.0. | no | 0.6.0 |
| chrome-version | Chrome for Testing version to install for the browser driver. Accepts a channel (`stable`, `beta`, `dev`, `canary`) or a specific build ID. Ignored when driver is `terminal`, or when the `CHROME` env var is already set. | no | stable |
| cache | Cache the Chrome download across runs (keyed on platform + resolved build ID). Set to `false` to disable. | no | true |
| output-path | Where to store output data (trace, screenshots, etc.). | no | — |
| exit-on-violation | Exit the test when the first failing property is found. | no | false |
| time-limit | Maximum time to run the test, e.g. `30s`, `5m`, `2h`, `1d`. Required. Should be shorter than the job's `timeout-minutes` so bombadil can exit cleanly and emit its trace. | no | — |
| width | Browser viewport width in pixels. | no | — |
| height | Browser viewport height in pixels. | no | — |
| device-scale-factor | Scaling factor of the browser viewport. | no | — |
| instrument-javascript | Comma-separated list of JS types to instrument: `files`, `inline`. | no | — |
| chrome-grant-permissions | Comma-separated list of Chrome permissions to grant. | no | — |
| headers | Extra HTTP headers to send with all browser requests. One `Key: Value` per line. | no | — |
| no-sandbox | Disable Chromium sandboxing. Defaults to `true` because GitHub-hosted Ubuntu runners restrict unprivileged user namespaces, which Chromium needs to set up its sandbox. Set to `false` on hosts with a working sandbox. | no | true |
| columns | Terminal columns at startup (terminal driver). | no | — |
| rows | Terminal rows at startup (terminal driver). | no | — |
| scrollback-lines-max | Maximum line count to keep in the scrollback buffer (terminal driver). | no | — |
| output-path-overwrite | Overwrite any existing trace at `output-path` (terminal driver). Without this, bombadil refuses to write when `trace.jsonl` already exists. | no | false |