> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/jackdog668/claude-code/llms.txt
> Use this file to discover all available pages before exploring further.

# config

> Open the interactive configuration panel to manage Claude Code settings.

The `/config` slash command (aliased as `/settings`) opens an interactive settings panel inside a running Claude Code session. It is not a standalone CLI subcommand with `get` / `set` subcommands — configuration is managed through the panel UI or by editing the settings JSON files directly.

```
/config
/settings
```

<Tip>
  Run `claude --settings <file>` to load additional settings from a JSON file
  or inline JSON string at startup, before the session begins.
</Tip>

## Settings files

Claude Code merges settings from multiple sources in order of precedence (highest to lowest):

| Source                | Location                      | Scope                  |
| --------------------- | ----------------------------- | ---------------------- |
| CLI `--settings` flag | Path or inline JSON           | Session only           |
| Local settings        | `.claude/settings.local.json` | Project, not committed |
| Project settings      | `.claude/settings.json`       | Project, committed     |
| User settings         | `~/.claude/settings.json`     | All projects           |
| Managed settings      | System-level path             | Enterprise-managed     |

## Key settings fields

The settings files follow a JSON schema. Common fields include:

<ParamField path="model" type="string">
  Override the default model used by Claude Code. Accepts a model alias (e.g.
  `"sonnet"`) or a full model ID (e.g. `"claude-sonnet-4-6"`).
</ParamField>

<ParamField path="permissions.defaultMode" type="string">
  Default permission mode. Choices: `default`, `acceptEdits`,
  `bypassPermissions`, `dontAsk`, `plan`.
</ParamField>

<ParamField path="permissions.allow" type="string[]">
  List of permission rules for allowed operations (e.g. `["Bash(git:*)"]`).
</ParamField>

<ParamField path="permissions.deny" type="string[]">
  List of permission rules for denied operations.
</ParamField>

<ParamField path="env" type="object">
  Environment variables to set for Claude Code sessions (key-value string
  pairs).
</ParamField>

<ParamField path="hooks" type="object">
  Custom commands to run before or after tool executions. See the hooks
  documentation for the full schema.
</ParamField>

<ParamField path="cleanupPeriodDays" type="number">
  Number of days to retain chat transcripts (default: 30). Set to `0` to
  disable session persistence entirely — no transcripts are written and existing
  ones are deleted at startup.
</ParamField>

<ParamField path="includeCoAuthoredBy" type="boolean">
  Deprecated. Use `attribution` instead. Whether to include Claude's
  co-authored-by attribution in commits and pull requests (defaults to `true`).
</ParamField>

<ParamField path="attribution.commit" type="string">
  Attribution text appended to git commits. Set to an empty string to hide
  attribution.
</ParamField>

<ParamField path="attribution.pr" type="string">
  Attribution text appended to pull request descriptions. Set to an empty
  string to hide attribution.
</ParamField>

<ParamField path="respectGitignore" type="boolean">
  Whether the file picker should respect `.gitignore` files (default: `true`).
  Note: `.ignore` files are always respected.
</ParamField>

<ParamField path="defaultShell" type="string">
  Default shell for input-box `!` commands. Choices: `bash`, `powershell`.
  Defaults to `bash` on all platforms.
</ParamField>

<ParamField path="disableAllHooks" type="boolean">
  Disable all hooks and the status line execution.
</ParamField>

## Example settings file

```json ~/.claude/settings.json theme={null}
{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "model": "claude-sonnet-4-6",
  "permissions": {
    "defaultMode": "acceptEdits",
    "allow": ["Bash(git:*)"],
    "deny": ["Bash(rm -rf:*)"]
  },
  "env": {
    "NODE_ENV": "development"
  },
  "cleanupPeriodDays": 60
}
```

<Note>
  Use the `--setting-sources` flag at startup to control which sources are
  loaded: `claude --setting-sources user,project`.
</Note>
