CLAUDE_CODE_AUTO_MODE_EXTERNAL_PERMISSIONS
Updated by Alex Sorokoletov
CLAUDE_CODE_AUTO_MODE_EXTERNAL_PERMISSIONS is a Claude Code environment variable: Hands permission decisions to an external policy engine instead of the built-in prompt. This is the hook an enterprise needs to enforce its own approval rules on autonomous edits. Added between v2.1.143 and v2.1.212 and still present in v2.1.294. It is not in the official reference.
| Status | Present in v2.1.294 |
|---|---|
| Added | Added between v2.1.143 and v2.1.212 |
| Category | Permissions and sandbox |
| Official docs | Not listed |
How to set it
For one session, export it in the shell that starts Claude Code:
export CLAUDE_CODE_AUTO_MODE_EXTERNAL_PERMISSIONS=<value>
claudeTo apply it to every session, add it to the env object of a settings file:
// ~/.claude/settings.json
{
"env": {
"CLAUDE_CODE_AUTO_MODE_EXTERNAL_PERMISSIONS": "<value>"
}
}Release notes that mention it
Related variables
CLAUDE_CODE_AUTO_MODE_CLASSIFY_EDITS: Turns the classification pass on: every edit runs through the classifier before it touches disk.CLAUDE_CODE_AUTO_MODE_EDIT_REMOVAL: Governs whether Auto mode may delete content as part of an edit.CLAUDE_CODE_AUTO_MODE_EDIT_REMOVAL_CAP: Caps how much a single autonomous edit can remove before it's held for a human.CLAUDE_CODE_AUTO_MODE_GIT_STATUS: Feeds the working tree's git status into the classifier's context.CLAUDE_CODE_AUTO_MODE_GIT_STATUS_LIMIT: Bounds how much of that status is included, so the classifier prompt doesn't balloon in large or messy repos.CLAUDE_CODE_AUTO_MODE_GIT_STATUS_UPLOADS: Controls whether git-status context is uploaded to the classification service.CLAUDE_CODE_AUTO_MODE_OUTCOME_CODES: Structured outcome codes for the classifier's verdicts instead of free text.CLAUDE_CODE_AUTO_MODE_REPO_VISIBILITY: Lets behavior depend on whether the repo is public or private.
Frequently asked questions
What does CLAUDE_CODE_AUTO_MODE_EXTERNAL_PERMISSIONS do?
Hands permission decisions to an external policy engine instead of the built-in prompt. This is the hook an enterprise needs to enforce its own approval rules on autonomous edits.
Which Claude Code version has CLAUDE_CODE_AUTO_MODE_EXTERNAL_PERMISSIONS?
Added between v2.1.143 and v2.1.212 and still present in v2.1.294.
How do I set CLAUDE_CODE_AUTO_MODE_EXTERNAL_PERMISSIONS?
Export it before starting Claude Code (export CLAUDE_CODE_AUTO_MODE_EXTERNAL_PERMISSIONS=value), or add it to the "env" object in ~/.claude/settings.json to apply it to every session.
All variables, searchable: Claude Code environment variables.