A practical walkthrough of Claude Code permission modes for teams: what each mode allows, how to switch and default them, protected paths, and how administrators enforce or lock modes with managed settings.
bypassPermissions skips permission prompts and safety checks and should only run in isolated containers or VMs, never on a developer's primary machine., auto mode reduces prompts via a background classifier but is a research preview and is not a guarantee of safety; keep review on sensitive operations., Protected paths (such as .git, .claude, and shell config files) are never auto-approved except under bypassPermissions; preserve that boundary., Administrators can disable auto mode and bypassPermissions with managed settings (disableAutoMode, disableBypassPermissionsMode) so individuals cannot enable them.
Privacy notes
Permission modes govern tool execution, not data flow; code and context are still sent to the model provider regardless of mode., Looser modes let Claude run more commands unattended, widening what could touch local files or credentials; scope accordingly., Managed settings are the place to enforce mode policy centrally without exposing individual developer configuration.
Author
JPette1783
Submitted by
JPette1783
Claim status
unclaimed
Last verified
2026-06-05
Decision playbook
Review trust signals before you adopt
Signals are present but mixed. Use the checklist below to confirm the source and operational safety for your environment.
Compare context
Selected
0
Current score
63
Baseline
—
Delta
No baseline selected
No major trust-signal divergence detected in the current selection.
Source and provenance checks
Needs review
Confirm ownership and provenance before trusting install instructions.
Source link availableRequired
Open the canonical repository and verify ownership.
Done
Source provenance statusRequired
Marked as source-backed.
Done
Metadata reviewed
No reviewed flag detected in metadata.
Pending
Safety and privacy checks
Complete
Validate risk disclosures before installation or API wiring.
Safety notes presentRequired
Review the listed safety guidance before running commands.
Done
Privacy notes presentRequired
Review data handling notes before connecting accounts or secrets.
Done
Trust level risk gateRequired
Trust level does not block evaluation.
Done
Package and install checks
Needs review
Check package metadata and artifact integrity signals.
Install payload available
Install or copy payload is available for review.
Done
Package verification flag
No package verification flag provided.
Pending
Checksum metadata
No checksum provided for downloaded artifact.
Pending
Compare-driven decision checks
Needs review
Use compare context to validate trade-offs before adoption.
Compare tray has multiple entries
Add at least one more entry to compare trust differences.
4 safety and 3 privacy notes across 3 risk areas. Review closely: credentials & tokens, permissions & scopes.
3 areas
SafetyPermissions & scopesbypassPermissions skips permission prompts and safety checks and should only run in isolated containers or VMs, never on a developer's primary machine.
SafetyGeneralauto mode reduces prompts via a background classifier but is a research preview and is not a guarantee of safety; keep review on sensitive operations.
SafetyPermissions & scopesProtected paths (such as .git, .claude, and shell config files) are never auto-approved except under bypassPermissions; preserve that boundary.
SafetyPermissions & scopesAdministrators can disable auto mode and bypassPermissions with managed settings (disableAutoMode, disableBypassPermissionsMode) so individuals cannot enable them.
PrivacyPermissions & scopesPermission modes govern tool execution, not data flow; code and context are still sent to the model provider regardless of mode.
PrivacyCredentials & tokensLooser modes let Claude run more commands unattended, widening what could touch local files or credentials; scope accordingly.
PrivacyGeneralManaged settings are the place to enforce mode policy centrally without exposing individual developer configuration.
Safety notes
bypassPermissions skips permission prompts and safety checks and should only run in isolated containers or VMs, never on a developer's primary machine.
auto mode reduces prompts via a background classifier but is a research preview and is not a guarantee of safety; keep review on sensitive operations.
Protected paths (such as .git, .claude, and shell config files) are never auto-approved except under bypassPermissions; preserve that boundary.
Administrators can disable auto mode and bypassPermissions with managed settings (disableAutoMode, disableBypassPermissionsMode) so individuals cannot enable them.
Privacy notes
Permission modes govern tool execution, not data flow; code and context are still sent to the model provider regardless of mode.
Looser modes let Claude run more commands unattended, widening what could touch local files or credentials; scope accordingly.
Managed settings are the place to enforce mode policy centrally without exposing individual developer configuration.
Prerequisites
Claude Code installed for each team member.
Access to user settings (~/.claude/settings.json) and, for org enforcement, managed settings.
A shared understanding of which work is sensitive enough to require manual review.
Schema details
Install type
copy
Troubleshooting
Yes
Full copyable content
## Overview
Permission modes control how often Claude Code pauses to ask before it edits a
file, runs a command, or makes a network request. For a team, the mode policy is
the main lever between fast, uninterrupted work and careful oversight. This guide
explains each mode, how to switch and default them, what protected paths
guarantee, and how administrators enforce policy.
## The modes
| Mode | Runs without asking | Best for |
| --- | --- | --- |
| `default` | Reads only | Getting started, sensitive work |
| `acceptEdits` | Reads, file edits, common filesystem commands | Iterating on code you review afterward |
| `plan` | Reads only (proposes changes) | Exploring before changing |
| `auto` | Everything, with background safety checks | Long tasks, fewer prompts |
| `dontAsk` | Only pre-approved tools | Locked-down CI and scripts |
| `bypassPermissions` | Everything | Isolated containers and VMs only |
In every mode except `bypassPermissions`, writes to protected paths are never
auto-approved.
## Switch modes
- During a session, press `Shift+Tab` to cycle `default` -> `acceptEdits` ->
`plan`. The current mode shows in the status bar.
- At startup, pass a flag: `claude --permission-mode plan`.
- As a default, set `defaultMode` in settings:
```json
{
"permissions": {
"defaultMode": "acceptEdits"
}
}
```
`auto`, `dontAsk`, and `bypassPermissions` are not in the default cycle; they are
enabled with their own flags or settings.
## Layer permission rules
Modes set the baseline. Layer `allow`, `ask`, and `deny` permission rules on top
to pre-approve or block specific tools in any mode except `bypassPermissions`.
For an action that must never run, an explicit `deny` rule is stronger than any
mode.
## Protected paths
Writes to `.git`, `.claude` (except its worktrees directory), `.vscode`, shell
config files, package-manager config, and similar are never auto-approved unless
you are in `bypassPermissions`. This guards repository state and Claude Code's
own configuration from accidental corruption.
## Governing modes across a team
- **Default policy**: set `permissions.defaultMode` in user settings for
individuals, or in managed settings for the organization.
- **auto mode**: an admin must enable it on Team and Enterprise before users can
turn it on, and it can be locked off with `permissions.disableAutoMode` set to
`"disable"` in managed settings. Note `defaultMode: "auto"` is ignored from
project and local settings so a repository cannot grant itself auto mode.
- **bypassPermissions**: block it with `permissions.disableBypassPermissionsMode`
set to `"disable"` in managed settings, and reserve it for disposable
containers.
## Recommended team posture
1. Default new repositories to `default` or `plan`.
2. Use `acceptEdits` for active, reviewed iteration where you check diffs after.
3. Reserve `auto` for trusted, well-scoped tasks, and keep deny rules in place.
4. Disallow `bypassPermissions` on developer machines via managed settings.
## Troubleshooting
- If `auto` does not appear, the account or provider may not meet its
requirements, or an admin has disabled it.
- If `defaultMode: "auto"` seems ignored, it is likely in project/local settings;
move it to user or managed settings.
## Source
- Claude Code permission modes: https://code.claude.com/docs/en/permission-modes
About this resource
Overview
Permission modes control how often Claude Code pauses to ask before it edits a
file, runs a command, or makes a network request. For a team, the mode policy is
the main lever between fast, uninterrupted work and careful oversight. This guide
explains each mode, how to switch and default them, what protected paths
guarantee, and how administrators enforce policy.
The modes
Mode
Runs without asking
Best for
default
Reads only
Getting started, sensitive work
acceptEdits
Reads, file edits, common filesystem commands
Iterating on code you review afterward
plan
Reads only (proposes changes)
Exploring before changing
auto
Everything, with background safety checks
Long tasks, fewer prompts
dontAsk
Only pre-approved tools
Locked-down CI and scripts
bypassPermissions
Everything
Isolated containers and VMs only
In every mode except bypassPermissions, writes to protected paths are never
auto-approved.
Switch modes
During a session, press Shift+Tab to cycle default -> acceptEdits ->
plan. The current mode shows in the status bar.
At startup, pass a flag: claude --permission-mode plan.
auto, dontAsk, and bypassPermissions are not in the default cycle; they are
enabled with their own flags or settings.
Layer permission rules
Modes set the baseline. Layer allow, ask, and deny permission rules on top
to pre-approve or block specific tools in any mode except bypassPermissions.
For an action that must never run, an explicit deny rule is stronger than any
mode.
Protected paths
Writes to .git, .claude (except its worktrees directory), .vscode, shell
config files, package-manager config, and similar are never auto-approved unless
you are in bypassPermissions. This guards repository state and Claude Code's
own configuration from accidental corruption.
Governing modes across a team
Default policy: set permissions.defaultMode in user settings for
individuals, or in managed settings for the organization.
auto mode: an admin must enable it on Team and Enterprise before users can
turn it on, and it can be locked off with permissions.disableAutoMode set to
"disable" in managed settings. Note defaultMode: "auto" is ignored from
project and local settings so a repository cannot grant itself auto mode.
bypassPermissions: block it with permissions.disableBypassPermissionsMode
set to "disable" in managed settings, and reserve it for disposable
containers.
Recommended team posture
Default new repositories to default or plan.
Use acceptEdits for active, reviewed iteration where you check diffs after.
Reserve auto for trusted, well-scoped tasks, and keep deny rules in place.
Disallow bypassPermissions on developer machines via managed settings.
Troubleshooting
If auto does not appear, the account or provider may not meet its
requirements, or an admin has disabled it.
If defaultMode: "auto" seems ignored, it is likely in project/local settings;
move it to user or managed settings.
Show that Permission Modes for Claude Code Teams is listed on HeyClaude. Paste this Markdown into your README — it renders the badge and links back to this page.
[](https://heyclau.de/entry/guides/permission-modes-for-claude-code-teams)
How it compares
Permission Modes for Claude Code Teams side by side with 3 alternatives on trust, install, platform support, and disclosed safety notes — all from reviewed registry metadata.
2 trust signals differ across this comparison (Source provenance, Submitter).
A practical walkthrough of Claude Code permission modes for teams: what each mode allows, how to switch and default them, protected paths, and how administrators enforce or lock modes with managed settings.
Source-backed checklist for reviewing Claude Code MCP client configuration before a team rollout, covering scopes, transports, commands, secrets, allowlists, denylists, approvals, and rollback.
Secure Claude Code hooks in shared repositories: version-control hook configs, code review for PreToolUse and PostToolUse scripts, least-privilege matchers, secret scanning, and rollback when hook behavior changes.
✓bypassPermissions skips permission prompts and safety checks and should only run in isolated containers or VMs, never on a developer's primary machine.
auto mode reduces prompts via a background classifier but is a research preview and is not a guarantee of safety; keep review on sensitive operations.
Protected paths (such as .git, .claude, and shell config files) are never auto-approved except under bypassPermissions; preserve that boundary.
Administrators can disable auto mode and bypassPermissions with managed settings (disableAutoMode, disableBypassPermissionsMode) so individuals cannot enable them.
✓Hard-deny rules block regardless of user intent or allow exceptions—misconfiguration can halt legitimate workflows.
Auto mode classifiers can still fail open with evaluation errors; hard deny is not a substitute for branch protection and CI gates.
Do not rely on auto mode alone for secrets handling; deny credential reads and outbound bulk transfers explicitly.
✓Local stdio MCP servers execute commands with the user's privileges, so review the exact command, arguments, package runner, file paths, and network behavior before sharing a config.
Remote MCP servers can expose model-controlled tools for production systems; require least-privilege scopes, explicit approval for write tools, and a rollback path before team rollout.
Do not rely on server names alone for enforcement because names are user-assigned labels; use command or URL allowlist entries when policy must control what actually runs.
✓Hooks run shell commands on developer machines with user privileges—treat hook scripts like production code.
PreToolUse hooks can block or rewrite tool calls; misconfiguration can halt all agent work.
Never commit secrets into hook env blocks—use secret managers or local-only overrides.
Privacy notes
✓Permission modes govern tool execution, not data flow; code and context are still sent to the model provider regardless of mode.
Looser modes let Claude run more commands unattended, widening what could touch local files or credentials; scope accordingly.
Managed settings are the place to enforce mode policy centrally without exposing individual developer configuration.
✓Auto mode classifiers evaluate tool names, arguments, and session context that may include file paths and repository metadata.
Denial messages and debug logs can retain snippets of blocked commands; restrict log access on shared machines.
Managed settings sync may expose rule text to all enrolled clients—avoid embedding internal codenames you do not want widely visible.
✓MCP client configuration can reveal server URLs, internal hostnames, command paths, environment-variable names, header names, OAuth client IDs, and tool availability.
Do not store API keys, bearer tokens, client secrets, tenant IDs, or personal credentials in shared `.mcp.json`, managed-mcp.json, PR bodies, issue comments, logs, or screenshots.
Tool arguments, tool results, resources, prompts, logs, traces, and OAuth metadata can expose private repositories, tickets, databases, user identities, and workspace data.
✓Hook logs may capture file paths, command text, and tool arguments from sessions.
Shared hook configs should avoid customer identifiers in example matchers.
Disable verbose hook logging before exporting transcripts externally.
Prerequisites
Claude Code installed for each team member.
Access to user settings (~/.claude/settings.json) and, for org enforcement, managed settings.
A shared understanding of which work is sensitive enough to require manual review.
Claude Code with auto mode available on your provider and organization policy.
Permission to edit project or managed settings.json for the target repositories.
A list of actions that must never run without explicit human approval.
Pilot engineers who can trigger both allowed and blocked auto mode actions safely.
A draft `.mcp.json`, `~/.claude.json` entry, plugin-provided MCP server, claude.ai connector plan, or managed-mcp.json deployment to review.
The server documentation, package or repository source, expected transport, command or URL, environment variables, headers, OAuth behavior, and tool list.
A test machine or disposable Claude Code profile where the configuration can be loaded with non-production data.
A named owner who can approve the rollout, publish the final configuration, and revoke credentials or block servers if the rollout fails.
Ability to edit project or managed settings.json hook blocks.
CODEOWNERS or security review path for hook script changes.
Inventory of tools hooks may block, modify, or log.
Staging repo to test hook behavior before org-wide rollout.