Skip to content

[ez][codex-rs] Support apps._default.default_tools_approval_mode#27965

Merged
zamoshchin-openai merged 8 commits into
mainfrom
dev/alexz/apps-default-tool-approval-mode
Jun 17, 2026
Merged

[ez][codex-rs] Support apps._default.default_tools_approval_mode#27965
zamoshchin-openai merged 8 commits into
mainfrom
dev/alexz/apps-default-tool-approval-mode

Conversation

@zamoshchin-openai

Copy link
Copy Markdown
Contributor

[from codex]

Summary

  • add default_tools_approval_mode to [apps._default] and expose it through app-server v2 config/read
  • apply it after managed, per-tool, and per-app approval settings, before the built-in auto fallback
  • document the precedence, regenerate config/app-server schemas, and add unit plus end-to-end approval coverage

Configuration

[apps._default]
default_tools_approval_mode = "prompt"

The effective precedence is managed requirements, tool-specific approval_mode, app-specific default_tools_approval_mode, apps._default.default_tools_approval_mode, then auto.

Test plan

  • just write-config-schema
  • just write-app-server-schema
  • just write-app-server-schema --experimental
  • just test -p codex-core app_tool_policy
  • just test -p codex-core mcp_turn_metadata
  • just test -p codex-config
  • just test -p codex-app-server-protocol
  • just test -p codex-app-server config_read_includes_apps
  • just fix -p codex-config -p codex-core -p codex-app-server-protocol -p codex-app-server
  • just fmt

@zamoshchin-openai
zamoshchin-openai requested a review from a team as a code owner June 12, 2026 22:20
let approval = managed_approval
.or_else(|| tool_config.and_then(|tool| tool.approval_mode))
.or_else(|| app.and_then(|app| app.default_tools_approval_mode))
.or_else(|| {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we avoid applying apps._default when connector_id is missing? Execution re-looks metadata up from the mutable Apps cache, so an already-registered handler can lose its connector after a hard refresh

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@zamoshchin-openai
zamoshchin-openai merged commit c78911e into main Jun 17, 2026
31 checks passed
@zamoshchin-openai
zamoshchin-openai deleted the dev/alexz/apps-default-tool-approval-mode branch June 17, 2026 15:50
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 17, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants