{"version":"2.1.212","anchor":"claude-code-simple-environment-variable","canonical_anchor":"claude-code-simple-environment-variable","heading":"CLAUDE_CODE_SIMPLE Environment Variable","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.212\/e\/claude-code-simple-environment-variable","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.212","markdown":"### CLAUDE_CODE_SIMPLE Environment Variable\n\nNew `CLAUDE_CODE_SIMPLE` environment variable for enabling a simplified mode.\n\n**Details**\n\n- 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.\n- 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.\n- The following subsystems remain **enabled** in simple mode: workflows, themes, status line, file suggestions, auto-discovered MCP, Claude.ai MCP, output styles, and keybindings.\n- 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`.\n- Auto-memory (persistent write-after-turn memory) is unconditionally disabled regardless of other memory settings or the `CLAUDE_CODE_DISABLE_AUTO_MEMORY` env var.\n- Several background startup jobs are skipped: plugin hook setup and hot-reload, session file access hooks, release-notes prefetch, and memory extraction after turns.\n- 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 \u2014 the Skill and Workflow tools are omitted from the listing.\n- Forking is refused: `\/fork` exits with \"Cannot fork \u2014 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\u2026\"\n\n**Evidence**\n\n`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\"`)"}