{"name":"CLAUDE_CODE_THRIFTY_SONIC","slug":"claude-code-thrifty-sonic","family":"env","title":"Environment variables","noun":"environment variable","description":"Auto mode can be told to do file reads, searches and edits through Bash, but it's off by default.","description_source":"entry","described_by":{"version":"2.1.221","anchor":"auto-mode-bash-first-prompt-variant"},"presence":{"first_seen":"2.1.221","removed_in":null,"in_current_build":true,"newest_mined":"2.1.308","builds":76,"mined_builds":149,"first_cited":null},"aliases":[],"entries":[{"version":"2.1.232","anchor":"bash-tool-description-shape-is-decided-once-per-process","heading":"Bash tool description shape is decided once per process","line":"The Bash tool's description length is decided once per process so it can't change mid-session.","released_at":"2026-08-13 21:30:53","reason":"named in this entry, found in this entry's text"},{"version":"2.1.221","anchor":"auto-mode-bash-first-prompt-variant","heading":"Auto mode bash-first prompt variant","line":"Auto mode can be told to do file reads, searches and edits through Bash, but it's off by default.","released_at":"2026-08-03 22:16:25","reason":"named in this entry, found in this entry's text"},{"version":"2.1.221","anchor":"auto-mode-can-be-told-to-do-its-work-through-bash-thrifty-so","heading":"Auto mode can be told to do its work through Bash (\"thrifty sonic\")","line":"Auto mode can be told to use Bash for reads and edits if you set the env var.","released_at":"2026-08-03 22:16:25","reason":"named in this entry, found in this entry's text"},{"version":"2.1.221","anchor":"leaner-bash-tool-description-behind-the-thrifty-sonic-gate","heading":"Leaner Bash tool description behind the thrifty-sonic gate","line":"A much shorter Bash tool description exists, but only when the thrifty-sonic gate is switched on.","released_at":"2026-08-03 22:16:25","reason":"named in this entry, found in this entry's text"}],"entries_total":4,"docs":[],"docs_total":0,"gates":[],"related":[{"name":"CLAUDE_CODE_3P_PROBE_WROTE_HAIKU_DEFAULT","slug":"claude-code-3p-probe-wrote-haiku-default","description":"If your cloud account cannot use a model, Claude Code can step down to the next one; `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` turns this off"},{"name":"CLAUDE_CODE_3P_PROBE_WROTE_OPUS_DEFAULT","slug":"claude-code-3p-probe-wrote-opus-default","description":"Internal marker on third-party providers. When Claude Code itself writes `ANTHROPIC_DEFAULT_OPUS_MODEL` into its environment (the model availability probe on Bedrock, Vertex or Mantle, or a move down the model fallback ladder), it sets this variable to the same model ID. An `ANTHROPIC_DEFAULT_OPUS_MODEL` equal to it is treated as Claude Code's own choice rather than a user pin: it does not count as pinned, the probe does not skip it, and the fallback ladder may move it."},{"name":"CLAUDE_CODE_3P_PROBE_WROTE_SONNET_DEFAULT","slug":"claude-code-3p-probe-wrote-sonnet-default","description":"On third-party providers, Haiku model names are no longer skipped by the check that sets up the Sonnet default model"},{"name":"CLAUDE_CODE_3P_SEEDED_OPUS_DEFAULT","slug":"claude-code-3p-seeded-opus-default","description":"If your cloud account cannot use a model, Claude Code can step down to the next one; `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` turns this off"},{"name":"CLAUDE_CODE_3P_SEEDED_SONNET_DEFAULT","slug":"claude-code-3p-seeded-sonnet-default","description":"If your cloud account cannot use a model, Claude Code can step down to the next one; `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` turns this off"},{"name":"CLAUDE_CODE_ACCESSIBILITY","slug":"claude-code-accessibility","description":"Set to `1` to keep the native terminal cursor visible and disable the inverted-text cursor indicator. Allows screen magnifiers like macOS Zoom to track cursor position"},{"name":"CLAUDE_CODE_ACCOUNT_TAGGED_ID","slug":"claude-code-account-tagged-id","description":"Overrides the `user.account_id` attribute Claude Code attaches to its OpenTelemetry data. It applies only when an account UUID is known and `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` is not turned off (default on); when unset or empty, `user.account_id` is derived from the account UUID as a tagged ID of the form `user_01...`."},{"name":"CLAUDE_CODE_ACCOUNT_UUID","slug":"claude-code-account-uuid","description":"The device bridge is skipped entirely when the host's account UUID doesn't match the stored one."},{"name":"CLAUDE_CODE_ACT_DONT_REDERIVE","slug":"claude-code-act-dont-rederive","description":"Three existing feature gates moved position; their defaults are unchanged."},{"name":"CLAUDE_CODE_ACTION","slug":"claude-code-action","description":"Marks a run as coming from the Claude Code GitHub Action. A truthy value (`1`, `true`, `yes` or `on`) makes Claude Code set `CLAUDE_CODE_ENTRYPOINT` to `claude-code-github-action`, but only when `CLAUDE_CODE_ENTRYPOINT` is not already set and the command is not `claude mcp serve`. It is also reported as `isClaudeCodeAction` in the environment details attached to telemetry."}],"url":"https:\/\/changelogs.core-directive.com\/reference\/env\/claude-code-thrifty-sonic","family_url":"https:\/\/changelogs.core-directive.com\/reference\/env.json"}