> 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/re-run-with-no-input-changes.md).

# Rerun pipeline with no input changes

You can configure pipelines to prevent input changes during rerun. When you enable fixed inputs on rerun, the pipeline uses the same input values from the original execution and does not allow you to modify them.

Use this feature when you need consistency in rerun behavior or when input changes should be restricted after the initial execution.

***

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

* How to [enable fixed inputs on rerun](#enable-fixed-inputs-on-rerun) for a pipeline.
* How to [rerun a pipeline with fixed inputs](#rerun-pipeline-with-fixed-inputs) using different rerun options.
* How fixed inputs on rerun works with [pipeline templates](#pipeline-templates), [remote pipelines](#remote-pipelines), [pipeline chaining](#pipeline-chaining), and [API calls](#api-call-behavior).

***

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

* **Harness project**: You need an existing project. For more information, refer to [Organizations and Projects](https://github.com/iKettles/harness-gitbook/tree/main/docs/platform/organizations-and-projects/projects-and-organizations/README.md).
* **Pipeline**: You need an existing pipeline. For more information, refer to [Create your first pipeline](/harness-platform/3.0/harness-platform-resources/pipelines/harness-yaml-quickstart.md).
* **Pipeline permissions**: You need **Pipeline: Create/Edit** permission to configure settings and **Pipeline: Execute** permission to rerun pipelines. For more information, refer to [RBAC in Harness](/harness-platform/3.0/harness-platform-resources/platform-access-control/rbac-in-harness.md).

***

### Enable fixed inputs on rerun <a href="#enable-fixed-inputs-on-rerun" id="enable-fixed-inputs-on-rerun"></a>

Perform the following steps to enable fixed inputs on rerun for a pipeline.

1. In Harness, open your pipeline in Pipeline Studio.
2. In the Pipeline Studio Visual Editor, select **Advanced Options**.
3. In the **Re-run Settings** section, select **Yes** for **Is Input Data uneditable when rerunning?**.

   <figure><img src="/files/vnRR8LeZj65O3anotVOo" alt="Re-run Settings showing Is Input Data uneditable when rerunning option"><figcaption></figcaption></figure>
4. Select **Save** to save the pipeline.

When you select **Yes**, Harness automatically adds the following field to your pipeline YAML:

<details>

<summary>YAML example</summary>

```yaml
pipeline:
  name: My Pipeline
  identifier: My_Pipeline
  fixedInputsOnRerun: true  # Prevent input changes during rerun
  stages:
    - stage:
        name: Build
        identifier: Build
        type: CI
        spec:
          # ... stage configuration ...
```

</details>

{% hint style="info" %}
**SETTING EVALUATION**

The setting value is always determined based on the latest version of the pipeline YAML, not the YAML used during the original execution. If you modify the **Is Input Data uneditable when rerunning?** setting after the first execution, the change takes effect during the rerun, even if the original execution had a different configuration.
{% endhint %}

***

### Rerun pipeline with fixed inputs <a href="#rerun-pipeline-with-fixed-inputs" id="rerun-pipeline-with-fixed-inputs"></a>

When you enable fixed inputs on rerun, the feature applies to all rerun types. When you rerun the pipeline, you see a banner message stating **Inputs to this Pipeline are not editable during reruns**, which indicates that you cannot change the inputs for the pipeline.

The following rerun options support fixed inputs:

#### Rerun entire pipeline <a href="#rerun-entire-pipeline" id="rerun-entire-pipeline"></a>

When you rerun the entire pipeline, all inputs remain fixed and cannot be modified.

<figure><img src="/files/tV0eyaHyiER51t3cGrai" alt="Rerun Pipeline dialog showing fixed inputs banner"><figcaption></figcaption></figure>

#### Rerun from specific stage <a href="#rerun-from-specific-stage" id="rerun-from-specific-stage"></a>

When you rerun from a specific stage, all inputs remain fixed and cannot be modified.

<figure><img src="/files/262LunSRm7E8WWcpiDOI" alt="Rerun from specific stage dialog showing fixed inputs banner"><figcaption></figcaption></figure>

#### Rerun from last failed stage <a href="#rerun-from-last-failed-stage" id="rerun-from-last-failed-stage"></a>

When you rerun from the last failed stage, all inputs remain fixed and cannot be modified.

<figure><img src="/files/wFl7ehEanHqVzVXrbl2P" alt="Rerun from last failed stage dialog showing fixed inputs banner"><figcaption></figcaption></figure>

***

### Pipeline templates <a href="#pipeline-templates" id="pipeline-templates"></a>

When using pipeline templates, you can enable fixed inputs on rerun while creating the pipeline template. You cannot add this setting in a pipeline that uses a pipeline template. The setting must be configured in the template itself.

***

### Remote pipelines <a href="#remote-pipelines" id="remote-pipelines"></a>

For remote pipelines, the behavior is the same as inline pipelines. Enable the **Is Input Data uneditable when rerunning?** setting in the **Re-run Settings** section to prevent input changes during rerun.

***

### Pipeline chaining <a href="#pipeline-chaining" id="pipeline-chaining"></a>

Pipeline chaining behavior depends on the parent pipeline settings. If the **Is Input Data uneditable when rerunning?** option in the parent pipeline is set to **No**, the inputs in the child pipeline remain editable, even if the child pipeline has the **Is Input Data uneditable when rerunning?** option set to **Yes**.

The parent pipeline settings override the child pipeline rerun input editability, allowing inputs to be modified in the child pipeline during a rerun.

***

### API call behavior <a href="#api-call-behavior" id="api-call-behavior"></a>

When fixed inputs on rerun is enabled, the [API call to rerun](https://apidocs.harness.io/pipeline-execution/rerun-stages-execution-of-pipeline) the pipeline ignores any inputs provided in the request.

During normal reruns, inputs are sent again in the API call. However, when fixed inputs on rerun is enabled, the API ignores any inputs provided in the request and uses the inputs from the original execution.

***

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

* [Run specific stages](/harness-platform/use-harness-platform/pipelines/run-specific-stage-in-pipeline.md): Select which stages to run during pipeline execution.
* [Runtime inputs](/harness-platform/use-harness-platform/variables-and-expressions/runtime-inputs.md): Learn how runtime inputs work in pipelines.
* [Rerun with original definition and inputs](/harness-platform/use-harness-platform/pipelines/re-run-with-original-definition-and-inputs.md): Rerun pipelines with their original YAML definition.

***
