CLAUDE_CODE_PERFORCE_MODE
Updated by Alex Sorokoletov
CLAUDE_CODE_PERFORCE_MODE is a Claude Code environment variable: Activates Perforce VCS integration. The changelog[1] specifies: "when set, Edit/Write/NotebookEdit fail on read-only files with a p4 edit hint instead of silently overwriting them." Claude Code has been git-centric since launch, and Perforce is an unusual choice for the first alternative VCS. Added between v2.1.96 and v2.1.100 and still present in v2.1.294. It is listed in the official reference.
| Status | Present in v2.1.294 |
|---|---|
| Added | Added between v2.1.96 and v2.1.100 |
| Category | Other |
| Official docs | Listed |
How to set it
For one session, export it in the shell that starts Claude Code:
export CLAUDE_CODE_PERFORCE_MODE=<value>
claudeTo apply it to every session, add it to the env object of a settings file:
// ~/.claude/settings.json
{
"env": {
"CLAUDE_CODE_PERFORCE_MODE": "<value>"
}
}Release notes that mention it
- Claude Code v2.1.100 — 3 New Environment Variables: Context Token Limits, Perforce VCS, and Script Capability Controls
- Claude Code Version Tracker: Undocumented Env Vars, Feature Gates & Models
Related variables
CLAUDE_CODE_PLAN_MODE_INTERVIEW_PHASE: Enable interview phase in plan mode.CLAUDE_CODE_PLAN_MODE_REQUIRED: Require agents to use plan mode for all tasks.CLAUDE_CODE_SAFE_MODECLAUDE_REPL_MODE: Sets the operating mode for the REPL interface.CLAUDE_CODE_TODO_REMINDER_MODEANTHROPIC_BETAS: Comma-separated beta feature headers.ANTHROPIC_CUSTOM_HEADERS: Custom HTTP headers (newline-separated Key: Value).ANTHROPIC_FEDERATION_RULE_ID
Frequently asked questions
What does CLAUDE_CODE_PERFORCE_MODE do?
Activates Perforce VCS integration. The changelog[1] specifies: "when set, Edit/Write/NotebookEdit fail on read-only files with a p4 edit hint instead of silently overwriting them." Claude Code has been git-centric since launch, and Perforce is an unusual choice for the first alternative VCS.
Which Claude Code version has CLAUDE_CODE_PERFORCE_MODE?
Added between v2.1.96 and v2.1.100 and still present in v2.1.294.
How do I set CLAUDE_CODE_PERFORCE_MODE?
Export it before starting Claude Code (export CLAUDE_CODE_PERFORCE_MODE=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.