Navigation

Settings & Files

Reference for configuring kli: settings.json and config.json, how they deep-merge under a profile overlay, capabilities, profiles, and the paths kli touches.

kli reads two configuration files, and they hold different things.

  • settings.json configures behavior: theme, keybindings, default model and provider, session storage, capabilities, profiles, and observability. kli reads a global copy under ~/.config/kli/ and a project copy under <repo>/.kli/, deep-merges the project over the global, then applies the active profile's overlay on top.
  • config.json is global-only and holds three keys for extension discovery: enabled, disabled, and extension-dirs.

Both are forgiving: a malformed file is reported and skipped rather than stopping kli.

Pages

  • Settings — every settings.json key, with its type, default, and merge behavior.
  • config.json — the extension discovery file.
  • Capabilities — the capability vocabulary and what each one gates.
  • Profiles — the built-in profiles and how precedence is resolved.
  • Files and paths — every path kli reads and writes.