{"version":"2.1.323","anchor":"effort-level-env-override-now-produces-an-explanatory-messag","canonical_anchor":"effort-level-env-override-now-produces-an-explanatory-messag","heading":"Claude Code explains when CLAUDE_CODE_EFFORT_LEVEL overrides the effort you ask for","tier":"notice","area":"Elsewhere","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323\/e\/effort-level-env-override-now-produces-an-explanatory-messag","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323","markdown":"### Claude Code explains when CLAUDE_CODE_EFFORT_LEVEL overrides the effort you ask for\n\nIf you ask for an effort level and CLAUDE_CODE_EFFORT_LEVEL overrides it, Claude Code now says the level is set by that variable\n\n**What**\n\nEffort is how much work Claude puts into a reply. Claude Code now compares the effort level you asked for with the one actually in use. When the `CLAUDE_CODE_EFFORT_LEVEL` environment variable is overriding your request, it produces a message saying the level is set by `CLAUDE_CODE_EFFORT_LEVEL`. An environment variable is a setting given to Claude Code from outside it, usually in your shell. Before, this override happened silently.\n\nWorking out the effort level now also normalizes the model name first.\n\n**Why**\n\nIf you change the effort level while `CLAUDE_CODE_EFFORT_LEVEL` is set, Claude Code now tells you why nothing changed. Unset the variable to let your own choice take effect.\n\n- Area: Elsewhere\n- Names: `CLAUDE_CODE_EFFORT_LEVEL`\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}