Skip to content
Configuration keys

Configuration keys

The reference table. Configuration explains what the settings do and when styling applies.

KeyEnvironmentTypeDefault
themeKX_THEMEstringgithub-dark
engineKX_ENGINEstringscout
max_historyKX_MAX_HISTORYinteger10
shellsKX_SHELLSlist of strings["bash", "sh"]
debug_imageKX_DEBUG_IMAGEstringbusybox
theme_disableKX_THEME_DISABLEbooleanfalse

Environment variables win over the file. shells is a TOML array in the file and a comma-separated string in the environment:

KX_SHELLS=zsh,bash,sh kx exec 1

A complete file:

theme = "dracula"
engine = "trivy"
max_history = 25
shells = ["zsh", "bash", "sh"]
debug_image = "alpine"
theme_disable = false

Nothing here is required — kx runs on the defaults with no config file at all.

Paths

PathEnvironmentContents
~/.kx/config.tomlKX_CONFIGThe keys above.
~/.kx/state.jsonKX_STATESaved listings and the history cursor; see state.

KX_CONFIG and KX_STATE point kx at a different file entirely, rather than overriding one key the way the settings table above does — useful for a terminal or CI job that wants its own config or history instead of sharing the one in ~/.kx. Neither can be set from inside the file it names, so there’s no config.toml equivalent for them.

kx --version prints both paths, resolved, along with the version and build.

Also honoured

NO_COLORThe cross-tool convention. Any non-empty value disables styling.
--no-colorPer-run, on any command.
stdout not a terminalStyling is dropped automatically, so pipes and redirects stay plain.