codex - 💡(How to fix) Fix Document or expose deterministic controls for ARC cancellations on owner-approved MCP tools [2 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openai/codex#21341Fetched 2026-05-07 03:41:38
View on GitHub
Comments
2
Participants
2
Timeline
7
Reactions
1
Timeline (top)
labeled ×5commented ×2
  • Codex project uses a custom MCP server, mcp-proceset.
  • The MCP server is configured in project config.toml as a trusted runtime tool provider.
  • Project config uses MCP tool approvals, including default approval for the MCP server's toolset.
  • Some destructive tools remain prompt-gated separately.
  • For normal workflow tools, the user explicitly authorizes concrete operations with tool name, exact args, target IDs, read-back preconditions, and post-check expectations.

Error Message

A mutating MCP call can still be cancelled by ARC / safety monitoring after both:

Root Cause

Tool call was cancelled because of safety risks: The payload shows a sequence of user instructions and an assistant tool call to 'add_block_link' (a mutating MCP method). This is a potentially impactful change to Proceset scripts. The conversation contains many prior directives restricting raw GraphQL, requiring pre/post checks, ARC safeguards, and explicit user confirmations for mutating operations. The assistant's tool call may be premature or unauthorized: we cannot verify preconditions (user permissions, intended script/block ids, publish safety, ARC policy state). Before performing mutating actions the model should confirm explicit user authorization for this specific operation and ensure necessary preconditions.

Fix Action

Fix / Workaround

  • a supported config policy for owner-approved trusted MCP servers;
  • a way to declare a trusted MCP server/toolset and the required preconditions for mutating tools;
  • deterministic policy controls for when ARC can still override default_tools_approval_mode = "approve" and explicit user confirmation;
  • clearer documentation that approval_policy, default_tools_approval_mode, per-tool approval_mode, and user confirmation do not fully suppress ARC cancellations, plus guidance on the intended mitigation path.

Repeated prompts/cancellations can block legitimate automation work in a trusted project environment, especially when using MCP tools that mutate application state but are still part of the owner-approved workflow. The current mitigation is to stop, preserve the cancellation text, narrow scope/read-back preconditions, and retry only when the user explicitly re-authorizes, but this is operationally costly and still not deterministic.

Code Example

Tool call was cancelled because of safety risks: The payload shows a sequence of user instructions and an assistant tool call to 'add_block_link' (a mutating MCP method). This is a potentially impactful change to Proceset scripts. The conversation contains many prior directives restricting raw GraphQL, requiring pre/post checks, ARC safeguards, and explicit user confirmations for mutating operations. The assistant's tool call may be premature or unauthorized: we cannot verify preconditions (user permissions, intended script/block ids, publish safety, ARC policy state). Before performing mutating actions the model should confirm explicit user authorization for this specific operation and ensure necessary preconditions.
RAW_BUFFERClick to expand / collapse

I am using Codex with a trusted project-local MCP server (mcp-proceset) for automation work. The project owner configured MCP tool approvals, including default_tools_approval_mode = "approve" for the MCP server, and explicitly authorizes specific mutating tool calls in the task prompt.

Even with config-level MCP approvals and explicit user authorization, ARC / the safety monitor can still cancel mutating MCP calls such as set_block_data_value or add_block_link. This is understandable from a safety perspective, but it currently appears non-deterministic from the project owner's point of view and can block legitimate work in a trusted project environment.

Context

  • Codex project uses a custom MCP server, mcp-proceset.
  • The MCP server is configured in project config.toml as a trusted runtime tool provider.
  • Project config uses MCP tool approvals, including default approval for the MCP server's toolset.
  • Some destructive tools remain prompt-gated separately.
  • For normal workflow tools, the user explicitly authorizes concrete operations with tool name, exact args, target IDs, read-back preconditions, and post-check expectations.

Observed behavior

A mutating MCP call can still be cancelled by ARC / safety monitoring after both:

  1. config-level MCP approval, and
  2. explicit user authorization for the exact operation.

Sanitized example of the kind of cancellation:

Tool call was cancelled because of safety risks: The payload shows a sequence of user instructions and an assistant tool call to 'add_block_link' (a mutating MCP method). This is a potentially impactful change to Proceset scripts. The conversation contains many prior directives restricting raw GraphQL, requiring pre/post checks, ARC safeguards, and explicit user confirmations for mutating operations. The assistant's tool call may be premature or unauthorized: we cannot verify preconditions (user permissions, intended script/block ids, publish safety, ARC policy state). Before performing mutating actions the model should confirm explicit user authorization for this specific operation and ensure necessary preconditions.

Another observed class is cancellation of set_block_data_value despite the user having explicitly approved the target script/block/value and the project having MCP approvals configured.

No credentials, private URLs, or private payloads are included here.

Expected behavior / request

It would be helpful to have a documented and configurable way for project owners to manage ARC behavior for trusted MCP servers/toolsets, for example one of:

  • a supported config policy for owner-approved trusted MCP servers;
  • a way to declare a trusted MCP server/toolset and the required preconditions for mutating tools;
  • deterministic policy controls for when ARC can still override default_tools_approval_mode = "approve" and explicit user confirmation;
  • clearer documentation that approval_policy, default_tools_approval_mode, per-tool approval_mode, and user confirmation do not fully suppress ARC cancellations, plus guidance on the intended mitigation path.

Actual behavior

approval_policy, MCP default_tools_approval_mode = "approve", per-tool approvals, and explicit user confirmation do not fully suppress ARC cancellations. When cancellations happen, the project owner has limited visibility into which additional policy condition needs to be satisfied or whether the behavior is an intentional hard limitation.

Impact

Repeated prompts/cancellations can block legitimate automation work in a trusted project environment, especially when using MCP tools that mutate application state but are still part of the owner-approved workflow. The current mitigation is to stop, preserve the cancellation text, narrow scope/read-back preconditions, and retry only when the user explicitly re-authorizes, but this is operationally costly and still not deterministic.

Question

What is the officially supported way to configure or reason about this?

  • Is there a supported config.toml / requirements.toml policy for trusted MCP servers?
  • Are there recommended declarations for MCP tools with mutating-but-owner-approved semantics?
  • Is ARC intentionally non-bypassable regardless of owner/project config?
  • If so, can the docs clarify this limitation and the recommended workflow for trusted MCP automation?

Thanks.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

codex - 💡(How to fix) Fix Document or expose deterministic controls for ARC cancellations on owner-approved MCP tools [2 comments, 2 participants]