> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/harness-platform/use-harness-platform/pipelines/configure-per-project-concurrency.md).

# Configure per-project concurrency

Per-project concurrency allows you to define a concurrency limit independently for each project.

You can configure a **Default Project Concurrency Limit** that applies to every project and optionally configure a different **Project Concurrency Limit Override** for an individual project.

The account's total concurrency limit remains the maximum number of pipeline executions that can run concurrently across the entire account.

Per-project concurrency does not divide the account into High and Low priority partitions. Each project is evaluated against its own concurrency limit.

{% hint style="info" %}
This feature is behind feature flags `PIPE_PROJECT_LEVEL_EXECUTION_CONCURRENCY`, `PIPE_ENABLE_QUEUE_BASED_PLAN_CREATION`, and `PIPE_PER_PROJECT_CONCURRENCY_OVERRIDES`. Contact [Harness Support](mailto:support@harness.io) to enable the feature.
{% endhint %}

***

### What you will learn in this topic <a href="#what-you-will-learn-in-this-topic" id="what-you-will-learn-in-this-topic"></a>

* How to [configure the default project concurrency limit](#configure-the-default-project-concurrency-limit).
* How to [set project-level overrides](#project-level-overrides).
* How to understand [effective concurrency limits](#effective-concurrency-limits).
* How to understand [execution behavior](#execution-behavior) when limits are reached.

***

### Before you begin <a href="#before-you-begin" id="before-you-begin"></a>

* **Account administrator access**: Only account administrators can configure the account-level default project concurrency settings. Go to [RBAC in Harness](/harness-platform/use-harness-platform/platform-access-control.md) to review role requirements.
* **Feature flags enabled**: The per-project concurrency mode requires the `PIPE_PROJECT_LEVEL_EXECUTION_CONCURRENCY`, `PIPE_ENABLE_QUEUE_BASED_PLAN_CREATION`, and `PIPE_PER_PROJECT_CONCURRENCY_OVERRIDES` feature flags. Contact [Harness Support](mailto:support@harness.io) if these flags are not enabled.

***

### Configure the default project concurrency limit <a href="#configure-the-default-project-concurrency-limit" id="configure-the-default-project-concurrency-limit"></a>

To set the default concurrency limit for projects:

1. Navigate to **Account Settings** > **General** > **Default Settings** > **Pipeline** > **CONCURRENCY MANAGEMENT**.

   <figure><img src="/files/ClxucHKRrjZT1sriZBHb" alt="Concurrency Management settings in per-project mode, showing the Default Project Concurrency Limit field"><figcaption></figcaption></figure>
2. In **Concurrency Mode**, select **Set concurrency limits per project**.
3. Confirm the change when Harness prompts you. Changing the concurrency mode affects pipeline executions across the account.
4. In **Default Project Concurrency Limit**, enter the concurrency limit that should apply to every project that does not have a project-specific override.

   The value must be a positive whole number and cannot exceed `100,000`.

The default project concurrency limit applies to every project unless a project has a specific concurrency override.

***

### Project-level overrides <a href="#project-level-overrides" id="project-level-overrides"></a>

You can optionally configure a different concurrency limit for an individual project.

To configure a different concurrency limit for an individual project:

1. Navigate to **Project Settings** > **General** > **Default Settings** > **Pipeline** > **CONCURRENCY MANAGEMENT**.

   <figure><img src="/files/Wc06ihUwyfaC7Ng1NEhW" alt="Project Default Settings showing the Project Concurrency Limit Override field under Concurrency Management"><figcaption></figcaption></figure>
2. In **Project Concurrency Limit Override**, enter the concurrency limit for the project.
3. Leave the field empty to use the account-level default.

A project-specific concurrency override cannot exceed the account's total concurrency limit.

{% hint style="info" %}
The **Default Project Concurrency Limit** is configured at the account scope and applies to projects that do not have an override.

The **Project Concurrency Limit Override** applies only to the project where it is configured.
{% endhint %}

***

### Effective concurrency limits <a href="#effective-concurrency-limits" id="effective-concurrency-limits"></a>

Harness determines the effective concurrency limit for a project as follows:

1. If the project has a **Project Concurrency Limit Override**, Harness uses that value.
2. If the project does not have an override, Harness uses the **Default Project Concurrency Limit** configured at the account level.

The account's total concurrency limit remains the hard ceiling across all projects.

Project limits are independent limits. They do not reserve or divide the account's total concurrency capacity into separate partitions.

***

### Execution behavior <a href="#execution-behavior" id="execution-behavior"></a>

When the number of running pipeline executions in a project reaches that project's concurrency limit, additional executions for that project are queued.

When the project falls below its concurrency limit, a queued execution starts automatically.

Harness displays the following message when a project reaches its concurrency limit:

`Max number of concurrent executions reached for the project`

{% hint style="info" %}
Pipelines in **Approval Pending** status are excluded from the project concurrency limit.
{% endhint %}

***

### Example <a href="#example" id="example"></a>

Consider an account with the following configuration:

* Account total concurrency: `100`
* Default project concurrency: `10`
* Project A override: `30`
* Project B: no override

Project A can run up to `30` pipeline executions concurrently because it has a project-specific override.

Project B uses the account default and can run up to `10` executions concurrently.

Other projects without overrides also use the default limit of `10`.

The account can never exceed `100` concurrent pipeline executions in total, regardless of the individual project limits.

If Project A reaches its limit of `30` executions, additional executions for Project A are queued. This does not prevent other projects from using their available concurrency.

{% hint style="info" %}
The project concurrency limit controls the number of executions that can run concurrently within that project. The account-level concurrency limit continues to control the total number of concurrent executions across the account.
{% endhint %}

***

### Next steps <a href="#next-steps" id="next-steps"></a>

* Go to [Configure High/Low priority partitions](/harness-platform/use-harness-platform/pipelines/configure-high-low-priority-partitions.md) to learn about the alternative concurrency mode.
* Go to [Pipeline settings](/harness-platform/use-harness-platform/pipelines/pipeline-settings.md) to configure other account-level pipeline settings.
* Go to [Use looping strategies](/harness-platform/use-harness-platform/pipelines/looping-strategies/looping-strategies-matrix-repeat-and-parallelism.md) to understand how parallelism interacts with concurrency limits.
