In a JetBrains IDE such as IntelliJ IDEA, you can configure custom plugin repositories and install plugins from them in addition to the official JetBrains Marketplace.
Before 2026.3, when updating plugins, the IDE checked all available versions of a plugin in the JetBrains Marketplace and custom repositories, then selected the latest compatible version using SemVer. This meant someone could upload a malicious plugin with the same ID but a higher version to the Marketplace/repositories, causing the IDE to offer it as an update.
Starting with 2026.3, the Plugins page displays plugins in separate sections by repository, and the IDE gets updates from the repository each plugin was installed from. This helps prevent plugins from being updated from a different source that may provide a malicious version.
If the IDE can't determine the plugin's installation source, it displays the notification "Unable to identify where <plugin-id> was installed from. Choose where it came from to receive updates." The Plugins page also shows "Cannot update plugin. Choose where it was installed from to receive updates" for that plugin to choose an installation source.
How the IDE Determines a Plugin’s Installation Source
- If a user installs a plugin through
Settings | Pluginsin 2026.2 or later, the IDE tracks its repository and uses that source for updates. If the user installs a plugin manually from disk, the IDE always asks the user to choose an installation source later. - When a user updates from an older version, such as 2026.1 to 2026.3, on the first start, the IDE uses the following methods to determine the source because the older version didn't track the installation source:
| Result | |
|---|---|
| a plugin is in a single configured custom repository | that repo becomes the source |
| for a plugin that exists in more than one configured custom repository | can't determine the source and ask to choose one |
| for a plugin that doesn't exist in any configured custom repository but has id in the list here | JetBrains Marketplace becomes the source |
| for bundled plugins developed by JetBrains | JetBrains Marketplace becomes the source |
How to Fix the "Choose Where to Get Updates From"
- You can run the
Initialize Missing Plugin Update Sourcesaction from IDE main menuHelp | Find Action. It uses the logic shown in the table above to initialize missing plugin update sources. For example, after installing a plugin from disk, you can run this action to initialize its update source. - Open
File | Settings | Pluginsand find a plugin with a Cannot update plugin warning. Select Choose where to get updates from. If JetBrains Marketplace is the only option, select it. If several plugin sources (e.g., JetBrains Marketplace or a custom plugin repository) are listed, choose the one you want to use to update this plugin. For example, if you installed the "Foo" plugin from a custom repository before, choose that repository as its update source.
As a workaround, open Help | Find Action, search for Registry..., and select it. In the Registry, find and disable platform.enable.plugin.update.source.feature to turn off this feature.
Known Issues That Cause Unnecessary Prompts
We are currently aware of several issues that can trigger unnecessary prompts asking users to choose an update source. We plan to address these issues to improve the feature. Examples include:
- IJPL-25999: Settings import from the previous version: either custom plugin repositories or pluginUpdateSources.xml are lost, depending on the import mode (full or selective)
- IJPL-255264 Plugins installed from 'Required plugins' notification have Unknown source
- IJPL-254917 Update source for bundled plugin is reset to unknown after update uninstallation (already fixed in the upcoming 2026.3.1)
- IJPL-255107 [IDEs] Set source if plugin forced installed
Comments
0 comments
Please sign in to leave a comment.