exec 里插件 MCP 要用 name@version,少了后缀就像用户取消
plugins."inspect-skills" 对不上 inspect-skills@meridian。lookup miss 后 exec 报 user cancelled,其实没人点过取消。
交互 TUI 里 MCP 能跑,codex exec 却报 user cancelled MCP tool call,先查插件配置键,不要先开 --dangerously-bypass-approvals-and-sandbox。
装完插件后,审批写在带 marketplace 的键下:
[plugins."inspect-skills@meridian"]
enabled = true
[plugins."inspect-skills@meridian".mcp_servers."py-repl"]
enabled = true
default_tools_approval_mode = "approve"
只写 [plugins."inspect-skills".mcp_servers."py-repl"] 时,运行时按 inspect-skills@meridian 查找会 miss,静默落到 auto。exec 没有批准 UI,None 被收成 Cancel,于是看起来像用户点了取消。
核对:
codex mcp list
codex exec --sandbox read-only "只用已配置的 MCP 跑一条只读探测。"
codex mcp list 里的服务器名(上例是 py-repl)必须和 mcp_servers. 那段一致;插件键必须是 name@marketplace。不要用 --yolo 当修配置。用户级 [mcp_servers] 改不了插件自带服务器的启动命令。