Reading Claudee Code](/tools/claude-code/)'s source code turns out to be more useful than reading its documentation, at least when it comes to configuration.
A developer at Building Better Tech went through Claude Code's source and catalogued settings, hooks, and behavior flags that Anthropic hasn't surfaced in the official docs. The gap is larger than you'd expect for a tool that's been in active development for over a year.
The official documentation covers the basics: CLAUDE.md files for project-level instructions, settings.json for tool permissions, and a handful of environment variables. What it doesn't map out is the full surface area of those systems. The hooks feature, for instance, lets you fire shell commands at specific points in the Claude Code lifecycle - before a file edit, after a tool call, when the agent stops. The documentation acknowledges hooks exist but doesn't systematically document every trigger event or the full range of what you can do with them. The permissions system has more granularity than the docs imply; you can tune exactly which operations get auto-approved versus which prompt a confirmation click, which matters when you're running long tasks and don't want to manually approve every read or bash call.
Fast-moving developer tools almost always have this documentation lag problem. Code ships faster than writers can document it. For Claude Code specifically, though, the defaults are deliberately conservative - frequent prompts, cautious behavior, lots of friction - so knowing what's actually configurable is the difference between a tool that fits your workflow and one you're constantly fighting.
If you use Claude Code daily, the full breakdown at buildingbetter.tech is worth an hour of your time. Anthropic will document more of this eventually. But source code doesn't wait for the docs team.