Local files

What lives on this machine, and who owns it.

~/.local/share/garcon/usage.db
SQLite request history, session assignments, routing preferences, nicknames, quota snapshots, prices, and diagnostics. WAL mode and owner-only permissions are enabled.
~/.local/share/garcon/openrouter-key
The optional saved OpenRouter key, separate from the ledger and readable only by its owner.
~/.codex-garcon-* · ~/.claude-garcon-*
Separate profiles created by browser sign-in. Provider CLIs own their credentials; Claude may use profile-specific macOS Keychain entries.
Codex state_*.sqlite
Read-only source for matching task titles, workspace paths, and archive flags. Garcon uses known Codex profile directories and doesn't copy this metadata into its ledger.
~/.local/share/garcon/bin/garcon
The service's private executable. Setup and service restart refresh it, so clearing npm's cache doesn't remove the running installation.
~/Library/LaunchAgents/dev.garcon.plist
macOS autostart. Logs go to ~/Library/Logs/garcon.log.
~/.config/systemd/user/garcon.service
Linux user service. Read logs with journalctl --user -u garcon.

A custom -data path changes the database location and nearby key storage. Legacy JSON/JSONL data is imported once in a transaction; original files remain as backups. Malformed migration data stops startup rather than being silently discarded.

There is no cross-device sync. Setup and updates keep local history. Uninstalling the service keeps usage and settings; restore your tools' original URLs before removing the proxy. Uninstall steps.

For contributors

web/ contains the UI; internal/ holds the proxy, routing, metadata adapter, and storage. This documentation site is plain HTML/CSS with no build step. Navigation reference.