settings-management — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited settings-management (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Manage configuration for coding agents.
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.
| Scope | Location | Shared with team? |
|---|---|---|
| User | ~/.claude/settings.json | No |
| Project | .claude/settings.json | Yes (committed) |
| Local | .claude/settings.local.json | No (gitignored) |
| Managed | System-level managed-settings.json | IT-deployed |
Precedence (highest to lowest): Managed → Command line → Local → Project → User
cat ~/.claude/settings.json 2>/dev/null || echo "No user settings"
cat .claude/settings.json 2>/dev/null || echo "No project settings"
cat .claude/settings.local.json 2>/dev/null || echo "No local settings"Use the Edit or Write tool to modify settings files. Always read existing content first to merge changes.
{
"model": "claude-opus-4-7",
"effort": "high"
}Effort 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.
{
"permissions": {
"allow": ["Bash(npm run:*)", "Bash(git:*)"],
"deny": ["Read(.env)", "Read(.env.*)", "WebFetch"],
"defaultMode": "acceptEdits"
}
}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.
{
"env": {
"MY_VAR": "value",
"CLAUDE_CODE_ENABLE_TELEMETRY": "1"
}
}{
"alwaysThinkingEnabled": true
}{
"attribution": {
"commit": "Generated with AI\n\nCo-Authored-By: AI <[email protected]>",
"pr": ""
}
}{
"sandbox": {
"enabled": true,
"autoAllowBashIfSandboxed": true,
"excludedCommands": ["docker", "git"]
}
}{
"hooks": {
"PreToolUse": {
"Bash": "echo 'Running command...'"
}
}
}~/.claude/settings.json): Personal preferences across all projects.claude/settings.json): Team-shared settings, commit to git.claude/settings.local.json): Personal project overrides, not committedCodex uses TOML format in ~/.codex/config.toml (user) and .codex/config.toml (project, trusted projects only).
model = "gpt-5.5" # As of April 2026; gpt-5.4 is a valid fallback
approval_policy = "on-request" # untrusted | on-request | never (or { granular = { ... } })
# NOTE: "on-failure" is DEPRECATED — migrate to on-request or never
sandbox_mode = "workspace-write" # read-only | workspace-write | danger-full-access
[features]
codex_hooks = true # Lifecycle hooks (stable in v0.124, April 2026)
multi_agent = true # Subagent orchestration (GA March 2026)Key differences from Claude Code:
.codex/rules/[profiles.NAME]) for different workflowscodex features list, codex --enable feature)[[hooks.PreToolUse]] (etc.) blocks in config.toml[agents] block for subagent orchestration (max_threads, max_depth)[[skills.config]] for per-skill enable/disable overrides[model_providers.NAME], including amazon-bedrock since v0.123See references/codex-settings.md for the full Codex config reference (covers approval/sandbox/profiles/features/agents/skills/hooks/rules/providers/admin enforcement).
OpenCode (anomalyco/opencode v1.14.x) uses JSON/JSONC in ~/.config/opencode/opencode.json (user) and opencode.json (project root, or under .opencode/).
{
"$schema": "https://opencode.ai/config.json",
"model": "anthropic/claude-sonnet-4-5",
"permission": {
"edit": "ask",
"bash": { "*": "ask", "git status *": "allow" }
},
"instructions": ["AGENTS.md", "docs/style.md"]
}Key differences from Claude Code:
instructions are concatenated, not replaced)allow/ask/deny per tool with glob patterns, not separate allow/deny/ask arraystui.json filemodel: "<provider>/<model-id>" and a top-level provider block{env:VAR} and {file:path}See references/opencode-settings.md for full OpenCode config reference.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.