Repository navigation
Settings Snippet
xsyetopz edited this page Oct 19, 2026
·
3 revisions
The settings snippet is the set of Claude Code settings that claudetto needs, as one JSON block.
The settings entries of the slices make it, and just generate writes it into this page.
A test checks each key against schemas/claude-code-settings.json.
To apply it, see Settings Apply.
The reason and default of each key are on Settings Snippet Keys.
{
"$schema": "https://raw.githubusercontent.com/xsyetopz/claudetto/main/schemas/claude-code-settings.json",
"syncClaudeAiSkills": false,
"syncClaudeAiPlugins": false,
"env": {
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "80.3571",
"CLAUDE_CODE_AUTO_CONNECT_IDE": "false",
"CLAUDE_CODE_DISABLE_CRON": "1",
"CLAUDE_CODE_DISABLE_FAST_MODE": "1",
"CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY": "1",
"CLAUDE_CODE_DISABLE_TERMINAL_TITLE": "1",
"CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL": "1",
"CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS": "2",
"CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH": "1",
"CLAUDE_CODE_PROMPT_CACHE_TTL": "1h",
"CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT": "1",
"CLAUDE_CODE_SUBAGENT_MODEL": "claude-sonnet-5-5",
"DISABLE_ERROR_REPORTING": "1",
"DISABLE_EXTRA_USAGE_COMMAND": "1",
"DISABLE_FEEDBACK_COMMAND": "1",
"DISABLE_INSTALL_GITHUB_APP_COMMAND": "1",
"DISABLE_UPGRADE_COMMAND": "1"
},
"includeGitInstructions": false,
"permissions": {
"disableBypassPermissionsMode": "disable",
"deny": [
"Read(**/.env)",
"Read(**/.env.local)",
"Read(**/.env.production)",
"Read(**/.env.*.local)",
"Read(**/.env.development)",
"Read(**/.env.dev)",
"Read(**/.env.staging)",
"Read(**/.env.stage)",
"Read(**/.env.test)",
"Read(**/.env.prod)",
"Read(**/.env.qa)",
"Read(**/.env.preview)",
"Read(~/.ssh/**)",
"Read(~/.aws/credentials)",
"Read(~/.gnupg/**)",
"Read(~/.netrc)",
"Read(~/.docker/config.json)",
"Bash(rm -rf /)",
"Bash(rm -rf /*)",
"Bash(rm -rf ~)",
"Bash(rm -rf ~/*)",
"Bash(mkfs *)",
"Bash(mkfs.*)",
"Bash(dd * of=/dev/*)",
"Agent(general-purpose)",
"Agent(claude-code-guide)",
"Agent(statusline-setup)",
"mcp__computer-use",
"ScheduleWakeup",
"ReportFindings",
"EnterPlanMode",
"ExitPlanMode",
"TaskCreate",
"TaskGet",
"TaskList",
"TaskStop",
"TaskUpdate"
],
"ask": [
"Bash(git push* -f*)",
"Bash(git push* --force)",
"Bash(git push* --force *)",
"Bash(git push* --delete*)",
"Bash(git push* :*)",
"Bash(git push* --mirror*)",
"Bash(git reset* --hard*)",
"Bash(git clean* -*f*)",
"Bash(git checkout .)",
"Bash(git checkout* -- *)",
"Bash(git restore .)",
"Bash(git restore -- *)",
"Bash(git restore* --worktree*)",
"Bash(git restore* -W*)",
"Bash(git restore* --source*)",
"Bash(git branch* -D*)",
"Bash(git branch* --force*)",
"Bash(git checkout* -f*)",
"Bash(git stash drop*)",
"Bash(git stash clear*)",
"Bash(git reflog expire*)",
"Bash(git reflog delete*)",
"Bash(git gc* --prune*)",
"Bash(git prune*)",
"Bash(git filter-*)",
"Bash(docker run* -v*)",
"Bash(docker run* --volume*)",
"Bash(docker run* --mount*)",
"Bash(docker run* --privileged*)",
"Bash(docker create* -v*)",
"Bash(docker create* --volume*)",
"Bash(docker create* --mount*)",
"Bash(docker create* --privileged*)",
"Bash(docker container run* -v*)",
"Bash(docker container run* --volume*)",
"Bash(docker container run* --mount*)",
"Bash(docker container run* --privileged*)",
"Bash(docker container create* -v*)",
"Bash(docker container create* --volume*)",
"Bash(docker container create* --mount*)",
"Bash(docker container create* --privileged*)",
"Bash(docker compose run* -v*)",
"Bash(docker compose run* --volume*)",
"Bash(docker compose run* --mount*)",
"Bash(docker compose run* --privileged*)",
"Bash(docker compose up* -v*)",
"Bash(docker compose up* --volume*)",
"Bash(docker compose up* --mount*)",
"Bash(docker compose up* --privileged*)",
"Bash(rm -*r*)",
"Bash(rm -*R*)",
"Bash(rm * -*r*)",
"Bash(rm * -*R*)",
"Bash(rm --recursive*)",
"Bash(rm * --recursive*)",
"Bash(sh)",
"Bash(sh -)",
"Bash(sh -s*)",
"Bash(bash)",
"Bash(bash -)",
"Bash(bash -s*)",
"Bash(zsh)",
"Bash(sudo *)",
"Bash(npm publish*)",
"Bash(bun publish*)",
"Bash(pnpm publish*)",
"Bash(yarn publish*)",
"Bash(cargo publish*)",
"Bash(gh pr create *)",
"Bash(gh pr merge *)",
"Bash(gh pr comment *)",
"Bash(gh pr review *)",
"Bash(gh issue create *)",
"Bash(gh issue comment *)",
"Bash(gh release *)",
"Bash(* DROP DATABASE *)",
"Bash(* DROP TABLE *)",
"Bash(* TRUNCATE *)",
"Bash(* drop database *)",
"Bash(* drop table *)",
"Bash(* truncate table *)"
],
"allow": [
"Glob",
"Grep",
"Bash(git status *)",
"Bash(git diff *)",
"Bash(git log *)",
"Bash(git show *)",
"Bash(git branch)",
"Bash(git fetch *)",
"Bash(gh pr view *)",
"Bash(gh pr list *)",
"Bash(gh pr diff *)",
"Bash(gh pr checks *)",
"Bash(gh issue view *)",
"Bash(gh issue list *)",
"Bash(gh run view *)",
"Bash(gh run list *)",
"Bash(gh repo view *)",
"Bash(bun test *)",
"Bash(bun run *)",
"Bash(npm test *)",
"Bash(npm run *)",
"Bash(pnpm test *)",
"Bash(pnpm run *)",
"Bash(cargo build *)",
"Bash(cargo test *)",
"Bash(cargo check *)",
"Bash(go build *)",
"Bash(go test *)",
"Bash(go vet *)",
"Bash(just *)",
"Bash(make *)"
]
},
"model": "claude-opus-5-5",
"availableModels": [
"claude-opus-5-5",
"claude-sonnet-5-5",
"claude-haiku-5-5",
"claude-fable-5-1"
],
"enforceAvailableModels": true,
"disableClaudeAiConnectors": true,
"skillOverrides": {
"plugin-authoring": "name-only"
},
"disableBundledSkills": true,
"worktree": {
"baseRef": "head"
},
"disableRemoteControl": true,
"enableArtifact": false,
"enableWorkflows": false,
"bashOutputMaxChars": 16000,
"statusLine": {
"type": "command",
"command": "bun --no-env-file \"<plugin folder>/bin/claudetto-statusline\"",
"padding": 0,
"refreshInterval": 1,
"hideVimModeIndicator": true
},
"subagentStatusLine": {
"type": "command",
"command": "bun --no-env-file \"<plugin folder>/bin/claudetto-statusline\" --subagent"
},
"enabledPlugins": {
"cc-plugin-agents-md@builtin": false,
"cc-plugin-claude-test@builtin": false,
"cc-plugin-diff@builtin": false,
"cc-plugin-easel@builtin": false,
"cc-plugin-mermaid@builtin": false,
"cc-plugin-mods-guide@builtin": false,
"cc-plugin-responsive-mode@builtin": false,
"cc-plugin-telemetry@builtin": false,
"cc-plugin-tips@builtin": false,
"cc-plugin-you-should-know@builtin": false
},
"outputStyle": "claudetto:Concise",
"sandbox": {
"enabled": true,
"allowUnsandboxedCommands": true,
"excludedCommands": ["git fetch *", "git pull *", "git push *", "gh *"],
"network": {
"allowedDomains": [
"github.com",
"*.github.com",
"*.githubusercontent.com",
"registry.npmjs.org",
"pypi.org",
"files.pythonhosted.org",
"crates.io",
"static.crates.io",
"index.crates.io",
"proxy.golang.org"
],
"allowLocalBinding": true
},
"filesystem": {
"allowWrite": [
"~/.bun/install/cache",
"~/.npm",
"~/.cache/pip",
"~/.cargo/registry",
"~/go/pkg/mod"
]
}
},
"feedbackSurveyRate": 0,
"feedbackDrafts": "off",
"spinnerTipsEnabled": false,
"modelSettings": {
"claude-haiku-5-5": {
"autoCompactWindow": 144444
}
},
"autoCompactWindow": 300000,
"promptSuggestionEnabled": false,
"awaySummaryEnabled": false,
"autoMemoryEnabled": false
}-
<plugin folder>in the two status line commands stands for the absolute path of the installed plugin folder.claudetto-setupfills it in. -
claudetto-setupleaves out$schema, because it names the schema and is not a setting.
The six rm rules in permissions.ask match any flag spelling with an r or R after a dash, and --recursive.
They also ask for some calls that are not recursive, such as rm -f report.txt, where the r is in the file name.
An extra ask is acceptable.
The rules do not stop a write outside the allowed folders.
The sandbox limits the writes of Bash.
claudetto
- Start
- Slices
- Add-Ons
- Reference
- Rationale
- Evidence
- Development
Claude Code