Plan mode: every read-only Bash command still requires manual approval — no auto-approve option
Status Open
Reported on v2.1.218
Maintainer reply None cached
Workaround ✓ Mentioned in description ↑
Activity 3 comments · opened Jul 24, 2026
Description
Plan mode is designed for read-only exploration, but every Bash command the agent runs during exploration still triggers a manual permission prompt — git log, git show, python3 -c "..." over a JSON file, jq, etc. There is no way to tell Claude Code "auto-approve read-only commands while in plan mode", so a research-heavy planning session becomes a click-through of approval dialogs, which defeats the hands-off purpose of plan mode.
Steps to reproduce
- Start Claude Code and enter plan mode (shift+tab).
- Ask for a task that requires exploring data/repos, e.g. comparing data files across multiple repositories.
- The agent runs read-only shell commands (
git show,python3/jqto parse JSON,gh search). - Each new command pattern raises a permission prompt, even though plan mode already forbids the agent from making changes.
Expected behavior
Either:
- Plan mode auto-approves commands that are provably read-only (or at least common read-only patterns like
git log/show/diff,jq, interpreter one-liners that only read files), or - A "plan auto mode" toggle / setting (e.g.
permissions.planModeAutoApproveor cycling shift+tab) that auto-accepts tool calls while plan mode's read-only restriction stays enforced at the harness level.
Actual behavior
Every unlisted Bash pattern prompts individually. The only workarounds are per-pattern "don't ask again" approvals or manually maintaining an allowlist in .claude/settings.json, which has to be curated ahead of time and doesn't distinguish plan mode from normal mode.
Environment
- Claude Code version: 2.1.218
- Platform: macOS (Darwin 25.5.0)
- Permission mode: plan
3 Comments
@bcherny you going to just toss a tag on this, or are you going to address it?
I really love spending $200 to have to smack enter every second for 20 minutes straight.
It's like "the developers of this application don't listen to its customer base simulator".
If you think my response is snarky, it is. Because this issue was reported by many people, across many weeks, and it's unaddressed.
Stop slacking.
How is this still open?
@regedy1 @scrothers
RIGHT!!!