ACP Agent Doesn't Use Auto-Review

Where does the bug appear (feature/product)?

Cursor CLI

Describe the Bug

When Cursor Agent runs through ACP, approvalMode: “auto-review” is ignored and non-allowlisted commands still require manual approval. The same commands run automatically with Auto-Review in native Cursor.

Steps to Reproduce

  1. Set “approvalMode”: “auto-review” in %USERPROFILE%.cursor\cli-config.json.

  2. Start a new Cursor Agent chat through ACP in PyCharm.

  3. Ask the agent to run: python -c “print(‘CURSOR_ALLOW_TEST’)”

  4. PyCharm prompts for permission.

  5. Run the same command in native Cursor with Auto-Review enabled.

  6. Native Cursor runs it without prompting.

Expected Behavior

Native Cursor and Cursor Agent through ACP in PyCharm should behave consistently: with Auto-Review enabled, the same command that runs without prompting in native Cursor should also run without prompting through ACP in PyCharm.

Operating System

Windows 10/11

Version Information

Native Cursor version: 3.19.13
PyCharm Cursor ACP Agent version: 2026.09.02-c22c1a3
JetBrains AI Assistant 262.9437.276

PyCharm 2026.2.1
Build #PY-262.9437.214, built on August 11, 2026
Source revision: e3fceeafe8ef7
Runtime version: 25.0.3+9-b508.16 amd64

For AI issues: which model did you use?

Composer 2.5

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hi @Russ_LeBar!

Thanks for flagging this! This is a known limitation of our current ACP implementation, and while it’s not on our immediate roadmap, it’s something we’d like to address down the line! Auto-review is a huge improvement over other run-mode options.

I’ve moved your post over to our Feature Requests section so other users can add their voices (and votes) to it!

Where does the bug appear? Cursor CLI

Describe the Bug
Over ACP (agent acp), the CLI applies neither the Auto-review classifier nor the sandbox. Only the static allowlist decides, so every command that isn’t allowlisted triggers session/request_permission, and approved commands run unsandboxed. The same config in agent -p works as documented. Earlier report, closed without a reply: ACP: `approvalMode: auto-review` classifier and `autoRun` instructions are ignored; auto-review degrades to plain allowlist and `.cursor/permissions.json` is never read

Steps to Reproduce
Use a minimal ACP client: initialize → authenticate (cursor_login) → session/new → session/prompt “run <cmd>”, logging every session/request_permission.

Auto-review:

  1. approvalMode: "auto-review", empty permissions.allow, and ~/.cursor/permissions.json containing only autoRun.allow_instructions: ["Always auto-run date and uname -a"].
  2. Start agent --auto-review acp and run date.
  3. Result: a permission request whose tool call content is “Shell allowlist is empty”. With terminalAllowlist: ["ls"], uname -a prompts with “Not in allowlist: uname”. The classifier never runs.
  4. The same config with agent -p --auto-review: date and uname -a auto-run, and touch ~/x is rejected per block_instructions. So the classifier works outside ACP.

Sandbox:

  1. Set sandbox.mode: "enabled" in cli-config.json, or pass --sandbox enabled.
  2. Over ACP, touch file-in-workspace asks for approval, with or without --auto-review.
  3. After allow-once, touch ~/outside-workspace succeeds, so the command ran outside the sandbox.
  4. With the same config, agent -p --sandbox enabled auto-runs the workspace write, and the write to ~ fails with “Operation not permitted”.

Expected Behavior
ACP sessions honor the configured Run Mode, as the CLI does: allowlisted calls run, sandboxable commands run in the sandbox, and the classifier, steered by autoRun, reviews the rest. ACP clients (T3 Code in my case) currently get a prompt for every command that isn’t allowlisted, including date.

Operating System: macOS (darwin arm64)

Version Information
CLI Version 2026.10.14-0f9edde (latest)

Model: Auto (routed to Grok 4.7 and GPT-5.6 Sol); not model-specific.

Additional Information
Allowlists in ~/.cursor/permissions.json are now read over ACP; the original report said they weren’t. Both terminalAllowlist and mcpAllowlist take effect. Commands joined with &&, | or ; auto-run when every part is allowlisted.

Does this stop you from using Cursor? No - Cursor works, but with this issue