{"id":"dda696d9-29a0-47a7-ae71-9e9fde74a153","shortId":"vfE48d","kind":"skill","title":"settings-management","tagline":"View and configure settings for coding agents (Claude Code, Codex CLI, OpenCode, and others). Covers JSON settings for Claude Code, TOML for Codex CLI, and JSON/JSONC for OpenCode, including permissions, sandbox, model selection, profiles, feature flags, providers, hooks, subagen","description":"# Settings Management\n\nManage configuration for coding agents.\n\n**IMPORTANT**: After modifying settings, always inform the user that they need to **restart the agent** for changes to take effect. Most settings are only loaded at startup.\n\n## Settings File Locations\n\n| Scope | Location | Shared with team? |\n|-------|----------|-------------------|\n| **User** | `~/.claude/settings.json` | No |\n| **Project** | `.claude/settings.json` | Yes (committed) |\n| **Local** | `.claude/settings.local.json` | No (gitignored) |\n| **Managed** | System-level `managed-settings.json` | IT-deployed |\n\n**Precedence** (highest to lowest): Managed → Command line → Local → Project → User\n\n## Quick Actions\n\n### View Current Settings\n\n```bash\ncat ~/.claude/settings.json 2>/dev/null || echo \"No user settings\"\ncat .claude/settings.json 2>/dev/null || echo \"No project settings\"\ncat .claude/settings.local.json 2>/dev/null || echo \"No local settings\"\n```\n\n### Create/Edit Settings\n\nUse the Edit or Write tool to modify settings files. Always read existing content first to merge changes.\n\n## Common Configuration Tasks\n\n### Set Default Model\n\n```json\n{\n  \"model\": \"claude-opus-4-7\",\n  \"effort\": \"high\"\n}\n```\n\nEffort levels: `low`, `medium`, `high`, `xhigh` (Opus 4.7 only), `max`. As of 2026, default effort is `high` for API-key, Bedrock/Vertex/Foundry, Team, and Enterprise users.\n\n### Configure Permissions\n\n```json\n{\n  \"permissions\": {\n    \"allow\": [\"Bash(npm run:*)\", \"Bash(git:*)\"],\n    \"deny\": [\"Read(.env)\", \"Read(.env.*)\", \"WebFetch\"],\n    \"defaultMode\": \"acceptEdits\"\n  }\n}\n```\n\n`defaultMode` accepts: `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions`. The new `auto` mode (March 2026) uses an LLM-based classifier and triggers `PermissionDenied` hooks on rejection.\n\n### Add Environment Variables\n\n```json\n{\n  \"env\": {\n    \"MY_VAR\": \"value\",\n    \"CLAUDE_CODE_ENABLE_TELEMETRY\": \"1\"\n  }\n}\n```\n\n### Enable Extended Thinking\n\n```json\n{\n  \"alwaysThinkingEnabled\": true\n}\n```\n\n### Configure Attribution\n\n```json\n{\n  \"attribution\": {\n    \"commit\": \"Generated with AI\\n\\nCo-Authored-By: AI <ai@example.com>\",\n    \"pr\": \"\"\n  }\n}\n```\n\n### Configure Sandbox\n\n```json\n{\n  \"sandbox\": {\n    \"enabled\": true,\n    \"autoAllowBashIfSandboxed\": true,\n    \"excludedCommands\": [\"docker\", \"git\"]\n  }\n}\n```\n\n### Configure Hooks\n\n```json\n{\n  \"hooks\": {\n    \"PreToolUse\": {\n      \"Bash\": \"echo 'Running command...'\"\n    }\n  }\n}\n```\n\n## Scope Selection Guide\n\n- **User settings** (`~/.claude/settings.json`): Personal preferences across all projects\n- **Project settings** (`.claude/settings.json`): Team-shared settings, commit to git\n- **Local settings** (`.claude/settings.local.json`): Personal project overrides, not committed\n\n## Workflow\n\n1. **Determine scope**: Ask user which scope (user/project/local) if not specified\n2. **Read existing settings**: Always read current file before modifying\n3. **Merge changes**: Preserve existing settings, only modify requested keys\n4. **Validate JSON**: Ensure valid JSON before writing\n5. **Confirm changes**: Show user the final settings\n6. **Remind to restart**: Tell user to restart Claude Code for changes to take effect\n\n## Codex CLI Settings\n\nCodex uses TOML format in `~/.codex/config.toml` (user) and `.codex/config.toml` (project, trusted projects only).\n\n```toml\nmodel = \"gpt-5.5\"                  # As of April 2026; gpt-5.4 is a valid fallback\napproval_policy = \"on-request\"     # untrusted | on-request | never (or { granular = { ... } })\n                                    # NOTE: \"on-failure\" is DEPRECATED — migrate to on-request or never\nsandbox_mode = \"workspace-write\"   # read-only | workspace-write | danger-full-access\n\n[features]\ncodex_hooks = true                 # Lifecycle hooks (stable in v0.124, April 2026)\nmulti_agent = true                 # Subagent orchestration (GA March 2026)\n```\n\nKey differences from Claude Code:\n- TOML format instead of JSON; project config requires explicit trust\n- Starlark rules for command policies in `.codex/rules/`\n- Named profiles (`[profiles.NAME]`) for different workflows\n- Feature flags system (`codex features list`, `codex --enable feature`)\n- Lifecycle hooks live inline as `[[hooks.PreToolUse]]` (etc.) blocks in `config.toml`\n- `[agents]` block for subagent orchestration (`max_threads`, `max_depth`)\n- `[[skills.config]]` for per-skill enable/disable overrides\n- Custom model providers via `[model_providers.NAME]`, including `amazon-bedrock` since v0.123\n\nSee [references/codex-settings.md](references/codex-settings.md) for the full Codex config reference (covers approval/sandbox/profiles/features/agents/skills/hooks/rules/providers/admin enforcement).\n\n## OpenCode Settings\n\nOpenCode (anomalyco/opencode v1.14.x) uses JSON/JSONC in `~/.config/opencode/opencode.json` (user) and `opencode.json` (project root, or under `.opencode/`).\n\n```json\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"model\": \"anthropic/claude-sonnet-4-5\",\n  \"permission\": {\n    \"edit\": \"ask\",\n    \"bash\": { \"*\": \"ask\", \"git status *\": \"allow\" }\n  },\n  \"instructions\": [\"AGENTS.md\", \"docs/style.md\"]\n}\n```\n\nKey differences from Claude Code:\n- Schema-validated JSON/JSONC, not plain JSON\n- Configs are **deep-merged** (later wins; arrays like `instructions` are concatenated, not replaced)\n- Permissions are an object of `allow`/`ask`/`deny` per tool with glob patterns, not separate `allow`/`deny`/`ask` arrays\n- Theme/keybinds live in a separate `tui.json` file\n- Multi-provider via `model: \"<provider>/<model-id>\"` and a top-level `provider` block\n- Variable substitution: `{env:VAR}` and `{file:path}`\n\nSee [references/opencode-settings.md](references/opencode-settings.md) for full OpenCode config reference.\n\n## Reference\n\n- **Claude Code settings**: [references/claude-settings.md](references/claude-settings.md)\n- **Codex CLI settings**: [references/codex-settings.md](references/codex-settings.md)\n- **OpenCode settings**: [references/opencode-settings.md](references/opencode-settings.md)","tags":["settings","management","driven","development","codealive-ai","agent-safety","agent-skills","ai-coding","ai-driven-development","ai-safety","antigravity","bash"],"capabilities":["skill","source-codealive-ai","skill-settings-management","topic-agent-safety","topic-agent-skills","topic-ai-coding","topic-ai-driven-development","topic-ai-safety","topic-antigravity","topic-bash","topic-claude-code","topic-codex-cli","topic-cursor","topic-developer-tools","topic-gemini-cli"],"categories":["ai-driven-development"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/CodeAlive-AI/ai-driven-development/settings-management","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add CodeAlive-AI/ai-driven-development","source_repo":"https://github.com/CodeAlive-AI/ai-driven-development","install_from":"skills.sh"}},"qualityScore":"0.483","qualityRationale":"deterministic score 0.48 from registry signals: · indexed on github topic:agent-skills · 67 github stars · SKILL.md body (5,995 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:57:07.654Z","embedding":null,"createdAt":"2026-05-04T06:56:23.883Z","updatedAt":"2026-05-18T18:57:07.654Z","lastSeenAt":"2026-05-18T18:57:07.654Z","tsv":"'-5.4':421 '-5.5':415 '-7':176 '/.claude/settings.json':86,121,309 '/.codex/config.toml':404 '/.config/opencode/opencode.json':579 '/config.json':592 '/dev/null':123,131,139 '1':261,334 '2':122,130,138,345 '2026':191,236,419,476,484 '3':355 '4':175,365 '4.7':186 '5':373 '6':381 'accept':224 'acceptedit':222,226 'access':465 'across':312 'action':115 'add':249 'agent':10,49,64,478,532 'agents.md':604 'ai':275,281 'ai@example.com':282 'allow':209,602,637,647 'alway':54,156,349 'alwaysthinkingen':266 'amazon':555 'amazon-bedrock':554 'anomalyco/opencode':574 'anthropic/claude-sonnet-4-5':594 'api':198 'api-key':197 'approv':426 'approval/sandbox/profiles/features/agents/skills/hooks/rules/providers/admin':569 'april':418,475 'array':625,650 'ask':337,597,599,638,649 'attribut':269,271 'author':279 'auto':228,233 'autoallowbashifsandbox':290 'base':241 'bash':119,210,213,300,598 'bedrock':556 'bedrock/vertex/foundry':200 'block':529,533,669 'bypasspermiss':230 'cat':120,128,136 'chang':66,163,357,375,392 'classifi':242 'claud':11,22,173,257,389,488,609,686 'claude-opus':172 'claude/settings.json':89,129,317 'claude/settings.local.json':93,137,327 'cli':14,27,397,692 'code':9,12,23,48,258,390,489,610,687 'codex':13,26,396,399,467,516,519,565,691 'codex/config.toml':407 'codex/rules':506 'command':109,303,503 'commit':91,272,322,332 'common':164 'concaten':629 'config':496,566,618,683 'config.toml':531 'configur':6,46,165,205,268,284,295 'confirm':374 'content':159 'cover':18,568 'create/edit':144 'current':117,351 'custom':548 'danger':463 'danger-full-access':462 'deep':621 'deep-merg':620 'default':168,192,225 'defaultmod':221,223 'deni':215,639,648 'deploy':103 'deprec':443 'depth':540 'determin':335 'differ':486,511,607 'docker':293 'docs/style.md':605 'dontask':229 'echo':124,132,140,301 'edit':148,596 'effect':69,395 'effort':177,179,193 'enabl':259,262,288,520 'enable/disable':546 'enforc':570 'ensur':368 'enterpris':203 'env':217,219,253,672 'environ':250 'etc':528 'excludedcommand':292 'exist':158,347,359 'explicit':498 'extend':263 'failur':441 'fallback':425 'featur':38,466,513,517,521 'file':78,155,352,657,675 'final':379 'first':160 'flag':39,514 'format':402,491 'full':464,564,681 'ga':482 'generat':273 'git':214,294,324,600 'gitignor':95 'glob':643 'gpt':414,420 'granular':437 'guid':306 'high':178,183,195 'highest':105 'hook':41,246,296,298,468,471,523 'hooks.pretooluse':527 'import':50 'includ':32,553 'inform':55 'inlin':525 'instead':492 'instruct':603,627 'it-deploy':101 'json':19,170,207,252,265,270,286,297,367,370,494,588,617 'json/jsonc':29,577,614 'key':199,364,485,606 'later':623 'level':99,180,667 'lifecycl':470,522 'like':626 'line':110 'list':518 'live':524,652 'llm':240 'llm-base':239 'load':74 'local':92,111,142,325 'locat':79,81 'low':181 'lowest':107 'manag':3,44,45,96,108 'managed-settings.json':100 'march':235,483 'max':188,537,539 'medium':182 'merg':162,356,622 'migrat':444 'mode':234,452 'model':35,169,171,413,549,593,662 'model_providers.name':552 'modifi':52,153,354,362 'multi':477,659 'multi-provid':658 'n':276 'name':507 'nco':278 'nco-authored-bi':277 'need':60 'never':435,450 'new':232 'note':438 'npm':211 'object':635 'on-failur':439 'on-request':428,432,446 'opencod':15,31,571,573,587,682,696 'opencode.ai':591 'opencode.ai/config.json':590 'opencode.json':582 'opus':174,185 'orchestr':481,536 'other':17 'overrid':330,547 'path':676 'pattern':644 'per':544,640 'per-skil':543 'permiss':33,206,208,595,632 'permissiondeni':245 'person':310,328 'plain':616 'plan':227 'polici':427,504 'pr':283 'preced':104 'prefer':311 'preserv':358 'pretoolus':299 'profil':37,508 'profiles.name':509 'project':88,112,134,314,315,329,408,410,495,583 'provid':40,550,660,668 'quick':114 'read':157,216,218,346,350,457 'read-on':456 'refer':567,684,685 'references/claude-settings.md':689,690 'references/codex-settings.md':560,561,694,695 'references/opencode-settings.md':678,679,698,699 'reject':248 'remind':382 'replac':631 'request':363,430,434,448 'requir':497 'restart':62,384,388 'root':584 'rule':501 'run':212,302 'sandbox':34,285,287,451 'schema':589,612 'schema-valid':611 'scope':80,304,336,340 'see':559,677 'select':36,305 'separ':646,655 'set':2,7,20,43,53,71,77,118,127,135,143,145,154,167,308,316,321,326,348,360,380,398,572,688,693,697 'settings-manag':1 'share':82,320 'show':376 'sinc':557 'skill':545 'skill-settings-management' 'skills.config':541 'source-codealive-ai' 'specifi':344 'stabl':472 'starlark':500 'startup':76 'status':601 'subag':480,535 'subagen':42 'substitut':671 'system':98,515 'system-level':97 'take':68,394 'task':166 'team':84,201,319 'team-shar':318 'telemetri':260 'tell':385 'theme/keybinds':651 'think':264 'thread':538 'toml':24,401,412,490 'tool':151,641 'top':666 'top-level':665 'topic-agent-safety' 'topic-agent-skills' 'topic-ai-coding' 'topic-ai-driven-development' 'topic-ai-safety' 'topic-antigravity' 'topic-bash' 'topic-claude-code' 'topic-codex-cli' 'topic-cursor' 'topic-developer-tools' 'topic-gemini-cli' 'trigger':244 'true':267,289,291,469,479 'trust':409,499 'tui.json':656 'untrust':431 'use':146,237,400,576 'user':57,85,113,126,204,307,338,377,386,405,580 'user/project/local':341 'v0.123':558 'v0.124':474 'v1.14.x':575 'valid':366,369,424,613 'valu':256 'var':255,673 'variabl':251,670 'via':551,661 'view':4,116 'webfetch':220 'win':624 'workflow':333,512 'workspac':454,460 'workspace-writ':453,459 'write':150,372,455,461 'xhigh':184 'yes':90","prices":[{"id":"325d2c93-70e2-42fc-968e-4134d021d751","listingId":"dda696d9-29a0-47a7-ae71-9e9fde74a153","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"CodeAlive-AI","category":"ai-driven-development","install_from":"skills.sh"},"createdAt":"2026-05-04T06:56:23.883Z"}],"sources":[{"listingId":"dda696d9-29a0-47a7-ae71-9e9fde74a153","source":"github","sourceId":"CodeAlive-AI/ai-driven-development/settings-management","sourceUrl":"https://github.com/CodeAlive-AI/ai-driven-development/tree/main/skills/settings-management","isPrimary":false,"firstSeenAt":"2026-05-04T06:56:23.883Z","lastSeenAt":"2026-05-18T18:57:07.654Z"}],"details":{"listingId":"dda696d9-29a0-47a7-ae71-9e9fde74a153","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"CodeAlive-AI","slug":"settings-management","github":{"repo":"CodeAlive-AI/ai-driven-development","stars":67,"topics":["agent-safety","agent-skills","ai-coding","ai-driven-development","ai-safety","antigravity","bash","claude-code","codex-cli","cursor","developer-tools","gemini-cli","hooks","mcp","multi-agent","opencode","plugins","prompt-engineering","skills","subagents"],"license":"mit","html_url":"https://github.com/CodeAlive-AI/ai-driven-development","pushed_at":"2026-05-12T20:04:46Z","description":"Practices, protocols, and skills for AI-driven software development. 18 skills + 1 Bash safety hook for Claude Code, Codex CLI, OpenCode, Cursor, Gemini CLI, Antigravity, and any agent supporting the Agent Skills standard.","skill_md_sha":"ed1e65c50ce2e2303772d92123295331bdde465a","skill_md_path":"skills/settings-management/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/CodeAlive-AI/ai-driven-development/tree/main/skills/settings-management"},"layout":"multi","source":"github","category":"ai-driven-development","frontmatter":{"name":"settings-management","description":"View and configure settings for coding agents (Claude Code, Codex CLI, OpenCode, and others). Covers JSON settings for Claude Code, TOML for Codex CLI, and JSON/JSONC for OpenCode, including permissions, sandbox, model selection, profiles, feature flags, providers, hooks, subagents, and skills."},"skills_sh_url":"https://skills.sh/CodeAlive-AI/ai-driven-development/settings-management"},"updatedAt":"2026-05-18T18:57:07.654Z"}}