Logo Vincent
Back to all posts

Claude Code /config: Every Setting Explained

Claude
Claude Code /config: Every Setting Explained

What is /config

Claude Code has dozens of configurable settings scattered across different places: global config, project config, settings.json… Manually editing JSON files for each one is tedious.

/config is Claude Code’s control panel. Type this one command and an interactive settings panel pops up. All common configurations are right here — navigate with arrow keys, press Enter to toggle, and changes take effect immediately.

Its alias is /settings — both commands do exactly the same thing.

How to Open It

In Claude Code’s interactive mode, type:

/config

A panel with three tabs appears:

  • Status — Diagnostic info about your current environment (model, account, MCP connections, etc.)
  • Config — All adjustable settings (the focus of this article)
  • Usage — Usage and quota information

Use Tab or left/right arrow keys to switch tabs, Esc to close the panel.

The Config tab has a built-in search feature — just start typing to filter settings, quickly locating what you need among dozens of options.

Every Setting Explained

Here’s a category-by-category breakdown of everything in the Config panel.

Model & Reasoning

Model

Choose the model for your current session. Clicking opens the model picker.

Common options:

  • claude-opus-4-6 — Most powerful, best for complex tasks
  • claude-sonnet-4-6 — Balance of speed and intelligence
  • claude-haiku-4-5 — Ultra-fast, low cost

Same effect as the /model command, just a different entry point.

Thinking mode

Controls whether Extended Thinking is enabled. On by default.

When enabled, Claude Code performs an internal reasoning pass before answering — ideal for complex logic and multi-step tasks. Disabling it gives faster responses but may reduce reasoning depth.

Fast mode

Toggles fast output mode. When enabled, uses the same model but with faster output.

Same effect as the /fast command.

Context Management

Auto-compact

Controls whether conversations are automatically compressed when approaching the context limit. On by default.

When enabled, Claude Code automatically summarizes conversation history when tokens run low, freeing up space. If disabled, you’ll need to manually run /compact or risk context overflow.

Recommendation: Keep it on. Unless you have a specific need (like debugging compact behavior), there’s no reason to disable it.

Rewind code (checkpoints)

Controls whether Claude Code automatically creates checkpoint snapshots before modifying files. On by default.

When enabled, you can use /rewind to roll back to any previous state. When disabled, /rewind can only revert the conversation — not code changes.

Recommendation: Keep it on. This is your safety net.

Permissions & Security

Default permission mode

One of the most important settings in /config. It determines the default approval policy when Claude Code performs actions.

Options:

  • default — Standard mode, dangerous operations prompt for confirmation
  • plan — Planning mode, Claude Code drafts a plan first, then executes after your approval

Permission mode determines Claude Code’s level of autonomy. Beginners should stick with default; switch based on context as you get more experienced.

Editor & Interaction

Editor mode

Choose the input field’s editing mode:

  • normal — Standard mode with regular shortcuts
  • vim — Vim mode with Vim keybindings

Same effect as the /vim command.

Language

Set Claude Code’s UI and response language. Clicking opens the language picker. Defaults to English.

If you want Claude Code to respond in another language, change it here.

Output & Display

Theme

Switch Claude Code’s terminal color theme. Clicking opens the theme picker.

Same effect as the /theme command.

Output style

Controls Claude Code’s response style. Clicking opens the style picker.

Same effect as the /output-style command. You can choose between more concise or more detailed responses.

Verbose output

When enabled, Claude Code shows more debug information — like detailed tool call parameters and API request metadata.

Off by default. Only enable it when troubleshooting.

Show turn duration

When enabled, Claude Code shows how long each response took (e.g., “Cooked for 1m 6s”) after completing a turn.

Off by default. Turn it on if you’re curious about how long Claude Code thinks.

Show tips

Controls whether Claude Code displays tip suggestions during loading/thinking. On by default.

Those helpful tidbits that pop up while you wait — disable them if you find them distracting.

Reduce motion

Reduces terminal animations when enabled. Useful if your terminal doesn’t handle animations well, or if you simply find them distracting.

Terminal progress bar

Controls whether progress info is shown in the terminal title bar or tab. On by default.

When enabled, you can see Claude Code’s current status at a glance from your terminal tab without switching to it.

Controls whether the current PR status is shown in the footer. On by default.

Useful if your workflow involves GitHub PRs.

Files & Version Control

Respect .gitignore in file picker

Controls whether Claude Code ignores files listed in .gitignore when searching and browsing. On by default.

When enabled, directories like node_modules and dist won’t appear in search results. Disable it if you need Claude Code to access these files.

Copy & Share

Always copy full response

Controls /copy command behavior:

  • Off (default)/copy shows a picker to choose which part to copy
  • On/copy directly copies the entire last response, skipping the picker

If you always select “all” when using /copy, enable this to save a step.

Notifications

Notifications

Set how Claude Code notifies you after completing tasks:

  • auto — Auto-detect terminal type and choose the best notification method
  • iterm2 — Use iTerm2’s notification system
  • terminal_bell — Use terminal bell
  • iterm2_with_bell — iTerm2 notifications + terminal bell
  • kitty — Use Kitty terminal notifications
  • ghostty — Use Ghostty terminal notifications
  • notifications_disabled — Disable notifications

If you often run Claude Code tasks in the background, picking the right notification method for your terminal is valuable.

Auto-update

Auto-update channel

Controls Claude Code’s auto-update behavior:

  • latest — Default, auto-update to the latest stable version
  • beta — Update to the beta channel for early access to new features
  • You can also downgrade to a specific channel

If stability matters most, keep it on latest. Switch to beta if you want to try new features early.

IDE Integration

External includes

If your CLAUDE.md references external files (via @import syntax), this toggle controls whether that external content is loaded.

Where Settings Are Stored

Settings modified in /config are automatically saved to the appropriate config files. Understanding the file hierarchy helps power users:

Configuration File Hierarchy

Claude Code settings come from 5 layers, with later layers overriding earlier ones:

LayerFile PathDescription
User~/.claude/settings.jsonGlobal user settings, affects all projects
Project<project>/.claude/settings.jsonProject-level settings, can be committed to Git and shared with the team
Local<project>/.claude/settings.local.jsonProject-level local settings, gitignored, not shared
FlagFile specified by --settings flagTemporarily specified via command line
ManagedEnterprise managed settingsPushed remotely by enterprise admins, highest priority

Global Config

Besides settings.json, Claude Code has a global config file at ~/.claude/config.json that stores global preferences:

  • Theme, editor mode
  • Auto-compact toggle
  • Verbose output toggle
  • Notification channel preference
  • Checkpoint toggle
  • Turn duration display
  • And more

Most boolean toggles modified in the /config panel are written to this file.

Manual Editing vs /config Panel

You can absolutely edit these JSON files directly. But the /config panel offers advantages:

  • No need to remember field names — The panel lists all adjustable items, just select
  • Instant effect — Changes take effect immediately, no restart needed
  • Safety validation — The panel only writes valid values, won’t corrupt config files
  • Esc to revert — If you don’t like your changes, Esc automatically undoes all modifications from this session

Practical Tips

Tip 1: Use Search for Quick Access

The Config panel starts in search mode by default. Just start typing to filter — type compact to instantly find the auto-compact toggle, no need to scroll through dozens of options.

Tip 2: Esc is Your Undo Button

Changed a bunch of settings in /config and suddenly want to undo everything? Just press Esc — all modifications automatically revert to the state before you opened the panel. This thoughtful design means you can freely experiment with configurations, and Esc to undo everything if unsatisfied.

Tip 3: Use Layered Settings for Team Collaboration

If your team wants to standardize certain Claude Code configurations:

  1. Put shared settings in the project’s .claude/settings.json, commit to Git
  2. Put personal preferences in .claude/settings.local.json, which won’t be committed
  3. Put universally common settings in ~/.claude/settings.json

This gives the team a unified baseline while letting everyone keep their own preferences without conflicts.

Tip 4: Check /status Before Configuring

The Status tab in the /config panel is essentially the /status command. Before changing settings, switch to Status to review your environment — model, account, MCP connections, diagnostics — so you know the full picture before making changes.

/config vs Editing JSON vs Other Commands

MethodBest For
/config panelDay-to-day adjustments, visually browsing all options
Editing settings.jsonBatch-configuring permission rules, hooks, MCP servers, and other complex structures
/theme /model /vim etc.Changing just one specific setting, faster
claude --settings <file>Launching with a temporary configuration

Final Thoughts

/config is one of the most overlooked commands in Claude Code — many people use it for months without ever opening it. But it’s actually the key interface for “tuning” Claude Code to your preferences.

Everyone has different development habits: some prefer Vim keybindings, some hate animations, some want notification bells, some want more verbose output… These “small preferences” add up and directly determine how comfortable your Claude Code experience is.

Take two minutes to open /config, go through all the options, and set it up just the way you like. Good tools deserve to be properly configured.

More Articles

© 2026 vincentqiao.com . All rights reserved.