Claude/bypass permissions devcontainer#67
Conversation
Sets bypassPermissions via VS Code settings in devcontainer.json so the Claude extension runs in bypass mode only within a codespace. The CLI outside the codespace runs with default (normal) permissions. The deny list for destructive git/gh operations remains in settings.json. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Use the correct setting key claudeCode.initialPermissionMode instead of the non-existent claude.permissions key. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Both settings are needed: allowDangerouslySkipPermissions unlocks the mode, and initialPermissionMode sets it as the default for new sessions. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…'s the most critical
|
Claude finished @fynyky's task in 1m 40s —— View job Claude Code Review
SummaryThis PR moves the What I like
Issues1. The self-modification deny rules don't cover
|
|
@claude can you deal with the issues found in this pr |
|
Claude finished @fynyky's task in 5m 29s —— View job Tasks
What I changed
What I couldn't change (and why this is actually the system working correctly)I tried to apply the headline security fix — adding
This is the deny rule working as designed: I (Claude) am being prevented from rewriting my own permissions file from a non-interactive runner. The reviewer's point #1 is exactly right — the existing rules left This needs to be applied manually by you (@fynyky). Below is the exact content to put in {
"permissions": {
"deny": [
"Write(.claude/settings.json)",
"Write(.claude/settings.local.json)",
"Edit(.claude/settings.json)",
"Edit(.claude/settings.local.json)",
"MultiEdit(.claude/settings.json)",
"MultiEdit(.claude/settings.local.json)",
"NotebookEdit(.claude/settings.json)",
"NotebookEdit(.claude/settings.local.json)",
"Bash(git push --force*)",
"Bash(git push -f*)",
"Bash(git push origin --delete *)",
"Bash(git push *:master)",
"Bash(git push *:main)",
"Bash(git push *:release*)",
"Bash(git push *:refs/heads/master)",
"Bash(git push *:refs/heads/main)",
"Bash(git push *:refs/heads/release*)",
"Bash(gh pr merge *)",
"Bash(*.claude/settings.json*)",
"Bash(*.claude/settings.local.json*)"
]
}
}Changes vs. current HEAD:
Heads up: unstaged regressions on your working treeWhen I started this job,
I did not stage or commit any of those — but I also couldn't On review point #2 (VS Code setting keys)I can't verify these end-to-end from a CI runner — that requires actually opening the devcontainer and watching Claude Code start in bypass mode. The keys ( • Branch: |
Co-authored-by: fynyky <fynyky@users.noreply.github.com>
|
Claude finished @fynyky's task in 1m 12s —— View job Tasks
Re-review after
|
No description provided.