> For the complete documentation index, see [llms.txt](https://cortex-docs.paloaltonetworks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cortex-docs.paloaltonetworks.com/cortex-xsoar-6-installation-guides/6.12/cortex-xsoar-installation-guide/upgrade-your-installation/upgrade-the-cortex-xsoar-server.md).

# Upgrade the Cortex XSOAR Server

The installer automatically detects the existing configurations and applies them to the upgraded server.

When performing an upgrade, the following core content packs may automatically upgrade to a newer version:

<details>

<summary>Core content packs</summary>

* Base
* CommonDashboards
* CommonPlaybooks
* CommonReports
* CommonScripts
* CommonTypes
* CommonWidgets
* DefaultPlaybook
* DemistoLocking
* DemistoRESTAPI
* EDL
* FeedMitreAttackv2
* FeedUnit42v2
* FiltersAndTransformers
* HelloWorld
* ImageOCR
* Palo\_Alto\_Networks\_WildFire
* PAN-OS
* TIM\_Processing
* TIM\_SIEM
* ThreatIntelReports
* ThreatIntelligenceManagement
* Unit 42 Threat Intelligence by Palo Alto Networks
* VirusTotal
* Whois
* rasterize

</details>

#### Before you begin

Do the following:

To upgrade a multi-tenant installation, including high availability and disaster recovery, see [Upgrade Your Multi-Tenant Deployment](/cortex-xsoar-6-installation-guides/6.12/cortex-xsoar-installation-guide/upgrade-your-installation/upgrade-your-multi-tenant-deployment.md),

* If you are using a server with Elasticsearch for indicators only, you need to migrate all the data to Elasticsearch using the [Migration Tool](/xsoar-6-administrator-guide/6.12/onboard-cortex-xsoar/onboarding-in-cortex-xsoar/elasticsearch/migration/migrate-objects-to-elasticsearch-for-a-single-server.md) before upgrading.
* Verify that your system meets the system requirements, including the required operating system.
* You can upgrade by up to two versions at a time. For example, if you want to upgrade to Cortex XSOAR 6.12 and you are in Cortex XSOAR 6.2, you upgrade to Cortex XSOAR 6.4 > Cortex XSOAR 6.6 > Cortex XSOAR 6.8 > Cortex XSOAR 6.10 > Cortex XSOAR 6.12.
* You can upgrade multi-tenant deployments, including high availability or disaster recovery.
* (High Availability) - When upgrading a high availability environment, you must stop the demisto service on all application servers before performing the upgrade. Rolling upgrades are not supported.

How to upgrade

1. Prepare the Cortex XSOAR server for upgrade.
   1. Take a snapshot of the server.
   2. Back up your content by selecting **Settings** → **About** → **Troubleshooting** → **Export**.
   3. Disable any external systems that push incidents to Cortex XSOAR, such as Splunk and Elasticsearch.
   4. Obtain a list of integrations that are in a failed state by running the **`!FailedInstances`** command in the CLI. This is useful to compare after the upgrade.
   5. Download the new installer and copy it to all the servers that will be upgraded.

      **`wget -O demisto.sh "<downloadLink>"`**

      <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><h3>Note</h3><p>You can use the original URL that was sent to you when installing Cortex XSOAR by changing it to the following:</p><ul><li>Change <strong><code>download.demisto.works</code></strong> to <strong><code>download.demisto.com</code></strong></li><li><p>If you want a specific version (other than a general available release), add <strong><code>&#x26;downloadName=&#x3C;version>_&#x3C;latest or build number></code></strong> to the end of the URL.</p><p>For example, to upgrade to the latest v6.9 release, type <strong><code>https://download.demisto.com/download-params/?token=xxxxxxx&#x26;email=user@paloaltonetworks.com&#x26;downloadName=6_9_latest&#x26;eula=accept</code></strong></p></li></ul><p>If you do not have the original URL, open a Customer Support ticket and select the <strong>Download Link</strong> option. The link is then sent automatically.</p></div>

      Cortex XSOAR uses the **`/tmp`** folder for installation. If the folder is blocked by policy, you need to specify a new directory or use **`/var/tmp`**  directory by adding the **`--target`** argument to installation before any other flag. For example, **`sudo ./demisto.sh --target /var/tmp --multi-tenant`**
2. (Disaster Recovery and High Availability only) Stop the Cortex XSOAR server.

   **`sudo service demisto stop`**

   If you are using backup servers for Disaster Recovery, first stop the primary server and then any backup servers.

   For High Availability, stop all app servers.
3. Run the following command to allow the **`.sh`** file to run as an executable file.

   **`chmod +x demisto.sh`**
4. If you are deploying Cortex XSOAR using a signed installer (GPG) you need to import the GPG public key that was provided with the signed installer.

   `https://download.demisto.com/download-params?token=xxxxxxxxx&email=user@paloaltonetworks.com&downloadName=signed_public_key&eula=accept`
5. Run the installer file.

   **`sudo ./demisto.sh`**

   For Disaster Recovery, run the installer on the secondary (backup) server. Once it is up and running, run the installer on the primary server.

   For High Availability, run the installer file on one app server to trigger the database upgrade. When available, log in to the app server. You can then upgrade any additional app servers.
6. After the upgrade is completed, do the following.
   1. Confirm the Cortex XSOAR server status is active by running the **`systemctl status demisto`** command.

      If the server is not active, run the **`systemctl start demisto`** command to start the server.
   2. Confirm the Docker service status is active by running the **`systemctl status docker`** command.
   3. Check that all custom content prior to upgrade appears.
   4. Check that all incidents prior to upgrade appear.
   5. Run the **`!FailedInstances`** command to compare the results in [Step 1.d](#UUID-58ab83ad-eb76-986a-7ae1-63ee09300acf_id9c1fb69d-1fe1-4922-924d-b341337714a7) and fix any failed instances.
   6. Ensure all integrations that were enabled prior to the upgrade are available in the CLI/Playbooks.
   7. Upgrade any existing engines.
   8. Reattach out of the box Incident types (from content packs) to receive content updates.

      After upgrading from v6.0 and below, all installed incident types are in a Detached state, which means that updates from content packs do not affect the incident type configuration. If you want to receive content updates for detached incident types, reattach the incident type.

      If upgrading from v5.5, you will need to upgrade your content to content pack format to ensure that you receive content pack updates. For information, refer to Migrate All Content to Content Packs in the Cortex XSOAR Administrator’s Guide.
   9. Enable the external systems you disabled in [Step 1.c](#UUID-58ab83ad-eb76-986a-7ae1-63ee09300acf_id6b52a871-f621-4757-9e8d-1dff5f434092).


---

# 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://cortex-docs.paloaltonetworks.com/cortex-xsoar-6-installation-guides/6.12/cortex-xsoar-installation-guide/upgrade-your-installation/upgrade-the-cortex-xsoar-server.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.
