# Deploy an Agent

> Build and activate an immutable Agent package from an archive or pinned Git commit.

## Before you begin {#before-you-begin}

Prepare a ZIP or TAR.GZ package, or a public HTTPS Git repository with a full 40-character commit SHA. The manifest must declare an Agent Resource and its namespace-local id. Resource selectors, Tools, Policy references, limits, and runtime compatibility belong in the package so the deployment remains reproducible.

## Steps {#steps}

1. Open **Agents** and choose **Deploy Agent**.
2. Select **Package archive** or **Git repository**.
3. Supply the archive, or enter the repository URL and immutable commit.
4. Review the expected Resource kind and deployment guidance.
5. Choose **Deploy** and wait while Constal builds, validates, probes, and registers the revision.
6. Open the resulting Agent detail page.

The previous revision remains immutable. Activation updates the current registry head; it does not rewrite Runs that already pinned an earlier deployment.

## Verify {#verify}

Confirm the detail page shows the expected canonical CRN, Agent version, execution mode, Resource bindings, Tool catalog, and limits. Follow each linked Resource to verify the exact deployed target. Start a small Run and check that its journal records the new deployment revision.

## Next steps {#next-steps}

Continue with [Operate Agents](/docs/agents/operate.md), or [Start a Run](/docs/runs/start.md) to test the deployment.
