Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.212 Home All releases olderv2.1.211 v2.1.213newer
Claude Code v2.1.212

CLAUDE_CODE_SIMPLE Environment Variable

New CLAUDE_CODE_SIMPLE environment variable for enabling a simplified mode.

Details
  • Activated by setting CLAUDE_CODE_SIMPLE=1 in the environment or by passing the --bare CLI flag; both paths go through cf(), which returns true for either.
  • When active, the following subsystems are disabled: CLAUDE.md reading, skills discovery, plugins, syntax-highlight language packs (hljsLanguages), hooks, MCP agent frontmatter, agent definitions, and LSP servers.
  • The following subsystems remain enabled in simple mode: workflows, themes, status line, file suggestions, auto-discovered MCP, Claude.ai MCP, output styles, and keybindings.
  • Authentication is narrowed to the minimum: OAuth (Claude.ai login) is bypassed entirely; only ANTHROPIC_API_KEY or an apiKeyHelper-sourced key is accepted. The normal managed-key and OAuth token paths return null.
  • Auto-memory (persistent write-after-turn memory) is unconditionally disabled regardless of other memory settings or the CLAUDE_CODE_DISABLE_AUTO_MEMORY env var.
  • Several background startup jobs are skipped: plugin hook setup and hot-reload, session file access hooks, release-notes prefetch, and memory extraction after turns.
  • In coordinator/multi-agent mode, worker tool guidance is abbreviated: workers are described as having access only to bash, computer-use, read/write tools, and connected MCP tools — the Skill and Workflow tools are omitted from the listing.
  • Forking is refused: /fork exits with "Cannot fork — this session was started with launch flags (safe or bare mode, a custom system prompt, a tool allowlist, or restricted settings) that the copy wouldn't inherit…"
Evidence

function cf() { return qt(process.env.CLAUDE_CODE_SIMPLE) || fsi("--bare"); } and the Ffg feature-disable map at ZT initialization (search for "CLAUDE_CODE_SIMPLE" and "Ffg")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

See this entry in the whole of v2.1.212 →