Granular approval options for terminal commands and MCP tool calls

Feature request for product/service

Cursor IDE

Describe the request

Approval prompts for terminal commands and MCP tool calls are too limited today. Adding more granular options would make it much easier to progressively enable auto-run as a project matures, without manually maintaining allowlists in rules files.

Terminal command approvals

When the agent requests to run a command, offer:

  • Allow always in this workspace/project
  • Allow globally (Cursor settings)
  • Allow for this session only

(Default approve-once behavior already covers “this time only”.)

MCP tool call approvals

When the agent requests an MCP tool call, offer scope options for this specific tool:

  • Allow this tool always in this workspace
  • Allow this tool globally
  • Allow this tool for this session only

Additionally for MCP:

  • Allow all tools from this MCP server always in this workspace
  • Allow all tools from this MCP server globally
  • Allow all tools from this MCP server for this session only

Workspace-scoped config in Git

The Allow always in this workspace option has an extra team benefit: for Git-tracked projects, persist approval rules in a configuration file under .cursor/ (alongside other project-level Cursor config). That file can be committed and pushed, so colleagues using Cursor inherit the same auto-run allowances for commands and MCP tools when they clone the repo — without each person re-approving the same build, test, and lint steps.

Why this helps

As development progresses, common build, test, and lint commands could be approved incrementally at the right scope. Over time the agent would run most routine checks automatically, instead of the user repeatedly approving or manually curating auto-run rules.

Stretch idea: agent-aware approved commands

Surface already-approved commands (and their scope) in agent context so the agent can prefer equivalent approved variants when possible. Example: if tail -n 20 is approved but the agent initially wants tail -n 25, it could choose the approved form when the outcome is the same — avoiding an unnecessary approval prompt.

This would significantly improve the day-to-day agent experience when working on a project.

Operating System (if it applies)

Linux

Hey, thanks for the detailed feature request. Some of what you’re describing already exists today, so you might be able to use it right now:

  • Terminal commands: there’s an Auto-Run command allowlist in Cursor Settings, where you can add commands globally.
  • MCP tool calls: the allowlist supports granular scopes, per-tool and per-server server:*.
  • Workspace config in Git: for CLI permissions you can use the project-level .cursor/cli.json or the global ~/.cursor/cli-config.json. Rules go in the permissions object using allow and deny arrays with syntax like Shell(cmd), Read(path), Write(path), Mcp(server:*). You can commit this file and share it with your team. See docs Permissions | Cursor Docs

What’s not available yet, and what you’re asking for:

  • Choosing the scope directly in the approval prompt for shell and MCP, this workspace, globally, or this session. Right now in the IDE you only get Run-once, Allowlist global, or Skip.
  • Having the IDE pick up a per-project allowlist from .cursor/, not only in the CLI.

Both are on our radar, but I can’t share an ETA. Similar requests are being discussed in threads 96309 Separate "Auto-run MCP" Option from "Enable auto-run mode" and 127741 Ability to override settings via cursor/ files (eg allowlist), feel free to add your use cases there.

The stretch idea about agent-aware matching of an already approved command variant, like using tail -n 20 instead of tail -n 25, is separate and interesting. I logged it separately.