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
| Surface | Use it when | Page |
|---|---|---|
| Settings keys | You want a stored value that stays between sessions. | Settings Files and Scopes |
| Environment variables | You want a value for a shell, a script, or a CI job. | Environment Variables |
| CLI flags | You want a change for one run only. | CLI Flags |
| Hooks | You want your own code to run on an event, and maybe block it. | Hooks |
| Skills and commands | You want a reusable prompt or a / shortcut. | Skills and Commands |
| Subagents | You want a helper with its own prompt, tools, and model. | Subagents |
| Plugins | You want to bundle and share several of these. | Plugins |
| MCP servers | You want Claude to use tools from another program or service. | MCP |
| Mod API | You want code that changes Claude Code itself, such as new UI or event handlers. | Mod API Overview |
Behavior and Safety
| I want to ... | Status | How | Page |
|---|---|---|---|
| Allow or block a tool call without a prompt | Documented: An official docs page names this item. | permissions., permissions., and permissions. rules | Permission Rules |
| Start in a different permission mode | Documented: An official docs page names this item. | -- flag or the permissions. setting | Permission Modes |
| Let a classifier approve safe actions | Documented: An official docs page names this item. | Auto mode and its rules | Auto Mode |
| Limit what shell commands can touch | Documented: An official docs page names this item. | The sandbox settings | Sandbox |
| Block a command with my own logic | Documented: An official docs page names this item. | A Pre hook | Hook Events |
| Understand why Claude Code allowed a call or asked about it | Documented: An official docs page names this item. | Read the flow | Permission Flow |
| Let managed policy lock a value | Documented: An official docs page names this item. | Managed settings | Enterprise Settings |
Models and Cost
| I want to ... | Status | How | Page |
|---|---|---|---|
| Pick the model | Documented: An official docs page names this item. | /, --, the model setting, or ANTHROPIC_ | Model Settings |
| Change how hard the model thinks | Documented: An official docs page names this item. | The effort and thinking settings | Models and Effort Variables |
| Use Bedrock, Vertex, or Foundry | Documented: An official docs page names this item. | Provider variables | Models and Providers |
| Change when Claude Code summarizes old messages | Documented: An official docs page names this item. | Compaction settings and variables | Context and Compaction Variables |
| Understand how Claude Code chooses a model | Documented: An official docs page names this item. | Read the flow | Models |
| Route requests through a proxy or custom CA | Documented: An official docs page names this item. | Network variables | Network and Proxy Variables |
Instructions and Memory
| I want to ... | Status | How | Page |
|---|---|---|---|
| Give Claude standing project advice | Documented: An official docs page names this item. | CLAUDE. | Memory and Rules |
| Apply advice only to some files | Documented: An official docs page names this item. | A rule file with paths in . | Memory and Rules |
| Turn off auto memory | Documented: An official docs page names this item. | auto or CLAUDE_ | Memory and Rules |
| Change the tone or style of replies | Documented: An official docs page names this item. | An output style | Output Styles |
| See the real system prompt | Undocumented: Only the program shows this item. It can change without notice. | Captured prompts on this site | Prompt Captures |
| Understand how Claude Code builds the prompt | Documented: An official docs page names this item. | Read the build steps | System Prompt |
| Add text to the system prompt | Documented: An official docs page names this item. | -- | CLI Flags |
Tools and Automation
| I want to ... | Status | How | Page |
|---|---|---|---|
| Run something after every file edit | Documented: An official docs page names this item. | A Post hook | Hooks |
Add my own / | Documented: An official docs page names this item. | A skill or a file in . | Skills and Commands |
| Start a helper for one kind of task | Documented: An official docs page names this item. | A file in . | Subagent Frontmatter |
| Connect a database or an API | Documented: An official docs page names this item. | claude mcp add or . | MCP Config |
| Limit which MCP servers may run | Documented: An official docs page names this item. | MCP allow and deny settings | MCP Settings and Policy |
| Run Claude Code from a script | Documented: An official docs page names this item. | Print mode with - | Headless Mode |
| Drive it from my own program | Documented: An official docs page names this item. | Stream JSON and the control protocol | Control Protocol |
| Share my setup with a team | Documented: An official docs page names this item. | A plugin and a marketplace | Plugin Marketplaces |
Screen and Terminal
| I want to ... | Status | How | Page |
|---|---|---|---|
| Show my own status line | Documented: An official docs page names this item. | The status setting | Status Line |
| Change theme, spinner, or notices | Documented: An official docs page names this item. | Interface settings | Interface Settings |
| Change terminal behavior with variables | Documented: An official docs page names this item. | UI and terminal variables | UI and Terminal Variables |
| Change keyboard shortcuts | Documented: An official docs page names this item. | / opens ~/. | Slash Commands |
| Add a screen element or dialog | Documented: An official docs page names this item. | A mod that uses $. | Mod API UI |
Sessions, Files, and Privacy
| I want to ... | Status | How | Page |
|---|---|---|---|
| Continue or branch an old session | Documented: An official docs page names this item. | --, --, / | Sessions and Storage |
| Keep sessions for a shorter time | Documented: An official docs page names this item. | cleanup | Core Settings |
| Stop Claude Code from saving anything | Documented: An official docs page names this item. | CLAUDE_ or -- | Sessions and Storage |
Move the whole ~/. folder | Documented: An official docs page names this item. | CLAUDE_ | Files on Disk |
| Turn off telemetry or debug output | Documented: An official docs page names this item. | Telemetry variables | Telemetry and Debug Variables |
| Know where a file lives | Documented: An official docs page names this item. | The file map | Files 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.