Skip to content

Config Files Across Claude Products

Here's a comprehensive breakdown of all configuration files across Claude Chat, Cowork, and Code:

Claude Chat (claude.ai)

Claude Chat doesn't use file-based configuration — everything is stored server-side as account settings.

SurfaceLocationPurpose
Profile PreferencesSettings → General → "What preferences should Claude consider?"Injects your instructions into the system prompt automatically on every conversation — your context is loaded before you type anything.
StyleSettings → StyleCustom writing/tone style presets
MemoryAuto-generated or manually edited via UIPersistent facts Claude carries across sessions
Project InstructionsPer-project system prompt fieldInstructions scoped to a specific Project

None of these are local files — they live in Anthropic's servers and are not directly editable outside the UI.

Claude Cowork (Desktop App)

Cowork adds file-based context on top of Chat's server-side settings:

File/SurfaceLocationPurpose
Global InstructionsSettings → Cowork → Edit Global InstructionsSpecify your preferred tone, output format, or background on your role. (Server-side)
claude.mdIn your connected working folderCowork figures out what you changed and writes those preferences here; every time you tell Cowork to remember something, it writes to this file.
memory.mdIn your connected working folderPersistent memory companion to claude.md
Context .md filesAnywhere in your connected folderUser-created context files (about-me, my-voice, my-rules, etc.)

Cowork reads files from your connected folder at session start — so your .md files are your configuration.

Claude Code (CLI)

This is the richest config system. Scopes apply to settings, subagents, MCP servers, plugins, and CLAUDE.md files across user, project, and local levels.

Settings Files (settings.json)

ScopeLocationShared?
User~/.claude/settings.jsonNo — personal, all projects
Project.claude/settings.jsonYes — committed to git
Local.claude/settings.local.jsonNo — gitignored, personal overrides
ManagedSystem-level (see below)Yes — IT/org enforced

Managed settings locations:

PlatformPath
macOS (MDM)com.anthropic.claudecode plist via Jamf/Kandji
macOS (file)/Library/Application Support/ClaudeCode/managed-settings.json
Linux/WSL/etc/claude-code/managed-settings.json
Windows (GPO)HKLM\SOFTWARE\Policies\ClaudeCode
Windows (file)C:\Program Files\ClaudeCode\managed-settings.json

Drop-in fragment directory at managed-settings.d/ is also supported alongside the main file, merged alphabetically.

Instruction Files (CLAUDE.md)

ScopeLocationNotes
User global~/.claude/CLAUDE.mdApplies to all projects
ProjectCLAUDE.md or .claude/CLAUDE.md in repo rootCommitted, shared with team
LocalCLAUDE.local.md in project rootGitignored, personal

Think of settings.json as "what Claude can do" and CLAUDE.md as "what Claude should know."

MCP Configuration

ScopeLocation
User + local~/.claude.json
Project.mcp.json (in project root, version-controlled)
Managedmanaged-mcp.json (same system directory as managed-settings)

Other Files in ~/.claude/

~/.claude/
├── settings.json          # Global user settings
├── settings.local.json    # Local user settings (not synced)
├── CLAUDE.md              # Global instructions
├── .credentials.json      # API credentials (Linux/Windows only)
├── commands/              # Global custom slash commands
│   ├── review.md
│   └── test.md
├── agents/                # User-scoped subagents
└── projects/              # Session history (JSONL) per project

And ~/.claude.json — OAuth session, user-scoped MCP config, per-project tool trust state.

Priority Order (highest → lowest)

Managed → CLI args → Local → Project → User

Quick Mental Model

Claude Chat   → Server-side only (UI settings + Profile Preferences)
Claude Cowork → Server-side + working-folder .md files
Claude Code   → Full file hierarchy: ~/.claude/ + .claude/ + system paths