OCDevel Claude Code Podcast

Permissions, settings.json, and plan mode: making one Claude Code session safe

Episode 1 got a session running. This one makes it safe to leave running. We cover the control surfaces that turn Claude Code from a sharp tool you babysit into one you actually trust. **Settings files and precedence.** The four scopes you touch (`~/.claude/settings.json`, `.claude/settings.json`, `.claude/settings.local.json`, and enterprise-managed settings), which file wins when they collide, and the catch that permission rules *merge* across layers instead of overriding, with deny always winning. See the [settings reference](https://code.claude.com/docs/en/settings). **The permission grammar.** Why rules are enforced by Claude Code, not the model, so CLAUDE.md is advice and permission rules are the fence. The allow/ask/deny lists and their deny-first evaluation order. Bash glob patterns and the space-before-star word boundary, compound-command parsing, wrapper stripping (and the `devbox run` footgun), and gitignore-style path anchors for Read/Edit/Write. From the [permissions reference](https://code.claude.com/docs/en/permissions). **Modes and the plan-to-act toggle.** default, acceptEdits, plan, plus auto, dontAsk, and the genuinely dangerous bypassPermissions (`--dangerously-skip-permissions`). The Shift+Tab cycle, the plan-mode workflow, and editing a proposed plan with Ctrl+G. See the [permission modes reference](https://code.claude.com/docs/en/permission-modes). **Slash commands a power user hits early.** /clear vs /compact, /context, /config (where the removed /vim moved), /model, /permissions, /cost (now an alias for /usage), /review and /code-review, and the safety net of the episode: /rewind and double-Esc, plus the [checkpointing](https://code.claude.com/docs/en/checkpointing) gotcha that bash-modified files aren't tracked. **The pitfall:** the overly broad `Bash(*)` allow rule, why argument-constraining Bash patterns are fragile, and the deny-curl-use-WebFetch pattern instead. If you've stopped seeing prompts but never wrote specific allow rules, that's your cue to open /permissions and find what's too wide.