Why the defaults fail
Most teams trialled the defaults, not the tool
Anthropic ships between 60 and 100 updates to Claude Code every single day. If your team set it up three months ago and has not touched the configuration since, you are running a materially different tool to what is available now — and probably leaving significant capability on the table.
The villain here is not Claude Code. It is the combination of AI hype that convinces teams a tool installs and works, and the absence of the configuration that should follow. Most consultancies that “tried Claude Code” trialled the out-of-the-box defaults. If it did not stick, the defaults are almost certainly the reason — senior developers burning API budget they did not know was accumulating, or partners quietly unsure whether their team is getting the same results as competitors who figured this out earlier.
The 10 features below consistently make the biggest difference for consultancy teams. Every one has been tested on real client work.
The highest-leverage file
CLAUDE.md is the most important file in your repository
Claude reads a file called CLAUDE.md at the start of every session — think of it as a persistent system prompt baked into your repository. There is a hierarchy: a global file in your home directory for personal preferences, a project-root file committed to Git, and local overrides. The project-root file is the one that matters for teams, because every developer reads it automatically from their first session.
Done properly, CLAUDE.md is how new team members inherit institutional knowledge from their first session — no separate onboarding document required.
Put your tech stack, folder structure, exact build, test, and lint commands, your coding conventions, and any critical operational rules — things like “never commit the .env file” or “always validate webhook signatures.” Keep it under 500 lines; beyond that, instruction quality degrades. Run /init to generate a starter file, then refine it manually. Anthropic explicitly advises against auto-generating it and leaving it unchanged. Commit it to version control and review it quarterly.
The four-figure gap
The billing trap that could cost you thousands
Open your terminal and run:
env | grep ANTHROPIC
If you see ANTHROPIC_API_KEY, you have a problem. When Claude Code detects an Anthropic API key as an environment variable, it bills against that key at pay-as-you-go API rates — even if you have an active Pro or Max subscription. It does not warn you.
One developer tracked 2,011 sessions over a single month. API cost: over $5,600. The same usage on the Max plan: roughly $100. Same work, same output, 56 times the cost. Remove that key from your environment immediately, run /status inside Claude Code to confirm your authentication method, and use /cost to track spend per session in real time. For team planning, Team Standard is $25 per user per month and Team Premium is $125 — for a 15-person consultancy with five developers, that is roughly $500 to $625 per month on Premium, with full cost predictability.
Move faster
Shortcuts nobody mentions, and context you control
Three keyboard shortcuts will change how your team works:
- Shift + Tab cycles between Normal mode, Auto Accept, and Plan mode. Plan mode lets Claude analyse and propose changes without modifying anything — explore an approach, then switch to Auto Accept when you are confident.
- /btw lets you ask a question and get an answer without interrupting your conversation history — quick syntax checks and references without derailing the main task.
- Ctrl + G opens your system text editor for composing prompts, far more practical than a terminal input line for complex multi-paragraph instructions.
A few more: Escape stops a mid-action but preserves context, Double Escape opens the rewind menu, an exclamation mark at the start of an input runs a shell command and injects the output, and @ gives file-path autocomplete.
Context is where most teams waste money and get worse results at the same time. Every message, file, tool definition, and response accumulates in the context window. With Opus 4.6 on Max or Team plans you have up to one million tokens — but at around 70% utilisation precision starts to drop, at 85% the hallucination rate increases, and at roughly 83.5% auto-compaction kicks in and lossily compresses your conversation into a summary. The better approach: run /compact manually at around 50% with focus instructions (for example, /compact – focus on the API refactoring and ignore the CSS discussions), use /clear between unrelated tasks, add a .claudeignore file for node_modules, dist, logs and build artefacts, use /effort low for straightforward edits, and run /context for a colour-coded breakdown of what is consuming your window.
Connect and constrain
MCP integrations, deterministic hooks, and your team’s playbook
MCP — Model Context Protocol — is Anthropic’s open standard for connecting AI to external tools and data. In practice, Claude Code can query your database, search Slack channels, create Jira tickets, and read Google Drive documents through natural language without leaving the terminal. Setup is a single command:
claude mcp add github --token YOUR_GITHUB_TOKEN -- npx @modelcontextprotocol/server-github
Commit an mcp.json file to your repository root so every developer who clones the repo gets the same integrations. The highest-value ones for consultancies are GitHub for pull request reviews and issues, Slack for searching client channels, PostgreSQL or Supabase for natural-language database queries, and Jira or Linear for ticket management. MCP tool search has been on by default since version 2.1.7, loading tool definitions on demand for an 85% reduction in context consumption — so a dozen servers carry no meaningful penalty. Custom wrappers around a CRM or time-tracking tool typically take 50 to 100 lines of Python using the official SDK.
Where MCP connects, hooks constrain. Claude Code hooks are shell commands that fire at specific lifecycle points and, unlike probabilistic prompting, execute the same way every time. There are 12 hook events; the workhorses are PreToolUse (exit code 2 blocks an action, zero allows it) and PostToolUse. Three hooks every team should deploy immediately:
- An automatic linter that runs after every file edit, so you never commit unlinted code through Claude again.
- A security gate that inspects bash commands before they run, blocking destructive ones such as
rm -rf, curl calls to external endpoints, and sudo. - A pre-commit quality gate that runs your test suite and type checker before any git command Claude attempts.
For enterprise governance, PostToolUse hooks can send request metadata to your security system for audit logging. To encode the rest of your playbook, create a .claude/commands/ directory — a markdown file like deploy.md becomes /deploy staging, where the argument fills a placeholder. Skills live in .claude/skills/ with YAML front matter and are model-invoked: Claude decides when to use them based on your description. Both are shareable via Git, which is how code review checklists, deployment procedures, and security guidelines live in the repository rather than in each developer’s head.
Governance and automation
Managed settings, headless CI/CD, and agent teams
Managed settings are configuration files individual developers cannot override, deployed through an admin console, MDM tools such as Jamf or Kandji, or a system-wide JSON file. The precedence chain is strict: server-managed settings beat MDM, MDM beats the managed settings file, that beats user settings, which beat project settings. You can lock model selection so developers cannot casually switch to Opus (67% more per token), restrict tool permissions to block bash access to production or deny reads of .env files, and control which MCP servers are available. Enterprise plans add audit logs retained for 30 days, exportable to Splunk, plus optional zero data retention. If your team is at the Activate or Govern stage of the 5 Steps for AI Leadership, managed settings are how firm-wide policy actually holds — configuration that enforces itself rather than a document nobody reads. In KWA terms, this is what separates teams at the Workflow layer from teams running AI at the Agents layer with proper oversight.
For automation, Claude Code works as a CI/CD citizen:
claude -p "your prompt" --output-format json --max-turns 5
It sends the prompt, runs the agent loop, writes structured JSON (result, model usage, token usage, and cost in dollars) to standard output, and exits. Use --allowedTools to restrict what Claude can do, --max-turns to cap iterations, and the new --bare flag (version 2.1) to skip hooks, plugins, and skill loading for faster scripted runs. Claude Code GitHub Actions hit version 1.0 recently — run install-github-app for guided setup, which auto-detects tag mode (responding to mentions in pull requests) or agent mode for fully automated reviews. Practical delivery uses: automated PR reviews on every push, documentation generated from code changes, and migration scripts that run overnight.
Agent teams are the newest addition, currently in research preview, enabled with export CLAUDE_EXPERIMENTAL_AGENT_TEAMS=1. Multiple Claude Code instances share a task list and message each other — one handles the backend API, another the front end, coordinating through shared task status. The caveat is significant: agent teams use roughly seven times more tokens than a standard session, because each agent maintains its own full context window. Use them for genuinely parallel workstreams, not as a default. Also new this quarter: voice mode via /voice with push-to-talk in over 20 languages, and remote control via --mcs, which makes a session accessible from a browser.
Where to start
Three things to do today
Most of the features above deliver value over time. These three are worth doing before anything else, and together they take less than an hour while closing the most expensive gaps first.
- Audit your billing setup. Run
env | grep ANTHROPICand remove any API key that appears. Thirty seconds; could prevent a four-figure surprise. - Write a proper CLAUDE.md file. Not the auto-generated default — a real one with your stack, conventions, and critical operational rules. Budget 30 minutes, commit it to Git, review it next quarter.
- If you are on a team plan, deploy managed settings. Do not rely on individual developers making sensible choices about model selection, tool permissions, and data handling. Put it in configuration.
The reason most AI rollouts stall at the demo stage is that teams adopt a tool and then stop. They miss the configuration that turns a useful coding assistant into a governed team capability. Everything else builds from there.