feat(connectors): support managed app tool approval requirements#21061
Merged
Conversation
Co-authored-by: Codex noreply@openai.com
Co-authored-by: Codex noreply@openai.com
Co-authored-by: Codex noreply@openai.com
mzeng-openai
reviewed
May 4, 2026
Co-authored-by: Codex noreply@openai.com
mzeng-openai
reviewed
May 7, 2026
mzeng-openai
approved these changes
May 7, 2026
Co-authored-by: Codex noreply@openai.com
…app-tool-requirements
bolinfest
reviewed
May 11, 2026
Collaborator
bolinfest
left a comment
There was a problem hiding this comment.
Something that I don't see referenced in this PR is the use of Constrained. Parsing requirements.toml and ensuring the appropriate values get creation is relatively easy, but ensuring that someone doesn't mutate that value later in a way that is disallowed by requirements.toml later is much harder. This is why we have Constrained<T> and it appears to me that we should be using it for the approval field.
Co-authored-by: Codex noreply@openai.com
bolinfest
approved these changes
May 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Managed requirements can already centrally disable apps, but they could not express the per-tool app approval rules that normal config already supports. That left admins without a way to enforce connector tool approvals through
/etc/codex/requirements.tomlor cloud requirements.What changed
approval_modeentries.tool.name, while user config keeps the existing raw-name-then-title convenience fallback.Configuration shape
Local
/etc/codex/requirements.tomland cloud requirements use the same TOML shape:This is a per-tool approval rule keyed by app ID and raw MCP tool name, not an app-level boolean such as
apps.connector_123123.approve = true.