> For the complete documentation index, see [llms.txt](https://docs.cipp.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cipp.app/setup/maintaining-cipp/updating.md).

# Updating Versions

Keeping CIPP up-to-date ensures you have the latest features, security patches, and bug fixes.

{% hint style="info" %}

## **CyberDrain Hosted Clients**

CyberDrain-hosted instances update according to the **Update Checks** settings on CIPP > Advanced > Container Management > [Status & Updates](/user-documentation/cipp/advanced/container-management/status.md), the same as a self-hosted instance. The steps below apply to you too. After an update, run a permissions check via CIPP > Application Settings > [Permissions](/user-documentation/cipp/settings/permissions.md) so any newly added permissions are accounted for.
{% endhint %}

Update your CIPP instance to the latest release using the following instructions:

{% stepper %}
{% step %}

### Log in to CIPP

Log in to CIPP as a superadmin account
{% endstep %}

{% step %}

### Open Container Management

Go to CIPP -> Advanced -> Container Management -> [Status & Updates](/user-documentation/cipp/advanced/container-management/status.md)
{% endstep %}

{% step %}

### Update Management

Set your auto-update settings or press the "Check now" button to check for updates and install them.

{% hint style="info" %}
You can optionally change which Release Channel you target for updates. Use caution when running Dev or Nightly as these can contain untested changes.
{% endhint %}
{% endstep %}
{% endstepper %}

## Legacy Self-Hosted (Static Web App + Function App)

Instances still running the earlier Function App and Static Web App architecture, from before the [Migrating Self-Hosted to the New Infrastructure](/setup/maintaining-cipp/migrating-to-the-new-infrastructure.md) migration, have no Container Management page and update by syncing their GitHub fork instead.

{% stepper %}
{% step %}

### Sync your CIPP fork

Open your fork of the CIPP repository on GitHub, click Sync Fork, then Update Branch.

{% hint style="danger" %}
If GitHub asks whether to discard commits or update the branch, choose Update Branch. Discarding commits removes your fork's deployment workflow file.
{% endhint %}
{% endstep %}

{% step %}

### Repeat for your CIPP-API fork

Sync this fork the same way, so the frontend and API stay on matching versions.
{% endstep %}

{% step %}

### Wait for deployment

If your Function App is connected to GitHub Actions for continuous deployment, the update rolls out on its own, typically within around 30 minutes. Check the Actions tab on each repository, or the Azure logs, to confirm it succeeded.
{% endstep %}

{% step %}

### Clear your browser cache

If you still see the previous version, do a hard refresh: open the browser's developer tools, then right-click the refresh button and select the option to empty the cache and reload.
{% endstep %}

{% step %}

### Run a permissions check

Go to CIPP > Application Settings > [Permissions](/user-documentation/cipp/settings/permissions.md) and repair any permissions the update added.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Syncing both forks manually on every release is easy to forget. The [Pull GitHub App](https://github.com/apps/pull) can open the sync as a pull request for you automatically, which you then only need to review and merge.
{% endhint %}


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.cipp.app/setup/maintaining-cipp/updating.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
