Skip to content

Every Claude Code setting on one page

Claude Code has 240+ settings and 390+ environment variables. You probably use 5.

The full list of settings, environment variables, hooks, slash commands, CLI flags and permission rules. Each entry says what it does and links to the official docs. The first 8 of every list are open. Subscribe free to unlock the rest.

Last updated Nov 10, 2026. Checked against Claude Code 2.1.322.

Recently added

New in the last 60 days, from the Claude Code changelog.

Settings keys

246

Keys for settings.json, plus a few kept in ~/.claude.json. Official docs page

  • model

    Change the model Claude Code starts with.

    Example: {"model": "claude-sonnet-5"}

    Source: docsAny settings file

  • permissions.allow

    Approve listed tool uses without a prompt.

    Example: {"permissions": {"allow": ["Bash(git diff *)", "Read(~/.zshrc)"]}}

    Source: docsAny settings file

  • permissions.deny

    Block listed tool uses, including reads of files that hold secrets.

    Source: docsAny settings file

  • permissions.defaultMode

    Set the default permission mode for new sessions.

    Example: {"permissions": {"defaultMode": "acceptEdits"}}

    Source: docsAny settings file

  • env

    Set environment variables for every session and its subprocesses.

    Source: docsAny settings file

  • hooks

    Run your own commands as hooks at points in Claude Code's lifecycle.

    Source: docsAny settings file

  • statusLine

    Run your own command to render a status line below the prompt.

    Source: docsAny settings file

  • outputStyle

    Change Claude's role, tone, and output format with an output style.

    Example: {"outputStyle": "Explanatory"}

    Source: docsAny settings file

fuel for the obsessed builder

Subscribe free to see all 246

One email every Sunday with everything that changed in Claude this week, with every claim linked to its source.

Free. Unsubscribe anytime.

Environment variables

396

Variables Claude Code reads from your shell or from the env setting. Official docs page

  • ANTHROPIC_API_KEY

    API key sent as X-Api-Key header.

    Source: docs

  • ANTHROPIC_MODEL

    Sets which model to use.

    Source: docs

  • ANTHROPIC_BASE_URL

    Override the API endpoint to route requests through a proxy or gateway.

    Source: docs

  • CLAUDE_CODE_EFFORT_LEVEL

    Set the effort level for supported models.

    Source: docs

  • MAX_THINKING_TOKENS

    Sets a fixed token budget for extended thinking.

    Source: docs

  • DISABLE_TELEMETRY

    Set to any non-empty value, such as 1, to opt out of telemetry.

    Source: docs

  • CLAUDE_CONFIG_DIR

    Override the configuration directory (default: ~/.claude).

    Source: docs

  • BASH_DEFAULT_TIMEOUT_MS

    Sets the default timeout for a foreground Bash or PowerShell command, in milliseconds.

    Source: docs

fuel for the obsessed builder

Subscribe free to see all 396

One email every Sunday with everything that changed in Claude this week, with every claim linked to its source.

Free. Unsubscribe anytime.

Hook events

33

Points in a session where a hook can run. Official docs page

  • SessionStart

    Fires when a session begins or resumes.

    Source: docs

  • UserPromptSubmit

    Fires when a prompt is submitted, before Claude processes it.

    Source: docs

  • PreToolUse

    Fires before a tool call runs. It can block the call.

    Source: docs

  • PostToolUse

    Fires after a tool call succeeds.

    Source: docs

  • Notification

    Fires when Claude Code sends a notification.

    Source: docs

  • Stop

    Fires when Claude finishes responding.

    Source: docs

  • SubagentStop

    Fires when a subagent finishes.

    Source: docs

  • SessionEnd

    Fires when a session ends.

    Source: docs

fuel for the obsessed builder

Subscribe free to see all 33

One email every Sunday with everything that changed in Claude this week, with every claim linked to its source.

Free. Unsubscribe anytime.

Slash commands

118

Commands you type inside a session. Official docs page

  • /init

    Creates a starter CLAUDE.md guide for the project.

    Source: docs

  • /model

    Switches the model and saves it as the default for new sessions.

    Usage: /model [model]

    Source: docs

  • /clear

    Starts a new conversation with empty context.

    Usage: /clear [name]

    Source: docs

  • /compact

    Frees up context by summarizing the conversation so far.

    Usage: /compact [instructions]

    Source: docs

  • /context

    Shows current context usage as a colored grid.

    Usage: /context [all]

    Source: docs

  • /memory

    Edits CLAUDE.md files, turns auto memory on or off, and shows auto memory entries.

    Source: docs

  • /permissions

    Manages allow, ask, and deny rules for tool permissions.

    Source: docs

  • /resume

    Resumes a conversation by ID or name, or opens the session picker.

    Usage: /resume [session]

    Source: docs

fuel for the obsessed builder

Subscribe free to see all 118

One email every Sunday with everything that changed in Claude this week, with every claim linked to its source.

Free. Unsubscribe anytime.

CLI flags

79

Flags you pass when you start claude. Official docs page

  • --printAlso -p

    Prints the response without interactive mode.

    Example: claude -p "query"

    Source: docs

  • --continueAlso -c

    Loads the most recent conversation in the current directory.

    Example: claude --continue

    Source: docs

  • --resumeAlso -r

    Resumes a session by ID or name, or shows a picker.

    Example: claude --resume auth-refactor

    Source: docs

  • --model

    Sets the model for the session with an alias such as sonnet or a full name.

    Example: claude --model claude-sonnet-5

    Source: docs

  • --permission-mode

    Starts in the permission mode you name.

    Example: claude --permission-mode plan

    Source: docs

  • --add-dir

    Adds working directories for Claude to read and edit files in.

    Example: claude --add-dir ../apps ../lib

    Source: docs

  • --output-format

    Sets the output format for print mode: text, json, or stream-json.

    Example: claude -p "query" --output-format json

    Source: docs

  • --dangerously-skip-permissions

    Skips permission prompts. Same as --permission-mode bypassPermissions.

    Example: claude --dangerously-skip-permissions

    Source: docs

fuel for the obsessed builder

Subscribe free to see all 79

One email every Sunday with everything that changed in Claude this week, with every claim linked to its source.

Free. Unsubscribe anytime.

Permissions syntax

31

Rule syntax and permission modes. Official docs page

  • Tool(specifier)

    A permission rule. Use only the tool name to match every use, or add a specifier to match some uses.

    Example: Bash(npm run build)

    Source: docs

  • Bash

    Matches all Bash commands.

    Source: docs

  • Bash(npm run build)

    Matches the exact command npm run build.

    Source: docs

  • Bash(npm run *)

    Matches npm run build, npm run test --watch, and bare npm run, but not npm install.

    Source: docs

  • Read(./.env)

    Matches reading the .env file in the current directory.

    Source: docs

  • WebFetch(domain:example.com)

    Matches fetch requests to example.com.

    Source: docs

  • mcp__server__*

    Matches every tool from one MCP server.

    Example: mcp__puppeteer__*

    Source: docs

  • plan

    A permission mode. Claude reads files and runs read-only commands to explore, but does not edit your source files.

    Source: docs

fuel for the obsessed builder

Subscribe free to see all 31

One email every Sunday with everything that changed in Claude this week, with every claim linked to its source.

Free. Unsubscribe anytime.

fuel for the obsessed builder

Get what changes in Claude every Sunday.

One email every Sunday with everything that changed in Claude this week, with every claim linked to its source.

Free. Unsubscribe anytime.