client-config-claudecode
Skill4 starsChanged 11 days agoMITView on GitHub
Manage and maintain Claude Code configuration files and settings. Use this skill whenever the user wants to view, edit, add, remove, or understand any Claude Code settings — permissions, hooks, MCP servers, environment variables, model settings, sandbox, auto mode, or any other configuration field. Trigger on: "add permission", "allow tool", "deny tool", "configure hook", "add MCP server", "change model", "update settings", "show my settings", "what settings do I have", or "set default mode".
In this repository24 other files it gives its agents.
- AGENTS.mdAGENTS.md
- skills/client-config-opencode/references/agents.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- repository-reviewSkill
- weekly-skill-refreshSkill
- skill-maintenanceSkill
- about-me-skill-creatorSkill
- agent-creator-claudecodeSkill
- agent-creator-codexSkill
- agent-creator-copilotSkill
- agent-creator-opencodeSkill
- client-config-codexSkill
- client-config-copilotcliSkill
- client-config-opencodeSkill
- copilot-instruction-creatorSkill
- copilot-workerSkill
- docker-image-managementSkill
- git-commit-messagesSkill
- google-style-docsSkill
- handoffSkill
- markdownlint-validatorSkill
- mkdocs-site-managementSkill
- skill-routerSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 4 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 95
Run with: python scripts/<script>.py from the skill directory, or with absolute paths.
- Distinctive: line 99
When the user asks you to update, refresh, or sync this skill with the latest Claude Code documentation, follow these steps:
- Distinctive: line 131
Always read the file before editing
- Distinctive: line 132
Never remove fields you don't recognize without asking
- Distinctive: line 133
Keep a mental diff — tell the user exactly what changed
- Very specific: line 134
If the file doesn't exist yet, create it with { "$schema": "https://json.schemastore.org/claude-code-settings.json" } as the base
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Claude Code Configuration Manager
You help the user manage ~/.claude/settings.json — their user-level Claude Code configuration that applies across all projects.
Settings file locations (scope precedence: highest → lowest)
| Scope | File | Shared? |
| Managed (macOS) | /Library/Application Support/ClaudeCode/managed-settings.json (+ managed-settings.d/*.json) | IT-deployed |
| Managed (Linux/WSL) | /etc/claude-code/managed-settings.json (+ managed-settings.d/*.json) | IT-deployed |
| Managed (Windows) | C:\Program Files\ClaudeCode\managed-settings.json (+ managed-settings.d\*.json) | IT-deployed |
| Managed (other) | MDM profile / HKLM registry, or server-managed settings from the claude.ai console | IT-deployed |
| Command line | --settings <file-or-json>, --model, --permission-mode, … | One session |
| Local project | .claude/settings.local.json (at the git repo root) | No (gitignored) |
| Project | .claude/settings.json | Yes (git) |
| User | ~/.claude/settings.json (or $CLAUDE_CONFIG_DIR/settings.json) | No |
Array settings such as permissions.allow merge across files; scalars take the highest-precedence value. Some keys are user or managed only (ignored in project/local files) — e.g. autoMode, modelPicker, vimInsertModeRemaps; permissions.defaultMode values auto and bypassPermissions are also ignored in project/local files. See references/settings-schema.md §Settings files and precedence.
This skill focuses on the User scope: ~/.claude/settings.json
Workflow
- Read current settings first — always read
~/.claude/settings.jsonbefore making changes - Identify the task — use the task-to-reference map below to load only what you need
- Edit safely — use the Edit tool for targeted changes; validate JSON after editing
- Confirm — show the user the diff of what changed
Task → Reference map (load only what's needed)
| Task | Reference file to read |
| Add/remove allow, deny, ask rules | references/permissions.md |
| Configure hooks (PreToolUse, PostToolUse, PreModelSwitch, etc.) | references/hooks.md |
| Add/configure MCP servers | references/mcp.md |
Model, effort (effortLevel/modelSettings/maxEffortLevel), thinking, output style, prompt cache | references/settings-schema.md §Model |
| Sandbox filesystem/network isolation | references/settings-schema.md §Sandbox |
| Auto mode classifier | references/settings-schema.md §AutoMode |
| Status line, theme, time format, UI toggles | references/settings-schema.md §UI |
| Memory, compaction, workflows, update channel | references/settings-schema.md §Memory |
| Plugins & skills (enable/disable, marketplaces, sync) | references/settings-schema.md §Plugins |
| Subagent files, cross-session messaging | references/settings-schema.md §Subagents |
| Environment variables, auth helpers, notifications | references/settings-schema.md §Environment |
| Attribution, worktrees, enterprise/managed keys | references/settings-schema.md §Attribution / §Worktree / §Misc |
| Deprecated or removed keys | references/settings-schema.md §Deprecated |
| Unknown / full schema lookup | references/settings-schema.md |
Common quick edits (no reference needed)
// Auto-updates channel
{ "autoUpdatesChannel": "stable" } // or "latest" (default)
// Default permission mode
{ "permissions": { "defaultMode": "acceptEdits" } }
// valid: "default" (alias "manual") | "acceptEdits" | "plan" | "auto" | "dontAsk" | "bypassPermissions"
// "auto" and "bypassPermissions" only take effect from user/managed/--settings, not project/local
// Unset: terminal and VS Code sessions start in "auto" from v2.1.283 (details: references/permissions.md)
// Response language
{ "language": "spanish" }
// Effort level — default for models with no saved level
{ "effortLevel": "high" } // "low" | "medium" | "high" | "xhigh"
// /effort (v2.1.251+) saves per model instead; Opus 5.5+ ignore effortLevel in user settings:
{ "modelSettings": { "claude-sonnet-4-6": { "effortLevel": "high" } } }
// Show thinking summaries
{ "showThinkingSummaries": true }
// Voice dictation (voiceEnabled is deprecated); autoSubmit applies in "hold" mode only
{ "voice": { "enabled": true, "mode": "hold", "autoSubmit": true } }
// Disable all hooks (emergency)
{ "disableAllHooks": true }
// Make a policy hook fail closed: a hook that can't start, times out, or exits with a
// code other than 0 or 2 blocks the action (v2.1.295+; command and http hooks only)
{ "type": "command", "command": "node", "args": ["${CLAUDE_PROJECT_DIR}/.claude/hooks/check.js"], "onFailure": "block" }Scripts
For complex operations, use the helper scripts in scripts/:
scripts/show-settings.py [--json] [--settings PATH]— pretty-print current settings across scopes (read-only)scripts/validate-settings.py [path]— validate JSON structure, flag bad values, unknown/deprecated keys, and user-or-managed keys andenvvariables Claude Code ignores placed in project files (read-only)scripts/update-references.py— fetch latest upstream docs (used during self-update)
Run with: python scripts/<script>.py from the skill directory, or with absolute paths.
Self-update procedure
When the user asks you to update, refresh, or sync this skill with the latest Claude Code documentation, follow these steps:
- Fetch — run
python scripts/update-references.py --all(requires network access). This fetches each configured reference URL (plus itsadditional_urls) inassets/sources.jsonand saves raw content to_fetched/. Also scanhttps://code.claude.com/docs/llms.txtfor new pages that belong insources.json. - Confirm success — if the script exits nonzero, resolve the reported failures and rerun it. Do not use a partial
_fetched/set as source material. - Diff — for each file in
_fetched/, read it alongside the corresponding file inreferences/. Identify: new fields, removed fields, changed valid values, new examples, behavioral changes. - Update — rewrite each
references/*.mdfile to reflect what changed. Preserve the existing structure and token-efficient style; add/remove/correct only what differs from the source. - Sync scripts — update the known keys, enums, hook events, and deprecated-key lists in
scripts/validate-settings.py(and field notes inscripts/show-settings.py) to match, then runpython scripts/validate-settings.py <sample-file>against a scratch sample, not the user's live settings. - Clean up — delete the
_fetched/directory. - Record the version — note the Claude Code release the refresh was checked against (
claude --version, ornpm view @anthropic-ai/claude-code version) inREADME.mdandCHANGELOG.md, and label any claim that only a changelog entry supports, not the docs. - Report — tell the user what changed (new keys added, deprecated fields, etc.).
Source URLs (for manual lookup)
See assets/sources.json for the full manifest. Key URLs:
| Reference file | Source URL |
references/settings-schema.md | https://code.claude.com/docs/en/settings-reference.md (+ settings.md, managed-settings.md, sub-agents.md) |
references/permissions.md | https://code.claude.com/docs/en/permissions.md (+ permission-modes.md, skills.md) |
references/hooks.md | https://code.claude.com/docs/en/hooks.md |
references/mcp.md | https://code.claude.com/docs/en/mcp.md (+ managed-mcp.md) |
| Doc index | https://code.claude.com/docs/llms.txt |
Safety rules
- Always read the file before editing
- Never remove fields you don't recognize without asking
- Keep a mental diff — tell the user exactly what changed
- If the file doesn't exist yet, create it with
{ "$schema": "https://json.schemastore.org/claude-code-settings.json" }as the base - Validate JSON is well-formed after any edit
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

