Summary
Even after selecting "Always allow" for Desktop Commander MCP tool calls in Codex Desktop, the approval prompt keeps appearing repeatedly for desktop-commander calls.
This looks like MCP approval is not being persisted (or not being reloaded), while shell prefix approvals are persisted normally.
Environment
- OS: Windows
- Codex Desktop client:
codex-mcp-client 0.119.0-alpha.28
- Desktop Commander MCP server:
0.2.38
- MCP server config:
command: cmd
args: /c npx -y @wonderwhy-er/desktop-commander@latest
- Workspace: trusted
Steps to Reproduce
- Use Codex Desktop with Desktop Commander MCP enabled.
- Trigger any Desktop Commander tool call (e.g.
list_directory, read_file).
- In approval popup, choose Always allow.
- Trigger another Desktop Commander tool call in same workspace/session.
Expected
No more approval popup for Desktop Commander MCP tool calls (at least for same server/workspace scope).
Actual
Approval popup appears again and again for Desktop Commander MCP tool calls.
Evidence
Evidence 1: rules/default.rules has no MCP persistent-approval entries
Search patterns for MCP-tool approval state in local rules file return no match:
mcp_tool_call_approval
ResolveElicitation
decision: Accept
always allow
remember
Only shell prefix_rule(...) entries are persisted there.
Evidence 2: logs_2.sqlite shows repeated non-persistent Accept decisions
Querying logs shows repeated entries of:
op: ResolveElicitation
server_name: "desktop-commander"
decision: Accept
Recent sample count: 6 rows, all decision=Accept.
This suggests approvals are treated as one-shot Accept, not durable "Always allow".
Notes
I already confirmed there is only one Desktop Commander MCP server configured (no duplicate server configs).
Summary
Even after selecting "Always allow" for Desktop Commander MCP tool calls in Codex Desktop, the approval prompt keeps appearing repeatedly for
desktop-commandercalls.This looks like MCP approval is not being persisted (or not being reloaded), while shell prefix approvals are persisted normally.
Environment
codex-mcp-client 0.119.0-alpha.280.2.38command: cmdargs: /c npx -y @wonderwhy-er/desktop-commander@latestSteps to Reproduce
list_directory,read_file).Expected
No more approval popup for Desktop Commander MCP tool calls (at least for same server/workspace scope).
Actual
Approval popup appears again and again for Desktop Commander MCP tool calls.
Evidence
Evidence 1:
rules/default.ruleshas no MCP persistent-approval entriesSearch patterns for MCP-tool approval state in local rules file return no match:
mcp_tool_call_approvalResolveElicitationdecision: Acceptalways allowrememberOnly shell
prefix_rule(...)entries are persisted there.Evidence 2:
logs_2.sqliteshows repeated non-persistent Accept decisionsQuerying logs shows repeated entries of:
op: ResolveElicitationserver_name: "desktop-commander"decision: AcceptRecent sample count: 6 rows, all
decision=Accept.This suggests approvals are treated as one-shot
Accept, not durable "Always allow".Notes
I already confirmed there is only one Desktop Commander MCP server configured (no duplicate server configs).