Where Does KeePassXC Store Its Config?
KeePassXC main and local config files on every OS, and which one to sync with dotfiles.
Last updated
KeePassXC keeps two ini files per machine: a main one with real settings (browser integration, KeeShare, options) and a local one with runtime state (last database, window positions). Main lives in Roaming KeePassXC on Windows, ~/Library/Application Support/KeePassXC on Mac, ~/.config/keepassxc on Linux.
Old installs used the local paths for everything and migrate automatically, so check both after upgrading. If you sync dotfiles, sync only the main ini: the local one holds machine state that fights across computers. KPXC_CONFIG and --config force explicit paths for managed deploys.
Where KeePassXC stores this, by platform
%APPDATA%\KeePassXC\keepassxc.ini
Main settings. Runtime state in %LOCALAPPDATA%\KeePassXC\keepassxc.ini. Portable mode keeps config beside the app. Databases (.kdbx) are user chosen on first Save.
~/Library/Application Support/KeePassXC/keepassxc.ini
Main settings. Runtime state in ~/Library/Caches/KeePassXC/keepassxc.ini (clearing Caches resets recents by design). Window traits only in the org.keepassxc plist.
~/.config/keepassxc/keepassxc.ini
Main settings ($XDG_CONFIG_HOME respected). State in ~/.local/state/keepassxc/keepassxc.ini (older builds used ~/.cache and migrate). Overrides via $KPXC_CONFIG, --config and --localconfig.
Frequently asked questions
Which KeePassXC file should I put in my dotfiles repo?
Only the main ini (Roaming on Windows, ~/.config/keepassxc on Linux, Application Support on Mac). The local/state ini records last opened database and window geometry, which breaks subtly when shared.
Where are my KeePassXC databases stored?
Wherever you saved them; KeePassXC sets no default directory. The local ini remembers the last path, so open it to find a database you misplaced.
Notice an outdated path? Let us know.