> 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-xdr-3.x/cortex-xdr-3.x-documentation/onboard-and-configure-cortex-xdr/deployment-steps/step-3-install-cortex-xdr-agents/create-an-agent-installation-package.md).

# Create an agent installation package

To install the Cortex XDR agent on the endpoint for the first time, create an agent installation package. Review [Where can I install the Cortex XDR agent](/compatibility-matrix/where-can-i-install-the-cortex-xdr-agent.md) for supported versions and operating systems.

To install the Cortex XDR agent software, you must use a valid installation package that exists in your Cortex XDR management console. If you delete an installation package, new agents installed from this package are not able to register to Cortex XDR, however, existing agents may re-register using the Agent ID generated by the installation package.

1. From Cortex XDR, select Endpoints → **Agent Installations**.
2. Click **Create** to create a new installer.
3. Enter a unique name and an optional description to identify the installation package.

   The package name can contain letters, numbers, hyphens, underscores, commas, and spaces, and should not exceed 100 characters.
4. Select the **Package Type**:
   * **Standalone Installer**: Use for fresh installations and to upgrade agents on a registered endpoint that is connected to Cortex XDR.
   * **Upgrade from ESM**: Use this package to upgrade Traps agents which connect to the on-premises Traps Endpoint Security Manager to Cortex XDR.
   * (Linux only) **Kubernetes Installer**: Use for fresh installations and upgrades of Cortex XDR agents running on Kubernetes clusters.

<details>

<summary>Guidelines for Kubernetes installer</summary>

* Settings for the Kubernetes installer cannot be changed after you create the installation package.
* For **Version**, select the desired Cortex XDR agent version.

  If the option **Always deploy the latest agent version** is displayed, do not select it.
* For the **Agent Daemonset Namespace**, it is recommended to use the default **cortex-xdr** namespace.
* For a more granular deployment, enter any labels or selectors in the **Node Selector**. The Cortex XDR agent will be deployed only on these nodes.
* To configure the Cortex XDR agent to communicate through a proxy, enter either the IP address and port number or enter the FQDN and port number. When you enter the FQDN, you can use both lowercase and uppercase letters. Avoid using special characters or spaces. Use commas to separate multiple addresses.

</details>

* **Helm Installer**: Use this package for fresh installations and upgrades of Cortex XDR agents running on Kubernetes clusters.

5\. Select the platform and relevant settings, and then click **Create**.

Cortex XDR prepares your installation package and displays it on the **Agent** **Installations** page.

6\. Download your installation package.

When the status of the packaged shows `completed`, right-click the package, and click **Download**.


---

# 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-xdr-3.x/cortex-xdr-3.x-documentation/onboard-and-configure-cortex-xdr/deployment-steps/step-3-install-cortex-xdr-agents/create-an-agent-installation-package.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.
