From 3efdc3b7fcd67590d10c48c17127891ac0e8f5a4 Mon Sep 17 00:00:00 2001 From: Akira Yamamoto <3007213+akirayamamoto@users.noreply.github.com> Date: Wed, 21 Oct 2026 14:53:07 +1100 Subject: [PATCH 1/9] Document preventing AI agents from responding to manual interventions Co-Authored-By: Claude Opus 5.5 --- .../manual-intervention-and-approvals.md | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md b/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md index a7782c7458..f43d9edf99 100644 --- a/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md +++ b/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md @@ -1,7 +1,7 @@ --- layout: src/layouts/Default.astro pubDate: 2023-01-01 -modDate: 2026-10-13 +modDate: 2026-10-21 title: Manual intervention and approval step icon: fa-solid fa-check description: Manual intervention and approvals allow a human to review, approve, or sign off on deployments. @@ -91,6 +91,26 @@ When aborting a deployment, it's a good idea to write a reason into the **Notes* The tasks page, under the "Needs Approval" tab, contains a list of deployments pending manual intervention. In addition to the deployment page, you can **Assign**, **Proceed**, and **Abort** deployments from this list. +## Require a person to respond + +By default, AI agents can assign and submit manual interventions, the same as the person they act for. To make sure a person responds, turn off **Agent Responses** on the manual intervention step. + +When agent responses are turned off: + +- AI agents can't assign or submit the manual intervention. They're told a person needs to respond, with a link to the task. +- The task page shows that AI agents can't respond to the manual intervention. +- People can always respond. + +To pause only deployments or runbook runs started by an AI agent, set the step's **Run Condition** to **Variable** with this expression: + +``` +#{if Octopus.Deployment.CreatedBy.ActorType == "Agent"}true#{/if} +``` + +:::div{.hint} +Anyone who can edit the deployment process or runbook can change this setting, including an AI agent with that permission. +::: + ## Output variables When a manual step is completed, details of the interruption are saved as variables that can be used in other steps including [email](/docs/projects/built-in-step-templates/email-notifications) templates. From a74b2f47895a1522d1078ff0057be4622f593ba5 Mon Sep 17 00:00:00 2001 From: Akira Yamamoto <3007213+akirayamamoto@users.noreply.github.com> Date: Wed, 21 Oct 2026 14:56:28 +1100 Subject: [PATCH 2/9] Specify a language for the run condition code block Co-Authored-By: Claude Opus 5.5 --- .../manual-intervention-and-approvals.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md b/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md index f43d9edf99..c75f0be5d1 100644 --- a/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md +++ b/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md @@ -103,7 +103,7 @@ When agent responses are turned off: To pause only deployments or runbook runs started by an AI agent, set the step's **Run Condition** to **Variable** with this expression: -``` +```text #{if Octopus.Deployment.CreatedBy.ActorType == "Agent"}true#{/if} ``` From b20f5d7bf0de4d9f17e6b9f7ad1b85bc4b74e3e1 Mon Sep 17 00:00:00 2001 From: Akira Yamamoto <3007213+akirayamamoto@users.noreply.github.com> Date: Wed, 21 Oct 2026 16:57:45 +1100 Subject: [PATCH 3/9] Name the agent responses section after what it prevents Co-Authored-By: Claude Opus 5.5 --- .../manual-intervention-and-approvals.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md b/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md index c75f0be5d1..5d9bb27e06 100644 --- a/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md +++ b/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md @@ -91,7 +91,7 @@ When aborting a deployment, it's a good idea to write a reason into the **Notes* The tasks page, under the "Needs Approval" tab, contains a list of deployments pending manual intervention. In addition to the deployment page, you can **Assign**, **Proceed**, and **Abort** deployments from this list. -## Require a person to respond +## Prevent AI agents from responding By default, AI agents can assign and submit manual interventions, the same as the person they act for. To make sure a person responds, turn off **Agent Responses** on the manual intervention step. From fab2d43866afb39be705056fe70ed6065e8c04b6 Mon Sep 17 00:00:00 2001 From: Akira Yamamoto <3007213+akirayamamoto@users.noreply.github.com> Date: Thu, 22 Oct 2026 12:34:52 +1100 Subject: [PATCH 4/9] Explain which AI agents are blocked from responding Co-Authored-By: Claude Opus 5.5 --- .../built-in-step-templates/manual-intervention-and-approvals.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md b/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md index 5d9bb27e06..36e26c5c19 100644 --- a/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md +++ b/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md @@ -100,6 +100,7 @@ When agent responses are turned off: - AI agents can't assign or submit the manual intervention. They're told a person needs to respond, with a link to the task. - The task page shows that AI agents can't respond to the manual intervention. - People can always respond. +- Only callers that sign in as an AI agent are blocked, such as with an AI agent API key or through the Octopus MCP server. An agent using a person's API key counts as a person. To pause only deployments or runbook runs started by an AI agent, set the step's **Run Condition** to **Variable** with this expression: From 45f0dd4e614def72a3cf6b53549115e835af161c Mon Sep 17 00:00:00 2001 From: Akira Yamamoto <3007213+akirayamamoto@users.noreply.github.com> Date: Thu, 22 Oct 2026 14:28:55 +1100 Subject: [PATCH 5/9] Match agent response docs to the editor options and add missing limits Co-Authored-By: Claude Opus 5.5 --- .../manual-intervention-and-approvals.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md b/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md index 36e26c5c19..ad9dd9c398 100644 --- a/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md +++ b/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md @@ -93,14 +93,20 @@ The tasks page, under the "Needs Approval" tab, contains a list of deployments p ## Prevent AI agents from responding -By default, AI agents can assign and submit manual interventions, the same as the person they act for. To make sure a person responds, turn off **Agent Responses** on the manual intervention step. +By default, AI agents can assign and submit manual interventions, the same as the person they act for. To make sure a person responds, set **Agent Responses** to **Prevent AI agents from responding** on the manual intervention step. -When agent responses are turned off: +When AI agents are prevented from responding: - AI agents can't assign or submit the manual intervention. They're told a person needs to respond, with a link to the task. - The task page shows that AI agents can't respond to the manual intervention. - People can always respond. - Only callers that sign in as an AI agent are blocked, such as with an AI agent API key or through the Octopus MCP server. An agent using a person's API key counts as a person. +- If a **Deploy a release** step runs a deployment that's waiting on this manual intervention, AI agents can't respond to it from the parent either. +- AI agents can still cancel the task if they have permission to. + +Guided failure interventions aren't affected. + +You can bind **Agent Responses** to a variable. If the value isn't `True` or `False`, AI agents are prevented from responding and the task log shows a warning. To pause only deployments or runbook runs started by an AI agent, set the step's **Run Condition** to **Variable** with this expression: From cec87ad6857a424b3f79fcb07c9424aa1a30da89 Mon Sep 17 00:00:00 2001 From: Akira Yamamoto <3007213+akirayamamoto@users.noreply.github.com> Date: Thu, 22 Oct 2026 14:29:36 +1100 Subject: [PATCH 6/9] Drop the guided failure note from agent response docs Co-Authored-By: Claude Opus 5.5 --- .../manual-intervention-and-approvals.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md b/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md index ad9dd9c398..1d7b21eba4 100644 --- a/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md +++ b/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md @@ -104,8 +104,6 @@ When AI agents are prevented from responding: - If a **Deploy a release** step runs a deployment that's waiting on this manual intervention, AI agents can't respond to it from the parent either. - AI agents can still cancel the task if they have permission to. -Guided failure interventions aren't affected. - You can bind **Agent Responses** to a variable. If the value isn't `True` or `False`, AI agents are prevented from responding and the task log shows a warning. To pause only deployments or runbook runs started by an AI agent, set the step's **Run Condition** to **Variable** with this expression: From b9e7966e2066db8e9a4b601b6bac1f70a295036d Mon Sep 17 00:00:00 2001 From: Akira Yamamoto <3007213+akirayamamoto@users.noreply.github.com> Date: Thu, 22 Oct 2026 16:48:09 +1100 Subject: [PATCH 7/9] Note that a project variable can override the agent responses setting Co-Authored-By: Claude Opus 5.5 --- .../manual-intervention-and-approvals.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md b/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md index 1d7b21eba4..ca80d0625a 100644 --- a/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md +++ b/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md @@ -114,6 +114,8 @@ To pause only deployments or runbook runs started by an AI agent, set the step's :::div{.hint} Anyone who can edit the deployment process or runbook can change this setting, including an AI agent with that permission. + +A project variable named `Octopus.Action.Manual.PreventAgentResponses` overrides this setting. Anyone who can edit project variables can use it to let AI agents respond. ::: ## Output variables From bdf00109e23d1a3b14f0e708962c0d7ecffd30c8 Mon Sep 17 00:00:00 2001 From: Akira Yamamoto <3007213+akirayamamoto@users.noreply.github.com> Date: Tue, 27 Oct 2026 09:57:24 +1100 Subject: [PATCH 8/9] Say the agent responses setting is advisory, not a security boundary Co-Authored-By: Claude Opus 5.5 --- .../manual-intervention-and-approvals.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md b/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md index ca80d0625a..1b29254b91 100644 --- a/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md +++ b/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md @@ -112,8 +112,8 @@ To pause only deployments or runbook runs started by an AI agent, set the step's #{if Octopus.Deployment.CreatedBy.ActorType == "Agent"}true#{/if} ``` -:::div{.hint} -Anyone who can edit the deployment process or runbook can change this setting, including an AI agent with that permission. +:::div{.warning} +**This setting is advisory, not a security boundary.** Anyone who can edit the deployment process or runbook can change this setting, including an AI agent with that permission. A project variable named `Octopus.Action.Manual.PreventAgentResponses` overrides this setting. Anyone who can edit project variables can use it to let AI agents respond. ::: From 8f6969ed1dc4d2d014122321b681f56730ddad77 Mon Sep 17 00:00:00 2001 From: Akira Yamamoto <3007213+akirayamamoto@users.noreply.github.com> Date: Tue, 27 Oct 2026 10:00:29 +1100 Subject: [PATCH 9/9] Say editors can turn the agent responses setting off or remove the step Co-Authored-By: Claude Opus 5.5 --- .../manual-intervention-and-approvals.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md b/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md index 1b29254b91..d5b3c9e612 100644 --- a/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md +++ b/src/pages/docs/projects/built-in-step-templates/manual-intervention-and-approvals.md @@ -113,7 +113,7 @@ To pause only deployments or runbook runs started by an AI agent, set the step's ``` :::div{.warning} -**This setting is advisory, not a security boundary.** Anyone who can edit the deployment process or runbook can change this setting, including an AI agent with that permission. +**This setting is advisory, not a security boundary.** Anyone who can edit the deployment process or runbook can turn this setting off or remove the step. This includes an AI agent with that permission. A project variable named `Octopus.Action.Manual.PreventAgentResponses` overrides this setting. Anyone who can edit project variables can use it to let AI agents respond. :::