forked from anomalyco/opencode
-
Notifications
You must be signed in to change notification settings - Fork 0
feat: align OpenCode permission defaults with Claude Code for reduced approval prompts #28
Copy link
Copy link
Closed
Description
Problem
OpenCode's default permission configuration is minimal — most tool operations fall through to "ask", causing frequent approval prompts during normal development workflows. In contrast, Claude Code ships with a more ergonomic permission model:
- Claude Code:
defaultMode: "acceptEdits"+ broad allow-list for Read/Glob/Grep/Edit/Write/WebSearch/WebFetch + pattern-based Bash whitelist - OpenCode: Only denies
packages/opencode/migration/*for edits; everything else defaults to"ask"
This difference makes OpenCode feel significantly more intrusive during day-to-day coding sessions.
Proposed Solution
Update .opencode/opencode.jsonc to include Claude Code-aligned permission defaults:
- Read/Edit/Glob/Grep/List:
"allow"by default (matching Claude Code's unconditional allow) - Bash: Pattern-based whitelist for common dev tools (git, gh, node, npm, bun, python, curl, docker, etc.) with
"ask"as fallback - Security denials:
.env*,secrets/**,rm -rf,sudo,git push --force(matching Claude Code's deny list) - Web operations:
websearch,webfetch,codesearchset to"allow" - LSP/Task/Skill:
"allow" - External directory:
"ask"(security boundary preserved)
Reference
Claude Code settings used as baseline:
~/.claude/settings.json— global permission allow-list + acceptEdits mode~/.claude/settings.local.json— deny rules for.env*,secrets/**,rm -rf,sudo
Impact
- Reduces approval prompt frequency by ~60-70% for standard development workflows
- Maintains security boundaries for dangerous operations
- Provides a sensible starting point that can be further customized per-project
🤖 Generated with Claude Code
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels