Question
How can JetBrains IDE installations be detected programmatically across operating systems?
Answer
There is no single, unified mechanism to detect all JetBrains IDE installations. Detection depends on the operating system and the installation method (Toolbox App, standalone installer, system package manager, manual archive extraction). The reliable approach is to check multiple known installation locations.
For a comprehensive list of default installation paths across operating systems, refer to Directories used by JetBrains IDEs to store settings, caches, plugins, and logs.
Windows
The most reliable source on Windows is the registry key where installed applications register themselves:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall
JetBrains IDE installations performed by the standalone installer and the Toolbox App register entries under this key. Iterate over the subkeys and filter by DisplayName or Publisher containing JetBrains.
Also check the system-wide registry hive for installations performed for all users:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
For Toolbox App-managed installations, the default Toolbox apps directory is:
%LOCALAPPDATA%\JetBrains\Toolbox\apps
Linux
There is no single registration mechanism on Linux. Multiple sources must be checked to cover all installation methods:
-
Toolbox App: scan
~/.local/share/JetBrains/Toolbox/apps/for installed IDE directories. -
Manual installations: check
/opt/,/usr/local/, and the user home directory for extracted IDE folders matching names such asidea-IU-*,pycharm-*,goland-*,webstorm-*. -
Snap packages: run
snap listand filter for JetBrains entries (intellij-idea-ultimate,pycharm-professional,webstorm, and so on). -
Flatpak packages: run
flatpak listand filter for application IDs in thecom.jetbrains.*namespace. -
PATH: scan directories in
$PATHfor known launcher binaries (idea,pycharm,webstorm,goland,clion,rider,phpstorm,rubymine,datagrip). -
Desktop entries: scan
~/.local/share/applications/and/usr/share/applications/for.desktopfiles matchingjetbrains-*.desktop.
macOS
JetBrains IDEs on macOS are distributed as .app bundles. Check the following locations:
-
/Applications/— system-wide installations. -
~/Applications/— user-specific installations. -
~/Library/Application Support/JetBrains/Toolbox/apps/— Toolbox-managed installations.
Filter for bundles whose name matches the JetBrains IDE family (IntelliJ IDEA*.app, PyCharm*.app, WebStorm*.app, GoLand.app, CLion.app, and so on).
Coverage notes
- Both Toolbox-managed and standalone installations must be considered to cover all users — checking only one source misses a significant portion of installations.
- Older installations may not be registered in the same locations as recent ones; combining multiple sources improves coverage.
- The
PATHenvironment variable and existing desktop shortcuts can serve as additional discovery hints when other methods miss an installation.
Comments
0 comments
Please sign in to leave a comment.