cli-ck Docs

Data locations

Where cli-ck stores settings, sessions, themes, snippets, and keys on each platform.


cli-ck stores its state in one app data directory plus the OS keychain. The settings UI is the source of truth - hand-editing these files is supported but not the workflow.

App data directory

PlatformPath
macOS~/Library/Application Support/app.cli-ck.cli-ck/
Linux~/.local/share/app.cli-ck.cli-ck/
Windows%APPDATA%\app.cli-ck.cli-ck\

The bundle id is app.cli-ck.cli-ck. Resolved by the Rust dirs crate, never by raw $HOME / %APPDATA% reads.

Files

FileContents
cli-ck-settings.jsonApp preferences - themes, fonts, shortcuts, autocomplete, agent toggles, WSL distro, etc.
cli-ck-ai-sessions.jsonChat session list, active id, and per-session message histories
cli-ck-ai-agents.jsonCustom agents - system prompts and tool subsets
cli-ck-ai-snippets.jsonComposer #handle snippets
cli-ck-ai-todos.jsonIn-app TODO lists the agent can read and write
cli-ck-custom-themes.jsonUser-built themes
themes/Background images and any per-theme assets

All seven are managed through tauri-plugin-store. Atomic writes, schema migrations on launch.

You can back up or sync this directory across machines if you want. Just close cli-ck first.

Keychain

API keys never live in the files above. They go to the OS keychain:

  • macOS - Keychain, service cli-ck-ai
  • Windows - Credential Manager, target cli-ck-ai
  • Linux - Secret Service (libsecret) where available; file-based fallback gated behind #[cfg(target_os = "linux")] for headless environments

Wipe all keys at once by deleting the cli-ck-ai service entries in your OS keychain. The settings file is unaffected.

Cache

cli-ck does not maintain a separate disk cache today. Webview cache is managed by Tauri's WebView2 (Windows) / WKWebView (macOS) / webkit2gtk (Linux) and lives in the platform-default location for those engines.

Editing files directly

You can edit any file in the app data directory while cli-ck is closed. On next launch the store will validate, migrate if needed, and surface errors in the About tab.

The settings UI is still the right way to change preferences - it knows the schema, validates inputs, and triggers the right re-renders (theme swaps, font changes, shortcut rebinds). Editing JSON by hand is for backups and bulk migrations, not daily use.