5 Claude Code Settings to Change First: /init, Plan Mode, /effort, Hooks, Auto Mode

5 Claude Code Settings: /init, plan, /effort, hooks, auto

Last Verified: October 11, 2026 — Claude Code 2.1.296, /init and the hook run on a real project

Most people run Claude Code exactly as it ships. These five settings take a minute each.

After them, Claude remembers your project, plans before it touches anything, thinks harder when you ask, formats its own edits, and stops asking permission for every harmless command.

TL;DR

  • Run /init once in every project.
  • Press Shift+Tab to cycle modes: plan mode to plan, auto mode to run.
  • Use /effort max for hard bugs, then switch back.
  • Paste one prompt and Claude sets up a formatting hook for you. No JSON editing.

Where to type things in this guide

Everything starting with / and every prompt goes in the Claude Code chat box. Commands starting with claude go in a normal terminal.

On this page (8 sections)
  1. All 5 at a Glance
  2. 1. /init: Give Claude a Memory
  3. 2. Plan Mode: Look Before It Leaps
  4. 3. /effort max: Think Harder on Hard Problems
  5. 4. A Hook: Format Every Edit Automatically
  6. 5. Auto Mode: Stop Clicking Allow
  7. The Permission Modes, Side by Side
  8. FAQ

All 5 at a Glance

SettingWhat it doesWhen
1. /initGives Claude a memory of your projectOnce per project
2. Plan mode (Shift+Tab)Claude plans first and changes nothing until you approveBefore any change bigger than a typo
3. /effort maxMore thinking on hard problemsStubborn bugs, tricky refactors
4. A formatting hookRuns your formatter after every edit, automaticallyOnce per project
5. Auto mode (Shift+Tab)A safety check approves safe actions so you stop clicking AllowLong tasks you don’t want to babysit

1. /init: Give Claude a Memory

Every new session starts from zero. /init reads your project and writes a CLAUDE.md file. Claude Code loads it at the start of every session, so you stop re-explaining the basics.

Step 1. Run it

~30 sec

Open Claude Code in your project folder and type:

/init

Claude reads your files and asks to create CLAUDE.md. Allow it.

Step 2. Check what it wrote

~1 min

This is the real file it wrote for our small test project (a one-file Node server):

# CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

## Commands

- Run server: `npm start` (listens on port 3000; `GET /health` returns `ok`, everything else 404)
- Run all tests: `npm test` (uses the built-in `node --test` runner; no tests exist yet)
- Run a single test file: `node --test path/to/file.test.js`
- Format: Prettier is a devDependency but has no script or config; run `npx prettier --write src`

## Architecture

Minimal ESM Node app with no framework and no runtime dependencies. The entire app is a single
`node:http` server in `src/server.js`. There is no lint setup, build step or router yet.

Step 3. Add your own rules

~2 min

/init describes the project. It can’t know your rules, so add a short section at the end:

## Rules
- Run `npm test` before saying a task is done.
- Never edit files in `migrations/`.
- Ask before adding a new dependency.

Keep it short

The whole file is loaded every session, so every line costs context. Specific rules (run npm test before saying done) beat general advice (write clean code).

2. Plan Mode: Look Before It Leaps

In plan mode Claude can still read your code, but it doesn’t edit files or run commands. It comes back with a plan, and nothing changes until you approve it.

Step 1. Switch it on

~5 sec

Press Shift+Tab until the line under the input box says plan mode on. Then ask for the change as usual.

Step 2 (optional). Make it the default

~30 sec

Paste this into Claude Code and it edits the settings file for you, without overwriting what’s there:

Set this project's default permission mode to plan in .claude/settings.json. Keep every setting already in that file. Show me the final file.

When to use it

Anything bigger than a one-line fix. Reading a plan takes 30 seconds; undoing a wrong 12-file change takes much longer.

3. /effort max: Think Harder on Hard Problems

/effort sets how much Claude reasons before it answers: low, medium, high, xhigh or max.

/effort max

Use it for a bug you’ve already failed to fix twice. When it’s solved, switch back to your usual level, for example:

/effort high

Good to know

Higher effort is slower and uses more of your plan. Not every model supports every level; if yours doesn’t, Claude Code quietly uses the closest one it does.

For one session only, start it with claude --effort max in the terminal.

4. A Hook: Format Every Edit Automatically

A hook is a command Claude Code runs for you at a fixed moment. This one runs Prettier right after Claude changes a file, every time, whether or not Claude remembers to.

Step 1. Paste this prompt

~1 min

No JSON, no jq. Claude writes the hook so it works on your system (Windows included):

Add a PostToolUse hook to this project's .claude/settings.json that runs Prettier on every file the Write or Edit tool changes. It must work on my operating system without installing anything new (no jq). Keep any settings already in that file. Show me the final file.

On our Windows 11 test, Claude added the hook to .claude/settings.json plus a small Node script (.claude/hooks/prettier.mjs) that formats the changed file. It skips quietly if Prettier isn’t installed.

Step 2. Restart Claude Code

~10 sec

Hooks load when a session starts. Exit and run claude again.

Step 3. Prove it works

~1 min

Ask for any small edit. We asked Claude to change one word in a messy file:

Before:

import http from 'node:http'
const server = http.createServer((req,res)=>{ if(req.url==='/health'){res.end('ok');return}
res.statusCode=404;res.end() })

After (Claude changed 'ok' to "healthy"; the hook formatted everything else):

import http from "node:http";
const server = http.createServer((req, res) => {
  if (req.url === "/health") {
    res.end("healthy");
    return;
  }
  res.statusCode = 404;
  res.end();
});
Terminal: cat src/server.js; then claude -p "Change the /health text from 'ok' to 'healthy'"; then cat src/server.js
Real run, October 11, 2026, Windows 11: Claude changed one word, and the hook it set up from the prompt above formatted the whole file.

Requirements

The project needs Prettier: npm install --save-dev prettier. Using another formatter or linter? Name it in the prompt instead of Prettier.

More events, blocking dangerous commands, and how to debug a hook: our hooks setup guide.

5. Auto Mode: Stop Clicking Allow

By default Claude Code asks before most commands. In auto mode, a classifier model reviews each action instead of you: safe ones go through, risky ones are blocked.

Step 1. Switch it on

~5 sec

Press Shift+Tab until the line under the input box shows auto mode.

Check it yourself: is auto mode in your cycle?

Press Shift+Tab slowly and watch the line under the input box change. Your plan or your organisation’s settings decide which modes appear.

Not there? Exit and start Claude Code from the terminal with:

claude --permission-mode auto

If that’s refused too, auto mode isn’t available on your account yet. Plan mode and the hook above still work.

Know the trade-off

Nobody approves each step any more. An instruction hidden in a web page or file that the classifier lets through will run.

Use it in projects you trust, keep secrets out of reach, and switch back to the default mode when Claude reads untrusted content. Don’t confuse it with bypassPermissions, which skips checks entirely.

The Permission Modes, Side by Side

ModeWhat happens
Default (manual in the CLI flag)Asks before most actions
planReads and plans only; no edits, no commands
acceptEditsFile edits go through; other actions still ask
autoA classifier approves or blocks each action
dontAskNever asks; anything not pre-approved is denied
bypassPermissionsNo checks at all; only for throwaway sandboxes

FAQ

Is it really “10x better”?

That’s the video’s framing, not a measurement. What these settings do measurably is cut round trips: fewer re-explanations, fewer wrong edits to undo, fewer permission clicks.

Do these cost extra?

No. All five are built into Claude Code. /effort max does use more of your plan’s usage per answer.

Where do settings live?

.claude/settings.json in the project (shared with your team), .claude/settings.local.json (just you, this project) or ~/.claude/settings.json (just you, every project). You can name any of them in the prompts above.

I’d rather edit the JSON myself.

Fine: ask Claude to “show me the hooks block you added” and copy it, or see the hooks guide for the raw format.

What should I set up next?

Add a few tools: our 5 starter MCP servers need no account or API key, and VoltAgent’s free subagents add 160+ specialists.