Claude Code’s auto-mode permission system is internally called the “YOLO Classifier.” That’s the actual variable name in yoloClassifier.ts. And you can configure it with plain English descriptions of your environment, things like “this is a staging server, destructive operations are acceptable,” that the classifier reads to decide what’s safe to auto-approve. This isn’t in any documentation.
It’s one of dozens of undocumented capabilities buried in the Claude Code source code, which is sitting right there in your node_modules as a publicly distributed npm package. The official docs cover the basics well enough. But the source code reveals fields, response formats, and settings that dramatically expand what you can build. Everything here works right now, and every example is designed to be dropped into your project as-is.
A note on versioning: These findings come from @anthropic-ai/[email protected]. Undocumented features can change between releases, so treat this as a snapshot of what’s available today. Fields with “EXPERIMENTAL” in their names are explicitly flagged as unstable by Anthropic’s own engineers, and I’ll call those out individually.
Before you start
Quick reference for where everything lives:
Settings: ~/.claude/settings.json (personal) or .claude/settings.json (project, shared via git)
Skills: ~/.claude/skills/<name>/SKILL.md (personal) or .claude/skills/<name>/SKILL.md (project)
Agents: ~/.claude/agents/<name>.md (personal) or .claude/agents/<name>.md (project)
Hook scripts: ~/.claude/hooks/ is a good convention. Remember to chmod +x your scripts.
Project-level files in .claude/ can be committed to git and shared with your team. Personal files in ~/.claude/ are yours alone.
... continue reading