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#

Autocomplete demo showing environment variables

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.