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 KitionWindows
- 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"