Improved Claude Code Settings Schema with Environment Variable Autocomplete#
Published on October 20, 2025
The official Claude Code settings schema doesn't autocomplete environment variables. Type "env": {
and hit Ctrl+Space? Nothing. You're left googling whether it's DISABLE_NON_ESSENTIAL_MODEL_CALLS
or DISABLE_NONESSENTIAL_MODEL_CALLS
.
I got tired of this, so I built an improved schema with autocomplete for all 50+ environment variables. Grab it here.
What You Get#
Add this line to .claude/settings.json
:
"$schema": "https://assets.turboai.dev/claude-code-settings.improved.json"
Now your editor autocompletes env vars with inline docs. Type "BASH_
and see all bash-related settings. Hover for descriptions.
Demo#
Useful But Hidden Settings#
Longer timeouts for builds:
{
"env": {
"BASH_DEFAULT_TIMEOUT_MS": "300000"
}
}
Save on API costs:
{
"env": {
"DISABLE_NON_ESSENTIAL_MODEL_CALLS": "1"
}
}
Clean git commits:
{
"includeCoAuthoredBy": false
}
Full Example#
{
"$schema": "https://assets.turboai.dev/claude-code-settings.improved.json",
"permissions": {
"allow": [
"WebSearch",
"Bash(npm run:*)",
"Bash(git add:*)",
"Bash(git commit:*)"
]
},
"env": {
"DISABLE_NON_ESSENTIAL_MODEL_CALLS": "1",
"BASH_DEFAULT_TIMEOUT_MS": "300000"
},
"includeCoAuthoredBy": false,
"hooks": {
"Stop": [{
"command": ["terminal-notifier", "-title", "Claude Code", "-message", "Done"]
}]
}
}
The hook fires a desktop notification when Claude finishes. Useful for context switching.