WindowsmacOSLinux

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

Windows
%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.

macOS
~/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.

Linux
~/.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.