Next-Gen App & Browser Testing Cloud
Trusted by 2 Mn+ QAs & Devs to accelerate their release cycles

Most tools make you choose a product for each context. One for local work, another for CI, a third for whatever the agent needs. Kane CLI does not. It has one binary and three modes, and you pick the mode with a flag.
Same syntax, same objectives, same engine. Only the output and the surface change.
Run kane-cli with no arguments and you get a full terminal interface. A chat prompt, a status bar, and a step tree that fills in as the agent thinks, observes the page, and acts.
The browser is headed, so you see what the agent sees. State persists across runs in a session, which makes multi-step debugging iterative without re-running earlier steps. This is the inner-loop mode, for when you are building and want to watch.
Add --headless and the interface goes away. Kane CLI streams progress to stderr, prints the final result as a single JSON object on stdout, and exits with a status code.
kane-cli run "verify the homepage loads" --headless > result.jsonNo display server, no UI, nothing to click. This is the mode for a shell script or a quick one-off where you just want the result captured into a file or a variable.
Add --agent --headless and the output becomes structured NDJSON, one JSON object per line. The interface is fully suppressed and stdin is not used.
kane-cli run "log in and assert the dashboard shows 'Welcome'" --agent --headlessEach event in the run becomes a typed line, and the final run_end line carries the full result. This is what AI coding agents and CI runners consume, because they need machine-parseable output, not prose.
Note: Want to try all three from your terminal? Start free. Try Kane CLI

The rule is short. Debugging at your workstation, use the TUI. A quick scripted one-off, use headless. An AI agent, a GitHub Actions job, or a cron run, use agent mode with headless. A live demo with a visible browser, back to the TUI.
One thing worth knowing for automation: the ask_user prompt auto-disables when stdin is not a terminal, so in CI and agent contexts it never blocks a run.
Note: Want the full mode matrix and flags? Read the Kane CLI docs. Read the docs
Switching modes does not change what Kane CLI does. It drives a real Chrome browser, runs your plain English objective, and returns pass or fail. The mode only decides how the result reaches you.
Note: Want to see how it is wired? Open the repo. Open the repo
One binary covers your laptop, your scripts, your agents, and your pipeline. You learn the objectives once, then choose a flag for wherever the run needs to happen.
Did you find this page helpful?
More Related Hubs
TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance