You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[bug] v2 MCP: OpenAI connector rejects returned deployment, profile and approval IDs #2186
2.0.0-beta.8 (self-host Docker). Also reproduced on v2 at 828a680, built from source.
How do you run Executor?
Self-host (Docker)
Operating system
Linux
Integration involved
Executor's MCP server (skills, resume), used from Codex through a ChatGPT connected app
What happened
The connector rejects IDs that Executor returned:
Parameters failed connector schema validation: deployment [pattern]: String does not match pattern '^dpl_' (does not match constraints configured by your ChatGPT workspace admin. If the issue persists, instruct the user to contact their workspace admin.)
The same error occurs for skills.profile (^ins_) and resume.requestId (^apr_). As a result, clients can't pin a skill lookup to a deployment, choose a profile, or approve or decline a pending tool call.
Cause: Schema.isStartsWith emits prefix-only patterns (^dpl_, ^ins_, ^apr_, ^elc_) in the MCP input schemas. That is valid JSON Schema, but the connector matches pattern against the whole string. Fully anchored patterns pass, such as revision's ^[a-f0-9]{64}$. A direct MCP client accepts all of these IDs.
What you expected
IDs returned by Executor are accepted when passed back to skills and resume.
Steps to reproduce
Add the self-host MCP endpoint as a ChatGPT connected app and use it from Codex.
Call skills({}) and copy an entry's deployment and profile.
Call skills({app, deployment}) and skills({app, profile}). Both fail with the error above, while skills({app}) succeeds.
Call execute on a tool that requires approval, then resume({requestId, response: {action: "decline"}}). It fails against ^apr_.
Diagnostics / logs
Fixed by #2188, which emits whole-string patterns such as ^dpl_[\s\S]+$ and leaves server-side validation unchanged. I verified it through a real connector. On v2 828a680, steps 3 and 4 are rejected. On the PR branch they succeed, and a wrong-prefix ID is still rejected.
Before you submit
I searched the open issues for a duplicate.
I removed all keys, tokens, and credentials from this report.
changed the title [-][bug] v2 MCP: OpenAI connector rejects returned deployment and profile IDs[/-][+][bug] v2 MCP: OpenAI connector rejects returned deployment, profile and approval IDs[/+]on Oct 5, 2026
Activity
[-][bug] v2 MCP: OpenAI connector rejects returned deployment and profile IDs[/-][+][bug] v2 MCP: OpenAI connector rejects returned deployment, profile and approval IDs[/+]