WindowsmacOSLinux

Where Does Conan Keep Profiles and Packages?

Where Conan 2 keeps profiles, packages and remotes under .conan2, and how it differs from Conan 1.

Last updated

Conan 2 keeps everything in ~/.conan2 (CONAN_HOME overrides): profiles/ for build configurations, p/ for package binaries, remotes.json for registries, settings.yml for the schema. One home per user, shared by every project that runs conan install.

The default profile is generated by conan profile detect on first run and lives at profiles/default. Teams distribute shared profiles with conan config install, which overlays remotes, profiles and settings from a repo into the home. Version upgrades never migrate v1 homes: the majors ignore each other by design.

Where Conan stores this, by platform

Windows
%USERPROFILE%\.conan2

Same layout on every OS, home prefix aside. Override with CONAN_HOME. Inspect with conan config home and conan profile show. v1 keeps a separate ~/.conan tree.

macOS
~/.conan2

Profiles in profiles/, binaries in p/. Share team config with conan config install from a git repo.

Linux
~/.conan2

Same as macOS. CI images often set CONAN_HOME to a workspace path for hermetic per build caches.

Frequently asked questions

How do I print my exact Conan home?

Run conan config home. It prints the live home honoring CONAN_HOME, which moves with env vars and -v mounts more often than people expect. conan profile show then prints the effective default profile contents.

I see both .conan and .conan2. Which is live?

They are different major versions with different homes: v1 uses ~/.conan, v2 uses ~/.conan2. Both can coexist on one machine. Check conan --version first when a path looks wrong: you are probably reading docs for the other major.

Notice an outdated path? Let us know.