豆豆友情提示:这是一个非官方 GitHub 代理镜像,主要用于网络测试或访问加速。请勿在此进行登录、注册或处理任何敏感信息。进行这些操作请务必访问官方网站 github.com。 Raw 内容也通过此代理提供。
Skip to content

MCP approval not persisted: 'Always allow' keeps prompting for desktop-commander #435

@jonathanzhan1975

Description

@jonathanzhan1975

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

  1. Use Codex Desktop with Desktop Commander MCP enabled.
  2. Trigger any Desktop Commander tool call (e.g. list_directory, read_file).
  3. In approval popup, choose Always allow.
  4. 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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions