Desktop app

Log & config file locations

The first place to look when debugging — paths per OS.

Overview

The Kition desktop app ships as two processes: an Electron main process for UI, and a Go sidecar binary for local indexing, vault sync, and provider calls. Each writes its own log, but they share a single logs/ directory so you can zip the whole folder when reporting an issue.

The config directory also holds the sidecar working state, a cached provider credentials blob, and the most recent crash dump. When you file a bug, please attach the entire log folder — a single grep line rarely carries enough context.

macOS

  • Logs: ~/Library/Logs/Kition/
  • Config: ~/Library/Application Support/Kition/
  • Sidecar state: ~/Library/Application Support/Kition/sidecar/
  • Keychain: search "Kition" in Keychain Access — provider keys and the vault encryption seed live here
  • Crash dumps: ~/Library/Logs/DiagnosticReports/Kition_*.ips
# Tail the most recent main + sidecar logs
tail -f ~/Library/Logs/Kition/main.log ~/Library/Logs/Kition/sidecar.log

# Open the config folder in Finder
open ~/Library/Application\ Support/Kition/

# Zip the full log dir for a bug report
cd ~/Library/Logs && zip -r ~/Desktop/kition-logs.zip Kition

Windows

  • Logs: %APPDATA%\Kition\logs\
  • Config: %APPDATA%\Kition\
  • Sidecar state: %APPDATA%\Kition\sidecar\
  • Credentials: Windows Credential Manager, entries prefixed Kition:
  • Crash dumps: %LOCALAPPDATA%\Kition\Crashpad\reports\
# Open the logs folder
explorer "$env:APPDATA\Kition\logs"

# Tail the main process log in PowerShell
Get-Content "$env:APPDATA\Kition\logs\main.log" -Wait -Tail 200

# Zip the log dir for a bug report
Compress-Archive -Path "$env:APPDATA\Kition\logs\*" -DestinationPath "$HOME\Desktop\kition-logs.zip"

Linux (experimental)

Linux builds are still experimental and follow the XDG Base Directory spec, so paths differ from macOS / Windows. AppImage, deb, and tarball builds share the same locations.

  • Logs: ~/.config/Kition/logs/ or $XDG_STATE_HOME/Kition/logs/
  • Config: ~/.config/Kition/
  • Credentials: Secret Service (libsecret) — GNOME Keyring or KWallet

Useful triage commands

Logs rotate daily and we keep the last 14 days. To pinpoint a failure quickly, grep -i error plus a timestamp is usually the fastest way in.

The sidecar log captures provider request timings, local index rebuild progress, and hook firings — it is the main battleground for debugging agent issues.

# macOS / Linux — find all errors in the last 24h of sidecar log
grep -iE 'error|panic|fatal' ~/Library/Logs/Kition/sidecar.log | tail -50

# Find which provider call timed out
grep -E 'provider=.*duration=' ~/Library/Logs/Kition/sidecar.log | tail -20

# Tail the live sidecar log filtered for hook events
tail -f ~/Library/Logs/Kition/sidecar.log | grep -E 'hook='

Turning up log verbosity

The default log level is info. While chasing a tricky bug you can temporarily switch to debug, but remember to switch back — debug mode grows log volume by roughly 5-10x.

You can change log level in Settings → Advanced → Log level, or via an environment variable at launch — the latter is handy when you need a clean reproduction from scratch.

# macOS — relaunch with debug logging
KITION_LOG_LEVEL=debug open -a Kition

# Windows PowerShell — relaunch with debug logging
$env:KITION_LOG_LEVEL="debug"; Start-Process "$env:LOCALAPPDATA\Programs\Kition\Kition.exe"

Related articles

Ready when you are.

Kition is a local-first AI workspace. Markdown documents, structured tables, and an AI agent — running on your own machine, against the model provider you choose.