The location of the configuration file

Karabiner-Elements stores the user configuration in a JSON file located at ~/.config/karabiner/karabiner.json.

However, you may want to place the configuration file elsewhere, for example, to sync it automatically across multiple machines or to manage it under version control.

In such cases, you can move the karabiner.json configuration file to a different directory by using a symbolic link.

The following commands move the karabiner.json file to ~/Library/Application Support/org.pqrs. The same process applies to any other directory.

mkdir -p "$HOME/Library/Application Support/org.pqrs/config"
mv ~/.config/karabiner "$HOME/Library/Application Support/org.pqrs/config"
ln -s "$HOME/Library/Application Support/org.pqrs/config/karabiner" ~/.config

After changing the actual location of karabiner.json, you need to restart karabiner_console_user_server by using the following command. Otherwise, Karabiner-Elements will not be able to automatically detect updates to karabiner.json.

launchctl kickstart -k gui/$(id -u)/org.pqrs.service.agent.karabiner_console_user_server
Last modified: 2026-05-09 Markdown