Kicad_common 5.x 6.x details please?

I’m hoping someone in-the-know might give an overview of the role of file kicad_common in 6.x versus 5.x.

In Kicad 5.x, file kicad_common is a small ini-style file that stores some Kicad config info, including, most prominently, the values of a bunch of “EnvironmentVariables”, such as KICAD_SYMBOL_DIR, KICAD_USER_FOOTPRINTS and several others. One or more Kicad config dialogs for setting paths use or edit this file.

I notice that for Kicad 5.x, the file is located at:

(… but I don’t know what informs Kicad that is the location for kicad_common and a bunch of other config-ish files.)

Storing the variables in this file avoids having to create actual OS system or user environment variables. The benefit of NOT creating actual OS environment variables for this purpose is because you might not want the same variables to apply to different installations of Kicad. In principle you can have separate such kicad_common files, pertinent to different Kicad installs.

And it’s useful to edit this file prior to firing up a new install of Kicad for the first time, so that you can place your libraries where you want them, and don’t inadvertently allow Kicad to initialize libraries in default locations.

However… my confidence in this mechanism enters a grey zone at this point.

In a previous episode (upgrade from 4.x to 5.x) I learned that the file kicad_common was key to understanding where each version of Kicad would find it’s libraries, and ensuring that each did not try to read the other’s libraries, and more important, prevent them from writing and clobbering each other’s libraries.

So now, faced with upgrade to Kicad 5.99/6, I want to update my understanding of this same area.

The path to kicad_common (shown above) is not obviously distinct by Kicad version number. Assuming that Kicad 5.99/6 has a similar mechanism, how do we keep the two sets of config info, especially the path variables, distinct?

Even more anxiety inducing – is the installation of Kicad 5.99/6 going to over-write the existing kicad_common file, or for that matter, others of the numerous files in

C:\Users\myusername\AppData\Roaming\kicad\ ?

Key questions:

  1. In general, in what ways does Kicad 5.99/6 avoid interfering with an existing installation of 5.x.

  2. What is Kicad’s 5.99/6’s equivalent to kicad_common, and does it install to a distinct location?

Starting with v6 the config folder is versioned and will be in
so nothing will overwrite your v5 configs.
During migration if you choose to transfer settings it will transform kicad_common into kicad_common.json which will be at the location above.


I have also recently added short explanations for config files in v6 in Where are the configuration files (settings, library tables)?.

Starting with v6 the config folder is versioned

Thanks for that detail – good to know.

Excellent resource to have – I’ll doubtless be scrutinizing that!