Skip to content

Conversation

@andreynering
Copy link
Member

We made a mistake when it comes to the global config path on Windows. On macOS and Linux we use two different paths for data and config: XDG_DATA_HOME and XDG_CONFIG_HOME. On Windows though, we were using the same path for both data and config: LOCALAPPDATA. This caused confusion and means the user has no separate dir to store config separate of data.

In theory we could consider something as APPDATA, but honestly, I propose that we just use $HOME/.config. It's easier to find and consistent with how other tools work. Git and other terminal tools also use $HOME/.config, so users are used to it.

This is not a breaking change because the old path will still load, so existing setting will load as expected.

We made a mistake when it comes to the global config path on Windows.
On macOS and Linux we use two different paths for data and config:
`XDG_DATA_HOME` and `XDG_CONFIG_HOME`. On Windows though, we were using
the same path for both data and config: `LOCALAPPDATA`. This caused
confusion and means the user has no separate dir to store config separate
of data.

In theory we could consider something as `APPDATA`, but honestly, I
propose that we just use `$HOME/.config`. It's easier to find and
consistent with how other tools work. Git and other terminal tools also
use `$HOME/.config`, so users are used to it.

This is not a breaking change because the old path will still load, so
existing setting will load as expected.

Fixes #1347
@andreynering andreynering merged commit 9272218 into main Nov 3, 2025
18 checks passed
@andreynering andreynering deleted the charm-808-the-global-configuration-file-path-and-ephemeral-data-path branch November 3, 2025 16:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The global configuration file path and ephemeral data path conflict for Windows

4 participants