> For the complete documentation index, see [llms.txt](https://docs.sonarsource.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sonarsource.com/sonarqube-server/2025.2/setup-and-update/plugins/install-a-plugin.md).

# Installing a plugin

You need to manually install plugins when using SonarQube Server (you cannot use the SonarQube Marketplace).

To see what plugins are available and which version is appropriate for your SonarQube Server, use the [Plugin version matrix](/sonarqube-server/2025.2/setup-and-update/plugins/plugin-version-matrix.md), which is kept up to date with current plugin availability and compatibility.

{% hint style="warning" %}
Plugins are not provided by Sonar; therefore, you install them at your own risk. A SonarQube Server administrator needs to acknowledge this risk in the Marketplace before installing plugins or when prompted in SonarQube Server after installing a plugin manually.
{% endhint %}

## Installing a plugin <a href="#manually-installing-plugins" id="manually-installing-plugins"></a>

To manually install a plugin:

1. Download the plugin you want to install. The version needs to be compatible with your SonarQube Server version.
2. Put the downloaded jar in `<sonarqubeHome>/extensions/plugins`, and remove any previous versions of the same plugins.
3. Restart your SonarQube Server.

## Installing a plugin under Docker <a href="#install-plugins-under-docker" id="install-plugins-under-docker"></a>

When running SonarQube Server under Docker, any plugin you want to install must also be copied into the Docker volume you create during installation. See the [Installing from the Docker image](/sonarqube-server/2025.2/setup-and-update/install-the-server/installing-sonarqube-from-docker.md) article in our documentation for more details about creating the volume and container.

Let’s assume that your SonarQube Server docker container is called `sonarqube`. The easiest way to install manually a plugin in the container is the following.

1. Check if an existing version of the plugin exists. Run `docker exec sonarqube bash -c 'ls "$SONARQUBE_HOME"/extensions/plugins'` to see the entire list of plugins that are installed manually.
2. If a previous version of the plugin is listed, remove it using `docker exec sonarqube bash -c 'rm "$SONARQUBE_HOME"/extensions/plugins/<PLUGIN_JAR_FILE_NAME>'`
3. Install the new plugin using `docker exec sonarqube bash -c 'wget <PLUGIN_JAR_URL> -P "$SONARQUBE_HOME"/extensions/plugins/'`
4. Restart the SonarQube Server docker container using `docker restart sonarqube`

Note that if you have followed the guidelines outlined [Installing from the Docker image](/sonarqube-server/2025.2/setup-and-update/install-the-server/installing-sonarqube-from-docker.md), the resulting plugin will be available in the `sonarqube_extensions` volume, which is attached to the `<SONARQUBE_HOME>/extensions/plugins` folder.

## Uninstalling a plugin <a href="#uninstalling-plugins" id="uninstalling-plugins"></a>

To uninstall a plugin:

1. Delete the plugin from the `<sonarqubeHome>/extensions/plugins` folder.
2. Restart your SonarQube Server.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.sonarsource.com/sonarqube-server/2025.2/setup-and-update/plugins/install-a-plugin.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
