CLAUDE_CODE_RESTRICTED
A Claude Code environment variable, read out of the shipped bundle. It has been in the build since v2.1.248, including the newest one read.
New --restricted flag starts a locked-down session with no shell tools and no settings files.
Not Anthropic's. This is the line from the earliest changelog entry here that named it, v2.1.248.
In the changelogs
7Releases whose published page names CLAUDE_CODE_RESTRICTED.
-
v2.1.304
Restricted-mode startup check reworded with no change in behaviour
A startup check under
CLAUDE_CODE_RESTRICTEDgained an extra condition that cannot currently be true, so it behaves as beforefound in this entry's text, named in this entry
-
v2.1.295
New
CLAUDE_CODE_RESTRICT_PERSONAL_CONFIGmode restricts your own Claude Code filesSetting
CLAUDE_CODE_RESTRICT_PERSONAL_CONFIGstarts a session that restricts your own Claude Code files, alongside the other restricted modesfound in this entry's text
-
v2.1.248
New
--restrictedsession modeNew --restricted flag starts a locked-down session with no shell tools and no settings files.
named in this entry, found in this entry's text
-
v2.1.248
Restricted sessions drop implicit file allowances and cannot be talked out of a denial
Restricted sessions drop implicit file allowances, and a denial can't be argued away.
named in this entry, found in this entry's text
-
v2.1.248
Restricted sessions handled the same way whether set by flag or environment
Setting CLAUDE_CODE_RESTRICTED now restricts a session exactly as --restricted does.
named in this entry, found in this entry's text
-
v2.1.248
Auto-memory is off in restricted sessions
Restricted sessions never write auto-memory, regardless of your settings.
named in this entry, found in this entry's text
-
v2.1.248
More environment variables carried into remote sessions
More environment variables get carried into remote sessions; none are set by default.
named in this entry, found in this entry's text
First cited
1The earliest release whose published evidence quoted CLAUDE_CODE_RESTRICTED was v2.1.248, 27 Aug 2026. That is the oldest release this project wrote about it, so it is a floor on the name's age and not the release that introduced it. It is not a presence reading: which builds carried the name is the table below.
Presence across releases
1Build by build
51One row per release since the first build this name was read out of. Absent means the build was read and the name was not in it, never mined means no bundle for that release was ever archived, and a declared type or a default is only ever what that release's own bundle stated.
Read out of the published npm bundle release by release, and out of Anthropic's own documentation as this site captured it. Nothing on this page is a description anybody here wrote about what the environment variable does. All environment variables.