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.
Arguments
Section titled “Arguments”kaba [URL | FILE]| Argument | Behaviour |
|---|---|
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 exists | Opened 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.
kaba https://example.comkaba kaba://files/kaba ./report.htmlWhen Kaba is your default browser, links clicked in other applications arrive the same way.
Debugging switches
Section titled “Debugging switches”These standard switches are recognised:
| Switch | Effect |
|---|---|
--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. |
Environment variables
Section titled “Environment variables”Set these before starting Kaba. The most useful ones:
| Variable | Effect |
|---|---|
KABA_DEV=1 | Development 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_DIR | Linux: where the HTTP cache goes. Default $XDG_CACHE_HOME/kaba or ~/.cache/kaba. |
KABA_DOH=secure|automatic|off | Force the DNS-over-HTTPS mode at start. |
KABA_PRIVACY_STRICT=1 | Start with Lockdown on for every site. |
KABA_TRUSTED_CERT_HOSTS | Extra host names whose certificates are trusted like localhost. |
KABA_NO_PANE_DISCARD=1 | Turn Memory Saver off entirely. |
KABA_PANE_PLACEMENT=auto|column|split | How a new pane is placed. |
Graphics problems on Linux are usually solved with one of:
| Variable | Effect |
|---|---|
KABA_VULKAN=0 | Use OpenGL instead of Vulkan. |
KABA_OZONE_PLATFORM=wayland|x11 | Force the display platform. |
KABA_GPU_DEVICE=display|igpu|dgpu|off | Which GPU the browser uses on a multi-GPU machine. |
KABA_GPU_PROFILE=reset | Forget 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.
Where settings are stored
Section titled “Where settings are stored”| What | Where |
|---|---|
| User data directory | Linux ~/.config/kaba, macOS ~/Library/Application Support/kaba, Windows %APPDATA%\kaba |
| Account settings | In the engine’s database, per account |
| Client log | kaba.log in the user data directory |
| Boot report | boot-report.json, written after each start |
| Crash log | crash-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.
Configuration files
Section titled “Configuration files”Shell integration for the terminal lives in ~/.config/kaba/shell-integration.sh. The engine reads config.toml from the same directory.