Skip to content

Arguments & Environment

The Kaba client takes almost no command-line arguments. It is configured through Settings, and for a few low-level switches, through environment variables.

Terminal window
kaba [URL | FILE]
ArgumentBehaviour
A URL with a scheme, such as https://example.com or kaba://terminal/Opened in Kaba.
A path to an .html, .htm, .xhtml, .xht or .svg file that existsOpened as a file:// URL.
Anything starting with -Ignored by Kaba. Chromium and Node switches listed below still apply.

Only the first openable argument is used. Other file types are not opened from the command line; this keeps a stray argument from being turned into navigation.

Kaba is single-instance. Running kaba <url> while it is already open hands the URL to the running window and exits.

Terminal window
kaba https://example.com
kaba kaba://files/
kaba ./report.html

When Kaba is your default browser, links clicked in other applications arrive the same way.

These standard switches are recognised:

SwitchEffect
--inspect[=port], --inspect-brk[=port]Attach a Node debugger to the main process. A stale Kaba process still holding the port is ended first.
--remote-debugging-port=<port>Chromium remote debugging.

Set these before starting Kaba. The most useful ones:

VariableEffect
KABA_DEV=1Development mode: unlimited stack traces, and the engine is started with --trace.
KABA_DEBUG=<category>Extra logging for one area, for example ghost, tor or pane.
KABA_CACHE_DIRLinux: where the HTTP cache goes. Default $XDG_CACHE_HOME/kaba or ~/.cache/kaba.
KABA_DOH=secure|automatic|offForce the DNS-over-HTTPS mode at start.
KABA_PRIVACY_STRICT=1Start with Lockdown on for every site.
KABA_TRUSTED_CERT_HOSTSExtra host names whose certificates are trusted like localhost.
KABA_NO_PANE_DISCARD=1Turn Memory Saver off entirely.
KABA_PANE_PLACEMENT=auto|column|splitHow a new pane is placed.

Graphics problems on Linux are usually solved with one of:

VariableEffect
KABA_VULKAN=0Use OpenGL instead of Vulkan.
KABA_OZONE_PLATFORM=wayland|x11Force the display platform.
KABA_GPU_DEVICE=display|igpu|dgpu|offWhich GPU the browser uses on a multi-GPU machine.
KABA_GPU_PROFILE=resetForget recorded graphics failures and try the best profile again.

Kaba also tunes itself: on Linux it detects your GPUs, picks a rendering profile, and if that profile fails to start with hardware compositing it records the failure and relaunches on the next one down. You should rarely need the variables above.

The complete list, including memory limits and diagnostics, is in the client environment reference.

WhatWhere
User data directoryLinux ~/.config/kaba, macOS ~/Library/Application Support/kaba, Windows %APPDATA%\kaba
Account settingsIn the engine’s database, per account
Client logkaba.log in the user data directory
Boot reportboot-report.json, written after each start
Crash logcrash-log.jsonl, created on the first process crash

To reset the browser engine’s caches and developer-tools state without touching your data, use Settings → Information → Reset Kaba Chrome Settings.

Shell integration for the terminal lives in ~/.config/kaba/shell-integration.sh. The engine reads config.toml from the same directory.