Skip to main content

What Can I Change

Claude Code has many places where you can change how it works. This page starts from what you want to do. It points to the right place. Each row links to the page that lists every key, flag, or field.

The Surfaces​

SurfaceUse it whenPage
Settings keysYou want a stored value that stays between sessions.Settings Files and Scopes
Environment variablesYou want a value for a shell, a script, or a CI job.Environment Variables
CLI flagsYou want a change for one run only.CLI Flags
HooksYou want your own code to run on an event, and maybe block it.Hooks
Skills and commandsYou want a reusable prompt or a /name shortcut.Skills and Commands
SubagentsYou want a helper with its own prompt, tools, and model.Subagents
PluginsYou want to bundle and share several of these.Plugins
MCP serversYou want Claude to use tools from another program or service.MCP
Mod APIYou want code that changes Claude Code itself, such as new UI or event handlers.Mod API Overview

Behavior and Safety​

I want to ...StatusHowPage
Allow or block a tool call without a prompt
Documented: An official docs page names this item.
permissions.allow, permissions.deny, and permissions.ask rulesPermission Rules
Start in a different permission mode
Documented: An official docs page names this item.
--permission-mode flag or the permissions.defaultMode settingPermission Modes
Let a classifier approve safe actions
Documented: An official docs page names this item.
Auto mode and its rulesAuto Mode
Limit what shell commands can touch
Documented: An official docs page names this item.
The sandbox settingsSandbox
Block a command with my own logic
Documented: An official docs page names this item.
A PreToolUse hookHook Events
Understand why Claude Code allowed a call or asked about it
Documented: An official docs page names this item.
Read the flowPermission Flow
Let managed policy lock a value
Documented: An official docs page names this item.
Managed settingsEnterprise Settings

Models and Cost​

I want to ...StatusHowPage
Pick the model
Documented: An official docs page names this item.
/model, --model, the model setting, or ANTHROPIC_MODELModel Settings
Change how hard the model thinks
Documented: An official docs page names this item.
The effort and thinking settingsModels and Effort Variables
Use Bedrock, Vertex, or Foundry
Documented: An official docs page names this item.
Provider variablesModels and Providers
Change when Claude Code summarizes old messages
Documented: An official docs page names this item.
Compaction settings and variablesContext and Compaction Variables
Understand how Claude Code chooses a model
Documented: An official docs page names this item.
Read the flowModels
Route requests through a proxy or custom CA
Documented: An official docs page names this item.
Network variablesNetwork and Proxy Variables

Instructions and Memory​

I want to ...StatusHowPage
Give Claude standing project advice
Documented: An official docs page names this item.
CLAUDE.mdMemory and Rules
Apply advice only to some files
Documented: An official docs page names this item.
A rule file with paths in .claude/rules/Memory and Rules
Turn off auto memory
Documented: An official docs page names this item.
autoMemoryEnabled: false or CLAUDE_CODE_DISABLE_AUTO_MEMORY=1Memory and Rules
Change the tone or style of replies
Documented: An official docs page names this item.
An output styleOutput Styles
See the real system prompt
Undocumented: Only the program shows this item. It can change without notice.
Captured prompts on this sitePrompt Captures
Understand how Claude Code builds the prompt
Documented: An official docs page names this item.
Read the build stepsSystem Prompt
Add text to the system prompt
Documented: An official docs page names this item.
--append-system-promptCLI Flags

Tools and Automation​

I want to ...StatusHowPage
Run something after every file edit
Documented: An official docs page names this item.
A PostToolUse hookHooks
Add my own /command
Documented: An official docs page names this item.
A skill or a file in .claude/commands/Skills and Commands
Start a helper for one kind of task
Documented: An official docs page names this item.
A file in .claude/agents/Subagent Frontmatter
Connect a database or an API
Documented: An official docs page names this item.
claude mcp add or .mcp.jsonMCP Config
Limit which MCP servers may run
Documented: An official docs page names this item.
MCP allow and deny settingsMCP Settings and Policy
Run Claude Code from a script
Documented: An official docs page names this item.
Print mode with -pHeadless Mode
Drive it from my own program
Documented: An official docs page names this item.
Stream JSON and the control protocolControl Protocol
Share my setup with a team
Documented: An official docs page names this item.
A plugin and a marketplacePlugin Marketplaces

Screen and Terminal​

I want to ...StatusHowPage
Show my own status line
Documented: An official docs page names this item.
The statusLine settingStatus Line
Change theme, spinner, or notices
Documented: An official docs page names this item.
Interface settingsInterface Settings
Change terminal behavior with variables
Documented: An official docs page names this item.
UI and terminal variablesUI and Terminal Variables
Change keyboard shortcuts
Documented: An official docs page names this item.
/keybindings opens ~/.claude/keybindings.jsonSlash Commands
Add a screen element or dialog
Documented: An official docs page names this item.
A mod that uses $.uiMod API UI

Sessions, Files, and Privacy​

I want to ...StatusHowPage
Continue or branch an old session
Documented: An official docs page names this item.
--continue, --resume, /branchSessions and Storage
Keep sessions for a shorter time
Documented: An official docs page names this item.
cleanupPeriodDaysCore Settings
Stop Claude Code from saving anything
Documented: An official docs page names this item.
CLAUDE_CODE_SKIP_PROMPT_HISTORY or --no-session-persistenceSessions and Storage
Move the whole ~/.claude folder
Documented: An official docs page names this item.
CLAUDE_CONFIG_DIRFiles on Disk
Turn off telemetry or debug output
Documented: An official docs page names this item.
Telemetry variablesTelemetry and Debug Variables
Know where a file lives
Documented: An official docs page names this item.
The file mapFiles on Disk

What You Cannot Change​

The program fixes some parts. You cannot edit the built-in tools, the permission engine, or the request format from a setting. You can still watch or shape them with a hook or a mod. The Architecture and Agent Loop pages show where each part sits.

warning

Do not use

Undocumented: Only the program shows this item. It can change without notice.
items in shared setups without a plan. They can change in any release without notice.

Example​

You want Claude to run your formatter after each edit and to ask before it runs git push. Two small settings do both.

.claude/settings.json
{
"permissions": {
"ask": ["Bash(git push:*)"]
},
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [{ "type": "command", "command": "bunx prettier --write ." }]
}
]
}
}

The first part is a permission rule. The second part is a hook. Both live in the shared project settings file.