{
 "area": "decisions",
 "version": "2.1.283",
 "items": [
  {
   "id": "advisor-tool-available",
   "title": "Advisor tool available",
   "group": "Tools and output",
   "question": "Whether the advisor tool, which lets Claude consult a stronger reviewer model, can be used. When it can, Claude gets it once an advisor model is chosen, for example with the advisorModel setting.",
   "shape": "first-wins",
   "observe": "none",
   "value_labels": {
    "enabled": "Advisor can be used",
    "disabled": "No advisor tool"
   },
   "details": {
    "candidate": "chunk-5ezz9t8y.js:389685"
   },
   "context": [
    {
     "key": "provider",
     "label": "Provider",
     "values": [
      {
       "value": "anthropic",
       "label": "Anthropic API, including through a custom ANTHROPIC_BASE_URL"
      },
      {
       "value": "other",
       "label": "Bedrock, Vertex, Foundry, Mantle, Anthropic on AWS or Google Cloud, or Claude Code's cloud gateway"
      }
     ]
    }
   ],
   "realize_context": {
    "provider": {
     "anthropic": {},
     "other": null
    }
   },
   "bypasses": [
    {
     "id": "disableAdvisor",
     "knob": "env-claude-code-disable-advisor-tool",
     "effect": {
      "value": "disabled"
     },
     "note": "Checked before the ladder: no advisor, whatever is set below. 1, true, yes and on count as set.",
     "realize": {
      "env": {
       "CLAUDE_CODE_DISABLE_ADVISOR_TOOL": "1"
      }
     },
     "provenance": [
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181626268,
       "length": 53,
       "sha256": "e85abb6f9c609a45c886d5dabbc693736969f312a5baad52816e8a499cf9f57c",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-ze990dc9.js",
       "binary_offset": 175772061,
       "length": 39,
       "sha256": "fb2505b2436739d5335fb3974bc55b3fd01c0cf949343dbcbcaab9f223262c2f",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "id": "disableBetas",
     "knob": "env-claude-code-disable-experimental-betas",
     "effect": {
      "value": "disabled"
     },
     "note": "Checked before the ladder: turning off experimental betas also removes the advisor. A HIPAA-restricted organization gets the same result. 1, true, yes and on count as set.",
     "realize": {
      "env": {
       "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
      }
     },
     "provenance": [
      {
       "file": "chunk-9r9kpwh0.js",
       "binary_offset": 177391739,
       "length": 35,
       "sha256": "5a66b1da7d1c70aa776c8165d27d205aff57ccae19e00dbd178c1440b01b950e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-9r9kpwh0.js",
       "binary_offset": 177391600,
       "length": 69,
       "sha256": "af58c0d0b002d221f6b23aa63773056adfefa035ca38863f517b8ec86c9d8aec",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "constraints": [
    {
     "id": "anthropicApiOnly",
     "label": "Not on Anthropic's API",
     "applies_when": [
      {
       "provider": [
        "other"
       ]
      }
     ],
     "effect": {
      "value": "disabled"
     },
     "note": "Only on Anthropic's API; a custom ANTHROPIC_BASE_URL still counts. With any other provider, including Claude Code's cloud gateway, there is no advisor, whatever is set in the ladder.",
     "provenance": [
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181626321,
       "length": 33,
       "sha256": "51ef9f27c6a7ab6d74b6439700b58a9b5b54c5f2f665bd0dae80f2a84fb77f0e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "id": "apiRefused",
     "label": "The API refused the advisor",
     "effect": {
      "value": "disabled"
     },
     "note": "When the API refuses the advisor during a session, Claude Code stops offering it, for this process or for that host.",
     "provenance": [
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181626204,
       "length": 49,
       "sha256": "e683e482c407204957ccb282114acd50621e66a5d7c09159dfadd87ed9e40443",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184968498,
       "length": 50,
       "sha256": "61e0ed146cf8bf2fbded89c8552ec347f3d1623b8fc0cd9031cda3d57097ce7c",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "rungs": [
    {
     "verified": "read",
     "id": "envEnable",
     "mechanism": "env",
     "knob": "env-claude-code-enable-experimental-advisor-tool",
     "input": "choice",
     "accepts": [
      "1",
      "true",
      "yes",
      "on"
     ],
     "invalid_example": "2",
     "note": "1, true, yes or on (any case) makes the advisor available without Anthropic's flag. It also skips the model catalog check on which main and advisor models may pair. Any other value counts as unset.",
     "effect": {
      "value": "enabled"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_ENABLE_EXPERIMENTAL_ADVISOR_TOOL": "{value}"
      }
     },
     "label": "CLAUDE_CODE_ENABLE_EXPERIMENTAL_ADVISOR_TOOL",
     "provenance": [
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181626387,
       "length": 59,
       "sha256": "2093d8cbfae0a4bfd25fc75875c3aa0c923063db65b8160d9f722891918338bb",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181626739,
       "length": 54,
       "sha256": "e6092d2e61af43a7a56c7e35bf0182f8e2da8ef1bde0c3cdad079367e5921fa1",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-ze990dc9.js",
       "binary_offset": 175774711,
       "length": 51,
       "sha256": "257e912c8e1c408f660d23634e73215706679a8731ef0021343ee52ad98bfe17",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-ze990dc9.js",
       "binary_offset": 175782483,
       "length": 38,
       "sha256": "8e9ff9dd7dd2c51fbbaea3564948239d6cd89fc963fc549124eb069cdd8c1837",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-3pmzd5pm.js",
       "binary_offset": 175430467,
       "length": 42,
       "sha256": "0ec15b01f93721852428a423a77171e235e2572ef667d0364fe4ccfd3e548d68",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "remoteFlag",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's advisor flag turned on",
     "input": "toggle",
     "note": "A remote flag that is off by default in code. When Anthropic turns it on for you, the advisor becomes available without the variable. Anthropic can change it without a release.",
     "effect": {
      "value": "enabled"
     },
     "provenance": [
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181626446,
       "length": 46,
       "sha256": "d1d74cb8c57e778a6e899c6f64c8a65439ea806689eed5fa430e0688287c1b73",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "default",
     "mechanism": "default",
     "knob": null,
     "label": "Default",
     "input": null,
     "note": "When nothing above turns it on: no advisor.",
     "effect": {
      "value": "disabled"
     },
     "provenance": [
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181626446,
       "length": 46,
       "sha256": "d1d74cb8c57e778a6e899c6f64c8a65439ea806689eed5fa430e0688287c1b73",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-hzevqd7x.js",
     "binary_offset": 181626354,
     "length": 139,
     "sha256": "91ac27271c68468151edba870b5d5540f55ee08f261c6bf2d9a6c0d856889ace",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-hzevqd7x.js",
     "binary_offset": 181626253,
     "length": 101,
     "sha256": "58215f84bb2e84fb82abcb96bd80519b04f3769fee6cc7ab05e4d0363d88c17d",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-hzevqd7x.js",
     "binary_offset": 181628417,
     "length": 48,
     "sha256": "1b5ad1e60259918a5240a4a5163072722bab84c62b749907d03280cec320f221",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    }
   ]
  },
  {
   "id": "auth-source",
   "title": "API credential",
   "group": "Permissions and security",
   "question": "Which credential Claude Code sends with requests to the Anthropic API: a subscription OAuth token (as a bearer token, with no API key), an auth token, or an API key, and from which source.",
   "shape": "first-wins",
   "observe": "none",
   "value_labels": {
    "oauth-token": "CLAUDE_CODE_OAUTH_TOKEN",
    "oauth-token-fd": "OAuth token from a file descriptor or host file",
    "claude-ai": "claude.ai login",
    "auth-token": "ANTHROPIC_AUTH_TOKEN (bearer)",
    "api-key": "ANTHROPIC_API_KEY",
    "api-key-fd": "API key from a file descriptor or host file",
    "api-key-helper": "apiKeyHelper output",
    "console-key": "API key saved by /login",
    "provider": "Cloud provider credentials",
    "none": "No credential"
   },
   "fallback": {
    "value": "none"
   },
   "context": [
    {
     "key": "host",
     "label": "Running in",
     "values": [
      {
       "value": "local",
       "label": "Your terminal"
      },
      {
       "value": "hosted",
       "label": "Claude Code on the web or the desktop app (the third-party desktop app, or CLAUDE_CODE_HOST_AUTH_ENV_VAR set, behaves like your terminal)"
      }
     ]
    },
    {
     "key": "bare",
     "label": "Bare mode (--bare or CLAUDE_CODE_SIMPLE)",
     "values": [
      {
       "value": false,
       "label": "No"
      },
      {
       "value": true,
       "label": "Yes"
      }
     ]
    },
    {
     "key": "mode",
     "label": "Session",
     "values": [
      {
       "value": "interactive",
       "label": "Interactive"
      },
      {
       "value": "print",
       "label": "Non-interactive (-p)"
      }
     ]
    },
    {
     "key": "approved",
     "label": "ANTHROPIC_API_KEY approved at the prompt",
     "show_when": [
      {
       "mode": [
        "interactive"
       ]
      }
     ],
     "values": [
      {
       "value": false,
       "label": "No"
      },
      {
       "value": true,
       "label": "Yes"
      }
     ]
    }
   ],
   "realize_context": {
    "host": {
     "local": {},
     "hosted": null
    },
    "bare": {
     "false": {},
     "true": null
    },
    "mode": {
     "interactive": null,
     "print": {}
    },
    "approved": {
     "false": {},
     "true": null
    }
   },
   "bypasses": [
    {
     "id": "provider",
     "knob": "env-claude-code-use-bedrock",
     "effect": {
      "value": "provider"
     },
     "note": "Checked before the ladder: with Bedrock, Vertex or another cloud provider selected, that provider's own credentials are used. Exception: with CLAUDE_CODE_SKIP_VERTEX_AUTH, or CLAUDE_CODE_SKIP_BEDROCK_AUTH and no AWS_BEARER_TOKEN_BEDROCK (likewise the Mantle and Google Cloud skip-auth switches), the bearer header from ANTHROPIC_AUTH_TOKEN or apiKeyHelper is sent instead.",
     "provenance": [
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181689057,
       "length": 19,
       "sha256": "097000f78a1c075da4d829899a6d157bfb7b80699cb107a41754ae39aab70461",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181693512,
       "length": 18,
       "sha256": "537127629e2b3bb1ba4370d68d70a0713ed7c9220eb8fa80419d086d768025ac",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181695325,
       "length": 247,
       "sha256": "df0990d920ecfbc62b857836b9d79462fa0a055d67242dd732c72fc48dd688dc",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    }
   ],
   "rungs": [
    {
     "verified": "read",
     "id": "oauthTokenHosted",
     "mechanism": "env",
     "knob": "env-claude-code-oauth-token",
     "input": "toggle",
     "applies_when": [
      {
       "host": [
        "hosted"
       ],
       "bare": [
        false
       ]
      }
     ],
     "note": "On the web and in the desktop app a subscription token is checked before any API key or auth token. It is sent as a bearer token and no API key goes with it.",
     "effect": {
      "value": "oauth-token"
     },
     "label": "CLAUDE_CODE_OAUTH_TOKEN",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178654316,
       "length": 109,
       "sha256": "6d4282595c7532d9cbce4349d4fddefa8e4ebb29ec6d464a2fb418a364ca274e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178683286,
       "length": 631,
       "sha256": "37cddd72eee88ecf7705ff840735f6887bef00f510a45fe324cbe4deb40f8ad3",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "oauthTokenFdHosted",
     "mechanism": "env",
     "knob": "env-claude-code-oauth-token-file-descriptor",
     "input": "toggle",
     "applies_when": [
      {
       "host": [
        "hosted"
       ],
       "bare": [
        false
       ]
      }
     ],
     "note": "A subscription token read from an inherited file descriptor, or from a token file the host places at a fixed path.",
     "effect": {
      "value": "oauth-token-fd"
     },
     "label": "CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR",
     "provenance": [
      {
       "file": "chunk-v43p42ed.js",
       "binary_offset": 177829756,
       "length": 165,
       "sha256": "bc657b81dfae1ee8618b947cb674e5fc43b8ef23bedd0646ed99d17650f77e2b",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178683286,
       "length": 631,
       "sha256": "37cddd72eee88ecf7705ff840735f6887bef00f510a45fe324cbe4deb40f8ad3",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "claudeAiHosted",
     "mechanism": "default",
     "knob": null,
     "label": "Signed in with claude.ai (/login)",
     "input": "toggle",
     "applies_when": [
      {
       "host": [
        "hosted"
       ],
       "bare": [
        false
       ]
      }
     ],
     "note": "The saved claude.ai login. Not read when the host manages provider credentials (CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST).",
     "effect": {
      "value": "claude-ai"
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178683833,
       "length": 40,
       "sha256": "021a3f4ce22d2a1a371e0bab68f1e3f85972459ed50a1d7d46ef7e0ad713158f",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "authToken",
     "mechanism": "env",
     "knob": "env-anthropic-auth-token",
     "input": "toggle",
     "note": "Sent as a bearer token, and in your terminal it turns subscription sign-in off. An API key found by a lower rung is still sent with it, as x-api-key.",
     "effect": {
      "value": "auth-token"
     },
     "label": "ANTHROPIC_AUTH_TOKEN",
     "provenance": [
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181695325,
       "length": 247,
       "sha256": "df0990d920ecfbc62b857836b9d79462fa0a055d67242dd732c72fc48dd688dc",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178658230,
       "length": 367,
       "sha256": "04dd08413496cf660746108f75787022afefd659fc2b17f1d02480d758593f1e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "apiKey",
     "mechanism": "env",
     "knob": "env-anthropic-api-key",
     "input": "toggle",
     "applies_when": [
      {
       "bare": [
        true
       ]
      },
      {
       "mode": [
        "print"
       ]
      },
      {
       "approved": [
        true
       ]
      }
     ],
     "note": "Always used with -p (unless the client is the VS Code extension) and in bare mode. In an interactive session it is used only after you approve it at the prompt; an unapproved or rejected key is skipped. A configured apiKeyHelper is still sent alongside it as the bearer token, unless ANTHROPIC_AUTH_TOKEN is set.",
     "effect": {
      "value": "api-key"
     },
     "label": "ANTHROPIC_API_KEY",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178662276,
       "length": 52,
       "sha256": "a393609913188aaf2a2ca9e1759ff51b07334f0bcdc37c6d510897fbd6087ab9",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178662768,
       "length": 24,
       "sha256": "d5ff856824096b6372a05a8a4808b133a774b74dac16c896d64aff64ac362715",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "apiKeyFd",
     "mechanism": "env",
     "knob": "env-claude-code-api-key-file-descriptor",
     "input": "toggle",
     "applies_when": [
      {
       "bare": [
        false
       ]
      }
     ],
     "note": "An API key read from an inherited file descriptor, or from a key file the host places at a fixed path. Not read in bare mode.",
     "effect": {
      "value": "api-key-fd"
     },
     "label": "CLAUDE_CODE_API_KEY_FILE_DESCRIPTOR",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178662834,
       "length": 56,
       "sha256": "9113bc55b7c40e0f33ee4f9f30d7518dc9ddad2b974e0f5d6fd58ca7897c80a9",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "apiKeyHelper",
     "mechanism": "settings",
     "knob": "setting-api-key-helper",
     "input": "toggle",
     "note": "The script's output is sent as the API key and, unless ANTHROPIC_AUTH_TOKEN is set, also as a bearer token; it is cached and re-run after CLAUDE_CODE_API_KEY_HELPER_TTL_MS (default 5 minutes). In bare mode only a helper passed with --settings counts, one from project settings waits for workspace trust, and it is ignored when the host manages provider credentials.",
     "effect": {
      "value": "api-key-helper"
     },
     "label": "apiKeyHelper",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178663186,
       "length": 107,
       "sha256": "fb41c90364c35fb1cfcd01937a470e2e5ae47c99d9fd97a1ff1db630ebffc1e3",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178663856,
       "length": 209,
       "sha256": "276f74da8e18bdd9bdd2c460256e8e41d0f0483eca2e67936a832bc78f987207",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "oauthToken",
     "mechanism": "env",
     "knob": "env-claude-code-oauth-token",
     "input": "toggle",
     "applies_when": [
      {
       "host": [
        "local"
       ],
       "bare": [
        false
       ]
      }
     ],
     "note": "A subscription token, sent as a bearer token with no API key. With ANTHROPIC_UNIX_SOCKET set it is checked before any API key; with ANTHROPIC_UNIX_SOCKET set and no CLAUDE_CODE_OAUTH_TOKEN, subscription sign-in is off.",
     "effect": {
      "value": "oauth-token"
     },
     "label": "CLAUDE_CODE_OAUTH_TOKEN",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178683286,
       "length": 631,
       "sha256": "37cddd72eee88ecf7705ff840735f6887bef00f510a45fe324cbe4deb40f8ad3",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "oauthTokenFd",
     "mechanism": "env",
     "knob": "env-claude-code-oauth-token-file-descriptor",
     "input": "toggle",
     "applies_when": [
      {
       "host": [
        "local"
       ],
       "bare": [
        false
       ]
      }
     ],
     "note": "A subscription token from an inherited file descriptor or a host-provided token file. It is read before a saved login, except when the host restored the token from a background snapshot.",
     "effect": {
      "value": "oauth-token-fd"
     },
     "label": "CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR",
     "provenance": [
      {
       "file": "chunk-v43p42ed.js",
       "binary_offset": 177829756,
       "length": 165,
       "sha256": "bc657b81dfae1ee8618b947cb674e5fc43b8ef23bedd0646ed99d17650f77e2b",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178683286,
       "length": 631,
       "sha256": "37cddd72eee88ecf7705ff840735f6887bef00f510a45fe324cbe4deb40f8ad3",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "claudeAi",
     "mechanism": "default",
     "knob": null,
     "label": "Signed in with claude.ai (/login)",
     "input": "toggle",
     "applies_when": [
      {
       "host": [
        "local"
       ],
       "bare": [
        false
       ]
      }
     ],
     "note": "The login /login saved in the keychain or credentials file. It must carry the inference scope; a Console login does not, so it falls through to the next rung.",
     "effect": {
      "value": "claude-ai"
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178683833,
       "length": 40,
       "sha256": "021a3f4ce22d2a1a371e0bab68f1e3f85972459ed50a1d7d46ef7e0ad713158f",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181688184,
       "length": 58,
       "sha256": "bd85c4a189ca0a2bc1b5f8f455a9d26cad8dff24845e2e07c28b42c1bfa572ce",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "consoleKey",
     "mechanism": "default",
     "knob": null,
     "label": "API key saved by /login (Console)",
     "input": "toggle",
     "applies_when": [
      {
       "bare": [
        false
       ]
      }
     ],
     "note": "Read from the macOS keychain or Claude Code's config file. Not read when the host manages provider credentials.",
     "effect": {
      "value": "console-key"
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178677260,
       "length": 437,
       "sha256": "01d3347490adfe90f0dae3a5dad4b0185754b0c7f44ed6c79d15834d7e02acf0",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    }
   ],
   "constraints": [
    {
     "id": "orgPin",
     "mechanism": "managed",
     "knob": "setting-force-login-org-uuid",
     "note": "Checked at sign-in and before cloud sessions, not a rung. When managed settings pin an organization, an API key, auth token or apiKeyHelper makes the check fail, and an OAuth token from another organization is refused.",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178714247,
       "length": 3296,
       "sha256": "cb3bf6af33c0cc9e73417caabcddbc03363fe29a651e6e649a67b00ad4485fa0",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "id": "loginMethod",
     "mechanism": "managed",
     "knob": "setting-force-login-method",
     "note": "Checked when you sign in, not a rung: a claude.ai or Console sign-in of the other kind is refused. It does not reorder the ladder.",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178717966,
       "length": 713,
       "sha256": "e581b90c30d1ca858e96070b26c89a1af86c1fe16795dbf7c8598d56ab390614",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    }
   ],
   "details": {
    "candidate": "chunk-3kj78r2m.js:534207"
   },
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-1vt3h958.js",
     "binary_offset": 178658230,
     "length": 367,
     "sha256": "04dd08413496cf660746108f75787022afefd659fc2b17f1d02480d758593f1e",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-1vt3h958.js",
     "binary_offset": 178662009,
     "length": 1066,
     "sha256": "a5b3359a217c4835846ec2b716b023a4ccbc84c81742d9a372a7d97a62a9850a",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-hzevqd7x.js",
     "binary_offset": 181688184,
     "length": 58,
     "sha256": "bd85c4a189ca0a2bc1b5f8f455a9d26cad8dff24845e2e07c28b42c1bfa572ce",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-9m6e1078.js",
     "binary_offset": 179050963,
     "length": 128,
     "sha256": "19865e31647f26a08763fb1384f7985f249d7dbb529e237615aaf61c97796b3b",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    }
   ]
  },
  {
   "id": "auto-compact",
   "title": "Auto-compact window",
   "group": "Prompt caching and context",
   "question": "Whether Claude Code compacts the conversation automatically, and the window it compacts against: compaction starts once the conversation reaches the window minus room for the reply (up to 20,000 tokens) and a 13,000-token buffer.",
   "shape": "first-wins",
   "observe": "none",
   "value_labels": {
    "100000": "100K tokens",
    "200000": "200K tokens",
    "300000": "300K tokens",
    "500000": "500K tokens",
    "600000": "600K tokens",
    "800000": "800K tokens",
    "1000000": "1M tokens",
    "off": "Off",
    "reactive": "Only when the API rejects a too-long prompt"
   },
   "details": {
    "candidate": "chunk-x9fwahqm.js:1826361"
   },
   "notes": [
    "The built-in 200K window also applies to other 1M-capable models when CLAUDE_CODE_DISABLE_1M_CONTEXT is set or long-context credits are blocked, which this ladder does not show: for those models auto-compaction starts near 200K tokens instead of waiting for the API to reject a prompt as too long."
   ],
   "context": [
    {
     "key": "model",
     "label": "Model",
     "values": [
      {
       "value": "sonnet-5",
       "label": "Claude Sonnet 5"
      },
      {
       "value": "opus-4-8",
       "label": "Claude Opus 4.8"
      },
      {
       "value": "billed-200k",
       "label": "Claude Sonnet 4.6, Opus 4.6, Opus 5 or Opus 5.5"
      },
      {
       "value": "other",
       "label": "Another Claude model"
      },
      {
       "value": "unknown",
       "label": "A model Claude Code does not recognize"
      }
     ]
    },
    {
     "key": "window",
     "label": "Model's context window",
     "values": [
      {
       "value": "200000",
       "label": "200K tokens"
      },
      {
       "value": "1000000",
       "label": "1M tokens"
      }
     ]
    },
    {
     "key": "session",
     "label": "Session",
     "values": [
      {
       "value": "interactive",
       "label": "Interactive terminal"
      },
      {
       "value": "print",
       "label": "Print mode (-p) or Agent SDK"
      }
     ]
    },
    {
     "key": "remote",
     "label": "Claude Code on the web (CLAUDE_CODE_REMOTE)",
     "values": [
      {
       "value": false,
       "label": "No"
      },
      {
       "value": true,
       "label": "Yes"
      }
     ]
    },
    {
     "key": "desktop",
     "label": "Claude desktop app (CLAUDE_CODE_ENTRYPOINT=claude-desktop)",
     "values": [
      {
       "value": false,
       "label": "No"
      },
      {
       "value": true,
       "label": "Yes"
      }
     ]
    }
   ],
   "bypasses": [
    {
     "id": "disableCompact",
     "knob": "env-disable-compact",
     "effect": {
      "value": "off"
     },
     "note": "Checked before the ladder: no automatic compaction, and the /compact command is turned off too.",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184791935,
       "length": 60,
       "sha256": "906c83d4b3b009331d81bbf937cfd2514789b12977c75b110a6c5dec84ac6a4e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "id": "disableAutoCompact",
     "knob": "env-disable-auto-compact",
     "effect": {
      "value": "off"
     },
     "note": "Checked before the ladder: no automatic compaction. /compact still works.",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183906207,
       "length": 87,
       "sha256": "7d27ce1ad5841bcf1561d22d94f38a1f08fa1d4923c7c3303aa3b43d7f267ae9",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "id": "autoCompactSetting",
     "knob": "setting-auto-compact-enabled",
     "effect": {
      "value": "off"
     },
     "note": "Checked before the ladder when set to false. Read from the highest-priority settings file that sets it, then from the older global config the /config toggle wrote; on by default.",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183906326,
       "length": 40,
       "sha256": "a7f53a587b14b14f081d80cfb88f6f140f41eba7bf2fe7a62b5f8a3f9dcb5b94",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-n2ajxd39.js",
       "binary_offset": 179146508,
       "length": 385,
       "sha256": "a157943af381bc209a284c81131e4063ab2e3a524689f9f7f9a971c00d8b4b99",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    }
   ],
   "rungs": [
    {
     "verified": "read",
     "id": "envWindow",
     "mechanism": "env",
     "knob": "env-claude-code-auto-compact-window",
     "input": "choice",
     "accepts": [
      "100000",
      "200000",
      "300000",
      "500000",
      "800000",
      "1000000"
     ],
     "invalid_example": "0",
     "note": "Any whole number of tokens: below 100,000 is raised to 100,000 and above 1,000,000 is lowered to 1,000,000. A value that is not a positive number is skipped with a debug-log message.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_AUTO_COMPACT_WINDOW": "{value}"
      }
     },
     "label": "CLAUDE_CODE_AUTO_COMPACT_WINDOW",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183910543,
       "length": 48,
       "sha256": "0fe965b83ae7173fff1e0a57f119ed6755236ab4b4ba154afd2b8888b2739022",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-s7stjdxd.js",
       "binary_offset": 182630655,
       "length": 362,
       "sha256": "d6bb642e9cb1d0c764ccf0a7f589a4956f15507ee1809e1116fe73ff23cacfc4",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "settingWindow",
     "mechanism": "settings",
     "knob": "setting-auto-compact-window",
     "input": "choice",
     "accepts": [
      "100000",
      "200000",
      "300000",
      "500000",
      "800000",
      "1000000"
     ],
     "invalid_example": "50000",
     "note": "The /autocompact command writes this to user settings. A value outside 100,000 to 1,000,000 is dropped when settings load.",
     "effect": {
      "from": "input"
     },
     "label": "autoCompactWindow",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183910807,
       "length": 73,
       "sha256": "9b5c7dadfefed3295d34f61fec8f80bdc9299632d413415f328523f1fbded611",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-zzdcczt2.js",
       "binary_offset": 195344015,
       "length": 45,
       "sha256": "194e9b048bf49f29c8e816661d4635f814fafe5c45464b1bb7f79345bde21a9d",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "accountWindow",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's per-account window",
     "input": "choice",
     "accepts": [
      "100000",
      "200000",
      "300000",
      "500000",
      "800000",
      "1000000"
     ],
     "note": "Anthropic can send a window per model with your account data, or with your organization's startup data when you use Anthropic's API directly. None is sent by default in code. Anthropic can change it without a release.",
     "effect": {
      "from": "input"
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183909993,
       "length": 420,
       "sha256": "8d3a6782ea6b8deb912de10d2e7473452c6711e6a77c5ad4a77d19aaaab7e374",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183910968,
       "length": 20,
       "sha256": "9147420780bd41c9c160148035ec8a48d9410771c4dae1c4408875ec45850ecb",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178427467,
       "length": 92,
       "sha256": "8ce376352c41a8ba5ccf2a70b2dfa4bd02014c79b117a741e7e61f647a61a32d",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "experiment",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's Opus 4.8 window experiment",
     "input": "choice",
     "accepts": [
      "100000",
      "200000",
      "300000",
      "500000",
      "800000",
      "1000000"
     ],
     "applies_when": [
      {
       "model": [
        "opus-4-8"
       ],
       "session": [
        "interactive"
       ]
      }
     ],
     "note": "Claude Opus 4.8 in an interactive session only; print mode (-p) and the Agent SDK skip it. Two remote flags, empty by default in code, can set a window. Anthropic can change them without a release.",
     "effect": {
      "from": "input"
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183911057,
       "length": 20,
       "sha256": "59de2eeb77d71104e203bdaf6efe33af87df61c88ac7c3e8cf7e6378290e0c8b",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183909032,
       "length": 33,
       "sha256": "3271f0349fb6db950d4b5d056b9543e3554cbb4a51a2ef30b04893d8fe229870",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-bav4p6fn.js",
       "binary_offset": 175552091,
       "length": 60,
       "sha256": "f5e881f74d73a72b2d3e6df8703d73308605b438a37b2076e70eac8faf4a2aaa",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183906040,
       "length": 21,
       "sha256": "53d3782341125d7e3d4a151f75e4071aea27d23bc3feebe21d6c13023485f111",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183906062,
       "length": 50,
       "sha256": "6cb6ef8b9b4430283c9478a05a2c9fe5348215d1164634408f872da796f0fef7",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "desktopExperiment",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's desktop app window experiment",
     "input": "choice",
     "accepts": [
      "500000",
      "600000"
     ],
     "applies_when": [
      {
       "desktop": [
        true
       ],
       "window": [
        "1000000"
       ]
      }
     ],
     "note": "Claude desktop app only, for a model whose 1M-token window is native here, when the Opus 4.8 experiment sets nothing. A remote flag, empty by default in code, can pick 600K or 500K. Anthropic can change it without a release.",
     "effect": {
      "from": "input"
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183909344,
       "length": 48,
       "sha256": "08ba1fb92e0f8d0ce110d3d197b720df5503e6d1336f3a918e1a5a02900a8c17",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183909190,
       "length": 154,
       "sha256": "186d557026b8108d89bbbb484d08aa83984ce71cb3d42faa93b3cc7bffc184cd",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183909143,
       "length": 46,
       "sha256": "f3abfe140f97407d216325c072c0465534a98417605002baf9a7262019255162",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183906175,
       "length": 32,
       "sha256": "454dfd548b627d6232b8833c8a4952f6ed2b613273da001ec13edcae99dda1ec",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183906147,
       "length": 27,
       "sha256": "8ab5bf758473f71a046dc589e2c273efe6b4082a7a1891df398c980e60f13acf",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "billed200k",
     "mechanism": "default",
     "knob": null,
     "label": "Built-in 200K window",
     "input": null,
     "applies_when": [
      {
       "window": [
        "200000"
       ],
       "model": [
        "opus-4-8",
        "billed-200k"
       ]
      }
     ],
     "note": "Claude Sonnet 4.6, Opus 4.6, Opus 4.8, Opus 5 and Opus 5.5 compact at 200K when their context window is under 1M. Other 1M-capable models get the same when CLAUDE_CODE_DISABLE_1M_CONTEXT is set or long-context credits are blocked.",
     "effect": {
      "value": "200000"
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183911078,
       "length": 79,
       "sha256": "49733aa42fcf2fbe7ab85c59428892038f88035ec5f3fceba75f0a0fd551ec6c",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183903743,
       "length": 104,
       "sha256": "43626eb20641e999d7c7acc331a7b95c62c8254692482d89b78a5b954bb7c153",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183909930,
       "length": 63,
       "sha256": "e2e3866d893b017a5bf8f9f949ac84f31ed853d39bd2716777aa635e5b0cf18f",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178427103,
       "length": 58,
       "sha256": "8d96b146da00b39ac4cf57b633c50e6e243f5af0807489aae86742cae434c99a",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "sonnet5Default",
     "mechanism": "default",
     "knob": null,
     "label": "Built-in window for Claude Sonnet 5",
     "input": null,
     "applies_when": [
      {
       "model": [
        "sonnet-5"
       ]
      }
     ],
     "note": "1M tokens, or 500K in Cowork and local-agent sessions. Skipped when Anthropic's organization startup data lists the model.",
     "effect": {
      "value": "1000000"
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183911304,
       "length": 36,
       "sha256": "aa6b955bd7013c9fbfd14bdcac817bb46eef67521b9a60aed5f16d0520fd9819",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183909403,
       "length": 109,
       "sha256": "db5057639b36764446e0b5858d5c0b4c3d5137eb58597213bebcc59188d46b6c",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "native1m",
     "mechanism": "default",
     "knob": null,
     "label": "Model with a native 1M window",
     "input": null,
     "applies_when": [
      {
       "window": [
        "1000000"
       ]
      }
     ],
     "note": "A model whose 1M-token window is native here uses all of it. Skipped when Anthropic's organization startup data lists the model.",
     "effect": {
      "value": "1000000"
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183911341,
       "length": 51,
       "sha256": "628e88cb7938ab66b386544f73aaae48859dca74b2e81edf1049d392608fd8ea",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "unknownModel",
     "mechanism": "default",
     "knob": null,
     "label": "Unrecognized model",
     "input": null,
     "applies_when": [
      {
       "model": [
        "unknown"
       ]
      }
     ],
     "note": "A model Claude Code does not recognize compacts at its full context window. CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT skips this rung.",
     "effect": {
      "by_context": [
       {
        "when": {
         "window": [
          "1000000"
         ]
        },
        "value": "1000000"
       },
       {
        "when": {},
        "value": "200000"
       }
      ]
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183911586,
       "length": 23,
       "sha256": "4b346da5ce940f4e224c470b3e17a5360c7ac420b6480c1ef9f303070a372de5",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "noWindow",
     "mechanism": "default",
     "knob": null,
     "label": "No window configured",
     "input": null,
     "note": "Nothing above answers, so there is no threshold: Claude Code compacts when the API rejects a prompt as too long. On Claude Code on the web a remote flag, off by default in code, decides; while it is off, compaction runs at the full context window.",
     "effect": {
      "by_context": [
       {
        "when": {
         "remote": [
          true
         ],
         "window": [
          "1000000"
         ]
        },
        "value": "1000000"
       },
       {
        "when": {
         "remote": [
          true
         ]
        },
        "value": "200000"
       },
       {
        "when": {},
        "value": "reactive"
       }
      ]
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183911610,
       "length": 43,
       "sha256": "9b08f7bf0279163a242900cf89d733201bf9cf048195857656a26b32223b2c37",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183906573,
       "length": 93,
       "sha256": "c903bbfddba18fac70d262f168a09c8f56552f70b44ba030e7b172744ecd6400",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "constraints": [
    {
     "id": "modelWindow",
     "knob": null,
     "label": "The model's context window",
     "applies_when": [
      {}
     ],
     "note": "A window larger than the model's context window is cut down to it.",
     "cap": {
      "by_context": [
       {
        "when": {
         "window": [
          "200000"
         ]
        },
        "value": "200000"
       },
       {
        "when": {},
        "value": "1000000"
       }
      ]
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183910807,
       "length": 73,
       "sha256": "9b5c7dadfefed3295d34f61fec8f80bdc9299632d413415f328523f1fbded611",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "id": "pctOverride",
     "knob": "env-claude-autocompact-pct-override",
     "note": "Leaves the window alone but moves the trigger earlier: any percent above 0 and up to 100 of the window after the reply room, never later than the usual trigger. Other values are ignored.",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183908167,
       "length": 139,
       "sha256": "a9294331979e38c66b0abac730ea7ec6db86dae171e0c6c2065d32e9c1816cb3",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    }
   ],
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 183906207,
     "length": 87,
     "sha256": "7d27ce1ad5841bcf1561d22d94f38a1f08fa1d4923c7c3303aa3b43d7f267ae9",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 183910413,
     "length": 1241,
     "sha256": "5a12aef2a44583e6dbcf5e723f0ba6c633167d14c131e6f5c02819c3be96f4a4",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 184791597,
     "length": 302,
     "sha256": "2339c00082c9365d85e003478988931584bfa8f3da78bca01d6bf98101c5768e",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    }
   ]
  },
  {
   "id": "auto-memory",
   "title": "Automatic memory",
   "group": "Prompt caching and context",
   "question": "Whether Claude Code keeps automatic memory for the session: loads the project's memory folder into its instructions and may read and write files there.",
   "shape": "first-wins",
   "observe": "none",
   "value_labels": {
    "enabled": "Auto memory on",
    "disabled": "Auto memory off"
   },
   "details": {
    "candidate": "chunk-qehhcpvf.js:145295",
    "restricted_session_anchors": [
     {
      "file": "chunk-ceeyzz98.js",
      "find": "function MT(){return n().host.launchOptions.restrictedSession()}",
      "span": "text"
     },
     {
      "file": "chunk-3kj78r2m.js",
      "find": "if(MT())return\"off\";let e=process.env.CLAUDE_CODE_DISABLE_AUTO_MEMORY;",
      "span": "text"
     }
    ]
   },
   "context": [],
   "realize_context": {},
   "notes": [
    "Auto memory is a folder of plain files on your machine. By default it is ~/.claude/projects/<project>/memory/, where <project> is the project's root folder path turned into a folder name, and MEMORY.md in it is the index Claude Code loads at the start of a session.",
    "CLAUDE_CODE_REMOTE_MEMORY_DIR replaces ~/.claude as the base of that default path. The folder itself can be moved: CLAUDE_COWORK_MEMORY_PATH_OVERRIDE wins, then autoMemoryDirectory from managed settings, --settings, local and project settings (only in a trusted folder or a non-interactive run), then user settings.",
    "Using the /memory toggle to turn auto memory on or off writes autoMemoryEnabled to your user settings file. Setting autoMemoryEnabled yourself in a settings file writes nothing else. /pause-memory turns auto memory off for the current session only.",
    "Memory stores are a separate decision: shared stores mounted next to your own memory, used when a remote flag (off by default in code) is on or CLAUDE_MEMORY_STORES is set. Whether Claude reaches memory through plain files or through memory tools is also decided separately, partly by another remote flag.",
    "A session that the app launching Claude Code marks as restricted also has no auto memory, whatever is set on this ladder."
   ],
   "bypasses": [
    {
     "id": "safeModeEnv",
     "knob": "env-claude-code-safe-mode",
     "effect": {
      "value": "disabled"
     },
     "note": "Checked before the ladder: safe mode turns auto memory off, even with CLAUDE_CODE_DISABLE_AUTO_MEMORY=0. 1, true, yes and on count as set.",
     "realize": {
      "env": {
       "CLAUDE_CODE_SAFE_MODE": "1"
      }
     },
     "provenance": [
      {
       "file": "chunk-2tefsj0f.js",
       "binary_offset": 175591037,
       "length": 77,
       "sha256": "7c84f42236b5db883e5b97c3d346ec8934a1ea4df9015db90775c0871866d274",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "id": "safeModeFlag",
     "knob": "cli-flag-safe-mode",
     "effect": {
      "value": "disabled"
     },
     "note": "Checked before the ladder: --safe-mode does the same as CLAUDE_CODE_SAFE_MODE.",
     "realize": {
      "args": [
       "--safe-mode"
      ]
     },
     "provenance": [
      {
       "file": "chunk-2tefsj0f.js",
       "binary_offset": 175591037,
       "length": 77,
       "sha256": "7c84f42236b5db883e5b97c3d346ec8934a1ea4df9015db90775c0871866d274",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "rungs": [
    {
     "verified": "read",
     "id": "pauseMemory",
     "mechanism": "cli",
     "knob": null,
     "label": "/pause-memory in this session",
     "input": "toggle",
     "note": "Checked first: once memory is paused for the session, nothing below turns it back on, not even CLAUDE_CODE_DISABLE_AUTO_MEMORY=0.",
     "effect": {
      "value": "disabled"
     },
     "provenance": [
      {
       "file": "chunk-bav4p6fn.js",
       "binary_offset": 175555433,
       "length": 57,
       "sha256": "7c9dfd9c4490dc234aadeafc1eee2cbf2e669b1626fda78f6f631d66730cd488",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-r4xrzyvn.js",
       "binary_offset": 199025056,
       "length": 53,
       "sha256": "6879757e1e9c4c544ff0aab3258bdf30ea6e4874a5f03c78363165a55122379e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "envDisable",
     "mechanism": "env",
     "knob": "env-claude-code-disable-auto-memory",
     "input": "choice",
     "accepts": [
      "1",
      "true",
      "yes",
      "on",
      "0",
      "false",
      "no",
      "off"
     ],
     "invalid_example": "2",
     "note": "1, true, yes or on turns auto memory off. 0, false, no or off forces it on and skips everything below, including autoMemoryEnabled set to false. Any other value counts as unset.",
     "effect": {
      "by_context": [
       {
        "when": {
         "value": [
          "1",
          "true",
          "yes",
          "on"
         ]
        },
        "value": "disabled"
       },
       {
        "when": {},
        "value": "enabled"
       }
      ]
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_DISABLE_AUTO_MEMORY": "{value}"
      }
     },
     "label": "CLAUDE_CODE_DISABLE_AUTO_MEMORY",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178559672,
       "length": 124,
       "sha256": "aab57d6ba2a750e32c0867ed7bd59d18dc07d267c89e4b93f30ee6f38e881528",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-3pmzd5pm.js",
       "binary_offset": 175430617,
       "length": 43,
       "sha256": "b224b77fc82df4d815d13ccc15c15dbf05250688e4392d757c621098ef34a087",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "bareMode",
     "mechanism": "env",
     "knob": "env-claude-code-simple",
     "input": "toggle",
     "note": "Bare mode turns auto memory off. CLAUDE_CODE_SIMPLE counts as set when it is 1, true, yes or on, and --bare sets the same switch.",
     "effect": {
      "value": "disabled"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_SIMPLE": "1"
      }
     },
     "label": "CLAUDE_CODE_SIMPLE",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178559796,
       "length": 47,
       "sha256": "f092441bb5e7ba994175fa290dce8bba80d02953c5f91e711298af8d24dce2bf",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-2tefsj0f.js",
       "binary_offset": 175591287,
       "length": 70,
       "sha256": "05d0a4571adf785f42412703ee12f32fa1aad3b6094d7bbe2807666720b5ca65",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "remoteNoDir",
     "mechanism": "env",
     "knob": "env-claude-code-remote",
     "input": "toggle",
     "note": "A remote session has no auto memory unless CLAUDE_CODE_REMOTE_MEMORY_DIR or CLAUDE_COWORK_MEMORY_PATH_OVERRIDE gives it a folder. CLAUDE_CODE_REMOTE counts as set when it is 1, true, yes or on. With either folder variable set, this rung does not answer.",
     "effect": {
      "value": "disabled"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_REMOTE": "1"
      }
     },
     "label": "CLAUDE_CODE_REMOTE",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178559843,
       "length": 120,
       "sha256": "43ab58994ddfaf134929e5876677100e9a6f9d59a013449070881384e69c42ed",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "modelFlag",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's per-model memory switch",
     "input": "toggle",
     "note": "Two remote flags: a list of model names (empty by default in code) and a switch (off by default in code). When the switch is on and the session's model name contains a listed name, auto memory is off. CLAUDE_CODE_DISABLE_AUTO_MEMORY=0 skips this check. Anthropic can change both without a release.",
     "effect": {
      "value": "disabled"
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178560154,
       "length": 82,
       "sha256": "6417dc0252b645a7e38614bd4dd639328a38156f4bcf1a7c986fc7640311d3fc",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178560310,
       "length": 34,
       "sha256": "5525d5c6fdafe6d9262c93902d7640ba4b48df6976d66ca5d69c7c5495004d09",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "settingEnabled",
     "mechanism": "settings",
     "knob": "setting-auto-memory-enabled",
     "input": "choice",
     "accepts": [
      "true",
      "false"
     ],
     "note": "Read from the merged settings, so any settings file Claude Code loads can set it. true turns auto memory on, false turns it off. The /memory toggle writes this key to your user settings.",
     "effect": {
      "by_context": [
       {
        "when": {
         "value": [
          "true"
         ]
        },
        "value": "enabled"
       },
       {
        "when": {},
        "value": "disabled"
       }
      ]
     },
     "label": "autoMemoryEnabled",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178559142,
       "length": 93,
       "sha256": "8deb39282189ee2ccb0af7b594241c736f538ac108d484ccc1243fe7e066b55d",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-n30gnfqc.js",
       "binary_offset": 213751141,
       "length": 49,
       "sha256": "15c110b3c2695ff1a8937eb4fa6b2d02cc6c318e6e1d9566b8661d7356c0462f",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "defaultOn",
     "mechanism": "default",
     "knob": null,
     "label": "Default",
     "input": null,
     "note": "When nothing above answers, auto memory is on.",
     "effect": {
      "value": "enabled"
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178559167,
       "length": 82,
       "sha256": "035cb7e7db6213c6e6bf453209fc2e943bf5b19991a081d5bf228a0fb25eec30",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-1vt3h958.js",
     "binary_offset": 178558861,
     "length": 44,
     "sha256": "d3853b07f9c5b245268cd1cc873c499e2aeaed9f7cf1f2a3da5efac55364a2d5",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-1vt3h958.js",
     "binary_offset": 178558905,
     "length": 120,
     "sha256": "d03997c64cc69a9330a434658b863ab53a1241487afd5ae4fd93b10f05e49bd6",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-1vt3h958.js",
     "binary_offset": 178559618,
     "length": 178,
     "sha256": "f450faadc89a25f99af58457cc3aa1f81e08cc3726f6032fd130ad0295f8e2bb",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-1vt3h958.js",
     "binary_offset": 178559796,
     "length": 167,
     "sha256": "d7eb494f08011ce21df3d312c19152f765962176ebc7e315ee81771f6a9d7882",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-1vt3h958.js",
     "binary_offset": 178558861,
     "length": 44,
     "sha256": "d3853b07f9c5b245268cd1cc873c499e2aeaed9f7cf1f2a3da5efac55364a2d5",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-1vt3h958.js",
     "binary_offset": 178558905,
     "length": 120,
     "sha256": "d03997c64cc69a9330a434658b863ab53a1241487afd5ae4fd93b10f05e49bd6",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-1vt3h958.js",
     "binary_offset": 178559618,
     "length": 54,
     "sha256": "e17ba8f1923a65a664f5b42049042dfa68ffff26a81925517fc3e387cddffd61",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-4f79m39g.js",
     "binary_offset": 179565404,
     "length": 18,
     "sha256": "4e1b92669864cf8c7039d738752bf2fbeb5e8b38abf7fed744b530f6ff322312",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    }
   ],
   "constraints": []
  },
  {
   "id": "bash-output-limit",
   "title": "Bash output limit",
   "group": "Tools and output",
   "question": "How many characters of a Bash or PowerShell command's output Claude receives in the tool result before the rest is saved to a file and replaced by a short preview.",
   "shape": "first-wins",
   "observe": "none",
   "value_labels": {
    "remote": "Set by Anthropic, up to the read-back size"
   },
   "context": [
    {
     "key": "remote",
     "label": "Per-tool threshold sent by Anthropic",
     "values": [
      {
       "value": "none",
       "label": "None (the default)"
      },
      {
       "value": "set",
       "label": "Set for Bash or PowerShell"
      }
     ]
    }
   ],
   "realize_context": {
    "remote": {
     "none": {},
     "set": null
    }
   },
   "rungs": [
    {
     "verified": "read",
     "id": "remoteThreshold",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's per-tool threshold",
     "input": null,
     "applies_when": [
      {
       "remote": [
        "set"
       ]
      }
     ],
     "note": "A table Anthropic sends can set the inline threshold for each tool by name, replacing the setting's value or the 30,000 default, even past 128,000. The table is empty in the code, so nothing changes unless Anthropic sends a value, which it can do without a release. Output past the read-back size (the setting, the environment variable up to 150,000, or 30,000) is still saved to a file, so the limit goes no higher than that.",
     "effect": {
      "value": "remote"
     },
     "provenance": [
      {
       "file": "chunk-9z4jqqwq.js",
       "binary_offset": 182533424,
       "length": 59,
       "sha256": "1604b634fc5db0780fe039cd05d9a47d3d30588347343b8b6533dcf4b630bb53",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-9z4jqqwq.js",
       "binary_offset": 182533570,
       "length": 76,
       "sha256": "d6617b619fa7e0b8379b5a14b9e752c26950ff6716ed32f969b536a8b6a8d291",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "settings",
     "mechanism": "settings",
     "knob": "setting-bash-output-max-chars",
     "input": "choice",
     "accepts": [
      "10000",
      "100000",
      "200000"
     ],
     "invalid_example": "0",
     "note": "A whole number, used for both Bash and PowerShell. Values below 4,000 are raised to 4,000 and values above 128,000 are lowered to it; zero, negatives, fractions and non-numbers are dropped without a warning. When set, the environment variable is ignored.",
     "effect": {
      "from": "input"
     },
     "label": "bashOutputMaxChars",
     "provenance": [
      {
       "file": "chunk-18sktzq8.js",
       "binary_offset": 176212923,
       "length": 64,
       "sha256": "b0e98e00c0417c037b5d4572f8185ec9c54e2180c10a1ba4aaf5383d41a418a6",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-s7stjdxd.js",
       "binary_offset": 182631096,
       "length": 71,
       "sha256": "87274711c127313a962d2507d8e7b2a273fb904f795d9f6c870f644cbb1cc4aa",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-s7stjdxd.js",
       "binary_offset": 182631257,
       "length": 72,
       "sha256": "9e5a4738b58503e35374d59dfbfd1c6c4f172bd4003d9812cd38a694792d0a63",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-3zhhn859.js",
       "binary_offset": 177030542,
       "length": 19,
       "sha256": "5eb3224e43cbe0ae849ac52dd4ed486dcacc335520d3835b394d6ed35f4f0813",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "env",
     "mechanism": "env",
     "knob": "env-bash-max-output-length",
     "input": "choice",
     "accepts": [
      "10000",
      "100000"
     ],
     "invalid_example": "0",
     "note": "Used only when the setting is not set. It sizes how much output is read back from the command, so it can shrink the limit below 30,000 but cannot raise it past the 30,000 inline threshold unless Anthropic's per-tool table sets a higher one. Zero, negatives and non-numbers fall back to 30,000 with only a debug-log line; values above 150,000 are lowered to it.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "env": {
       "BASH_MAX_OUTPUT_LENGTH": "{value}"
      }
     },
     "label": "BASH_MAX_OUTPUT_LENGTH",
     "provenance": [
      {
       "file": "chunk-s7stjdxd.js",
       "binary_offset": 182631167,
       "length": 89,
       "sha256": "2af543ae65e4d9d7cae6936e0014bfae150539224957a36dd554955592df93f9",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-s7stjdxd.js",
       "binary_offset": 182630655,
       "length": 362,
       "sha256": "d6bb642e9cb1d0c764ccf0a7f589a4956f15507ee1809e1116fe73ff23cacfc4",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "default",
     "mechanism": "default",
     "knob": null,
     "label": "Built-in default",
     "input": null,
     "note": "30,000 characters.",
     "effect": {
      "value": "30000"
     },
     "provenance": [
      {
       "file": "chunk-s7stjdxd.js",
       "binary_offset": 182631017,
       "length": 25,
       "sha256": "df1a1d24e78e0ff3fc93ce2373e70ed624e86599ecebfd1fec7e7edb38920d76",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "constraints": [
    {
     "id": "inlineThreshold",
     "label": "Inline size threshold",
     "applies_when": [
      {}
     ],
     "cap": {
      "by_context": [
       {
        "when": {
         "rung.settings": [
          "10000",
          "100000",
          "200000"
         ]
        },
        "value": "128000"
       },
       {
        "when": {},
        "value": "30000"
       }
      ]
     },
     "note": "Output longer than what is read back, or longer than this threshold, is saved to a file, and Claude gets the first 2,000 characters plus the file's path instead. The threshold is the setting's value, at most 128,000, or 30,000 when the setting is not set, unless Anthropic's per-tool table replaces it; the environment variable does not change it.",
     "provenance": [
      {
       "file": "chunk-9z4jqqwq.js",
       "binary_offset": 182533484,
       "length": 183,
       "sha256": "187948de6186402a263bbcf53e9d572bd106dbe24652e726c5440ee663f54c0f",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-9z4jqqwq.js",
       "binary_offset": 182533667,
       "length": 13,
       "sha256": "4f1577e4b8f595ab1f14610e4980769067fc35eb45e7892c9c984973a842b096",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 182982963,
       "length": 57,
       "sha256": "6c9c0aba1541d258bdf1bc88a1929fd7b32447d98669a686d9665927e861c924",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 186521790,
       "length": 23,
       "sha256": "a0f1520187026b4c1356cb2e450e2dd89011a5a833ccaac2f7bb1440d29932d6",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "details": {
    "candidate": "chunk-7ks9wn7n.js:2460"
   },
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-s7stjdxd.js",
     "binary_offset": 182631096,
     "length": 161,
     "sha256": "02e26ffb3626199749a77ed6aca5884825b0cdd831fa117af3a077bcba7b0bae",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-s7stjdxd.js",
     "binary_offset": 182631042,
     "length": 54,
     "sha256": "86d021e1654cb461011ec2cc7c02ccaa930e9abb8dfc90e5c2b277e82abb7120",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 182976951,
     "length": 64,
     "sha256": "c89ce6c80f5f767389f518f0428b95b1d82c0453eb667794fa0bbfaa9be41c5f",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 186628054,
     "length": 167,
     "sha256": "6c5c0ae1542b9c8d553f20f4743f641eb86d07fc0633876626cdec538e2eeacc",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    }
   ],
   "bypasses": []
  },
  {
   "id": "effort-level",
   "title": "Reasoning effort",
   "group": "Models and reasoning",
   "question": "Which reasoning effort (low, medium, high, xhigh or max) Claude Code asks the API for, sent as output_config.effort on each request.",
   "shape": "first-wins",
   "observe": "effort",
   "value_labels": {
    "low": "Low",
    "medium": "Medium",
    "high": "High",
    "xhigh": "Extra high",
    "max": "Max",
    "none": "Not sent"
   },
   "details": {
    "candidate": "effort-level"
   },
   "context": [
    {
     "key": "model",
     "label": "Model",
     "values": [
      {
       "value": "opus-5-5",
       "label": "Opus 5.5 (the default)"
      },
      {
       "value": "other",
       "label": "Opus 5, Fable 5.1, Sonnet 5 or an older model"
      }
     ]
    },
    {
     "key": "provider",
     "label": "Provider",
     "values": [
      {
       "value": "anthropic",
       "label": "Anthropic"
      },
      {
       "value": "other",
       "label": "Bedrock, Vertex or Foundry"
      }
     ]
    }
   ],
   "realize_context": {
    "model": {
     "opus-5-5": {},
     "other": null
    },
    "provider": {
     "anthropic": {},
     "other": null
    }
   },
   "rungs": [
    {
     "verified": "read",
     "id": "extraBody",
     "mechanism": "env",
     "knob": "env-claude-code-extra-body",
     "input": "choice",
     "note": "An output_config.effort inside CLAUDE_CODE_EXTRA_BODY is sent as written. It is not checked or capped by maxEffortLevel.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_EXTRA_BODY": "{\"output_config\":{\"effort\":\"{value}\"}}"
      }
     },
     "label": "CLAUDE_CODE_EXTRA_BODY",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184915124,
       "length": 23,
       "sha256": "2338d0aa204a7064543b93d9468c4577fd542237e312ae8d7724554428e8eda8",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "tested",
     "id": "env",
     "mechanism": "env",
     "knob": "env-claude-code-effort-level",
     "input": "choice",
     "accepts": [
      "low",
      "medium",
      "high",
      "xhigh",
      "max"
     ],
     "invalid_example": "extreme",
     "note": "Case does not matter, and med means medium. Any other value is ignored without a warning. It wins over agent and skill effort, --effort and settings.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_EFFORT_LEVEL": "{value}"
      }
     },
     "label": "CLAUDE_CODE_EFFORT_LEVEL",
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179157569,
       "length": 119,
       "sha256": "0824e0e582b2876f7ff5fde8d4fc415149e1ebab1d1a543c71b2bbca427c247a",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "envAuto",
     "mechanism": "env",
     "knob": "env-claude-code-effort-level",
     "label": "CLAUDE_CODE_EFFORT_LEVEL=auto",
     "input": "choice",
     "accepts": [
      "auto",
      "unset"
     ],
     "note": "auto or unset sends no effort, so the API uses its own default. If a maxEffortLevel cap is set, the model's default is sent instead. It shares its variable with the rung above, so only one of them can be set.",
     "effect": {
      "value": "none"
     },
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179161550,
       "length": 23,
       "sha256": "3726db97ef12136bbf61cad91307cc0d0e6a918dd68759eca514212f6dbd23ef",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "frontmatter",
     "mechanism": "frontmatter",
     "knob": null,
     "label": "Agent or skill effort",
     "input": "choice",
     "note": "An agent's effort frontmatter applies to that agent's requests, and a skill's effort applies while the skill runs. Either wins over --effort and settings.",
     "effect": {
      "from": "input"
     },
     "provenance": [
      {
       "file": "chunk-7dz9rvcm.js",
       "binary_offset": 190123062,
       "length": 57,
       "sha256": "cfb622fd847963cad3143bab6c743e38c0db059e17c98b5afe63d4a3b4743ddb",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-cxwzffjk.js",
       "binary_offset": 190253002,
       "length": 46,
       "sha256": "d3c9cd3b55173dec875637b9a8553d89188e67d6b7f9336dce2eddd4fad04b26",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-0maet51z.js",
       "binary_offset": 179221212,
       "length": 71,
       "sha256": "174e0b0866c1906b091f534aed674f7ac6f5b64d3c3b78f27bcde9473c7727fb",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "tested",
     "id": "cli",
     "mechanism": "cli",
     "knob": "cli-flag-effort",
     "input": "choice",
     "accepts": [
      "low",
      "medium",
      "high",
      "xhigh",
      "max"
     ],
     "note": "For this session. Case does not matter, med means medium and ultracode means xhigh. Any other value prints a warning and is ignored.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "args": [
       "--effort",
       "{value}"
      ]
     },
     "label": "--effort <level>",
     "provenance": [
      {
       "file": "chunk-2crv8d5h.js",
       "binary_offset": 192108666,
       "length": 35,
       "sha256": "ea28edc6460b2617eb27d725b3ebe8c7685315818376d7b79824183440b8bc8d",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179157101,
       "length": 22,
       "sha256": "3b7ff74d8e21d781373e1d884d7a30b5e1c19819d6da99dabf04ba6a1769d25c",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179161049,
       "length": 27,
       "sha256": "bc30cfed748a878b534624bc4550bed4b3b794e67d8284156da6dfc60e08a035",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "tested",
     "id": "setting",
     "mechanism": "settings",
     "knob": "setting-effort-level",
     "label": "effortLevel in a project, local, --settings or managed file",
     "input": "choice",
     "accepts": [
      "low",
      "medium",
      "high",
      "xhigh"
     ],
     "invalid_example": "max",
     "note": "The highest-priority file that sets it wins, and it replaces the user file's value. It beats a modelSettings entry in a lower-priority file, such as a per-model choice saved in your user file. max is not accepted: the model's default is used.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "args": [
       "--settings",
       "{\"effortLevel\":\"{value}\"}"
      ]
     },
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179159561,
       "length": 33,
       "sha256": "edf4325086041bd1a1e20d46a8d9bbd94643738bd033ebf115dd447bc993467d",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179157420,
       "length": 28,
       "sha256": "c21f8164280f56c5a2676e1fbd153b4af8535ebc847c125867e04f3d99ff43d1",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "tested",
     "id": "modelSettings",
     "mechanism": "settings",
     "knob": "setting-model-settings",
     "label": "modelSettings.<model>.effortLevel",
     "input": "choice",
     "accepts": [
      "low",
      "medium",
      "high",
      "xhigh"
     ],
     "note": "An effortLevel for the model in use, keyed by its canonical name; Claude Code saves per-model effort choices here. Within one file it beats that file's effortLevel. max is not accepted; any other value means the model's default.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "settings": {
       "modelSettings": {
        "claude-opus-5-5": {
         "effortLevel": "{value}"
        }
       }
      }
     },
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179159747,
       "length": 44,
       "sha256": "14c9643c6161c9d042f244f218331c9f45aeab8d9676633ede3cedf905193947",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "userSetting",
     "mechanism": "settings",
     "knob": "setting-effort-level",
     "label": "effortLevel in the user settings file",
     "input": "choice",
     "accepts": [
      "low",
      "medium",
      "high",
      "xhigh"
     ],
     "invalid_example": "max",
     "applies_when": [
      {
       "model": [
        "other"
       ]
      }
     ],
     "note": "An older form: it applies only to models from before Claude Code started saving effort per model under modelSettings, and never to Opus 5.5. On some older installs it also skips Opus 4.7, Opus 4.8 and Fable 5.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "settings": {
       "effortLevel": "{value}"
      }
     },
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179159462,
       "length": 43,
       "sha256": "882269fc2ebf24ccaf86c17e4a5be27e10ab17999ca799bafb1cd72a8347f94a",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179160663,
       "length": 39,
       "sha256": "8742f5f36e9019ac5b0c0248ef10756269e61f89e6bb8fe863d60790a93d0b09",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "orgDefault",
     "mechanism": "default",
     "knob": null,
     "label": "Your organization's default model",
     "input": "choice",
     "accepts": [
      "low",
      "medium",
      "high",
      "xhigh",
      "max"
     ],
     "applies_when": [
      {
       "provider": [
        "anthropic"
       ]
      }
     ],
     "note": "When your organization picks a default model with its own effort level and you are using that model. Anthropic provider only.",
     "effect": {
      "from": "input"
     },
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179155728,
       "length": 266,
       "sha256": "cac052ae5e85e9779f583f1813643ab4046d102c03718f0f6095e5ad6e69798e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "remoteDefault",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's per-model default",
     "input": "choice",
     "accepts": [
      "low",
      "medium",
      "high",
      "xhigh",
      "max"
     ],
     "note": "A remote flag can set a default effort per model. In code it sets none. Anthropic can change it without a release.",
     "effect": {
      "from": "input"
     },
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179163702,
       "length": 25,
       "sha256": "94c702604e411d3dfcb712c70559016e0aeb97c3527248517bf13b935d206dce",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "modelDefault",
     "mechanism": "default",
     "knob": null,
     "label": "The model's default",
     "input": null,
     "note": "The model's own default from Claude Code's model list: medium for Opus 5.5, high for most others. A model with no listed default gets high.",
     "effect": {
      "by_context": [
       {
        "when": {
         "model": [
          "opus-5-5"
         ]
        },
        "value": "medium"
       },
       {
        "when": {},
        "value": "high"
       }
      ]
     },
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179164052,
       "length": 40,
       "sha256": "39c8193e90a7ab07a06b3eb5a85c08a9f0964cd8031ec5f638b4d9e56766cac5",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-y5k20gt2.js",
       "binary_offset": 176660729,
       "length": 49,
       "sha256": "1d02675bce8c63d209ff0871fcf7c34e774100488e33b92ec9610f87f93cdd10",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "constraints": [
    {
     "id": "unsupportedModel",
     "knob": null,
     "label": "Models without effort support get no effort at all.",
     "effect": {
      "value": "none"
     },
     "note": "Models Claude Code does not treat as effort-capable, such as Claude 3, Opus 4.0 and 4.1, Sonnet 4.0 and 4.5 and Haiku 4.5, get no effort at all, even one put in CLAUDE_CODE_EXTRA_BODY. CLAUDE_CODE_ALWAYS_ENABLE_EFFORT turns effort on for model IDs Claude Code does not recognize.",
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179153061,
       "length": 451,
       "sha256": "f342019af747312493bab52f294b32c8be1471646b7e92ca289756b99d534d19",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184915090,
       "length": 34,
       "sha256": "e6ebe881af880123f69484e1bf482ed58b5f10e1e09f163bfc481a6df92be6bc",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "id": "maxEffortLevel",
     "knob": "setting-max-effort-level",
     "label": "maxEffortLevel caps the result: a higher level is lowered to it.",
     "note": "Across settings files the lowest cap wins, modelSettings.<model>.maxEffortLevel replaces it for one model, and an organization's cap for the model counts too. A cap of max changes nothing. It does not apply to CLAUDE_CODE_EXTRA_BODY.",
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179154990,
       "length": 428,
       "sha256": "fb2c77f706839571d19ff0fee9d407ae768bf86508fc11886dac15344d236709",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179156541,
       "length": 19,
       "sha256": "73405aa4a4a09091c92ef06b9cbb5e96b8f0199a512e71923d40cc4aeeb01402",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "id": "modelLevels",
     "knob": null,
     "label": "max and xhigh become high on models that do not support them.",
     "note": "Opus 5.5 supports both. Opus 4.6 and Sonnet 4.6 lack xhigh, and Opus 4.5 lacks both.",
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179161798,
       "length": 136,
       "sha256": "6e3ab898b0469d5bdd0b2192f91c4527c38746270f6e111f99c7b6ae772b16ea",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "id": "thinkingDisabled",
     "knob": null,
     "label": "With thinking turned off, levels above high become high on models that require it.",
     "note": "Opus 5 is such a model. This also applies to a value from CLAUDE_CODE_EXTRA_BODY.",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184958522,
       "length": 32,
       "sha256": "adbb1767d93feedd69fbbbd9414b626198e5be246731f22f221a5143b0f51e59",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179154935,
       "length": 54,
       "sha256": "b061e2f6f97b032553b97d965dbe86023d63c120748d576188ee70bd5187894a",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-fr7r2xfj.js",
     "binary_offset": 179161385,
     "length": 283,
     "sha256": "a65c71687335b9699fe59cba6b2c407f03f65a1a55d91dfec0b530434271b171",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 184915066,
     "length": 158,
     "sha256": "eccef4495310c5d0fad49d6dfeb6b088d1979b3e6a8366b94820ffc1026bdab0",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    }
   ],
   "bypasses": []
  },
  {
   "id": "env-sources",
   "title": "Where an environment variable's value comes from",
   "group": "Settings and environment",
   "question": "When the shell, settings files and managed settings set the same environment variable, which value Claude Code runs with.",
   "shape": "first-wins",
   "observe": "model",
   "context": [
    {
     "key": "host",
     "label": "Started from",
     "values": [
      {
       "value": "terminal",
       "label": "A terminal or script"
      },
      {
       "value": "hosted",
       "label": "The desktop app or a runner"
      }
     ]
    },
    {
     "key": "trust",
     "label": "Workspace trust",
     "values": [
      {
       "value": "trusted",
       "label": "Trusted, or a non-interactive run"
      },
      {
       "value": "pending",
       "label": "Trust prompt not yet accepted"
      }
     ]
    },
    {
     "key": "key",
     "label": "The variable",
     "values": [
      {
       "value": "safe",
       "label": "On the safe list"
      },
      {
       "value": "other",
       "label": "Not on the safe list"
      },
      {
       "value": "project_blocked",
       "label": "One project files can't set, such as HOME, TMPDIR or CLAUDE_CONFIG_DIR"
      }
     ]
    }
   ],
   "realize_context": {
    "host": {
     "terminal": {},
     "hosted": null
    },
    "trust": {
     "trusted": {},
     "pending": null
    },
    "key": {
     "safe": {},
     "other": null,
     "project_blocked": null
    }
   },
   "rungs": [
    {
     "verified": "read",
     "id": "launchHosted",
     "mechanism": "env",
     "knob": null,
     "label": "Launch environment",
     "applies_when": [
      {
       "host": [
        "hosted"
       ]
      }
     ],
     "input": "choice",
     "accepts": [
      "claude-haiku-4-5-20251001",
      "claude-sonnet-4-5-20250929"
     ],
     "note": "When the desktop app or a runner starts the session, a variable already in the launch environment keeps its value. Every settings entry for it is ignored with a warning, managed settings included.",
     "effect": {
      "from": "input"
     },
     "provenance": [
      {
       "file": "chunk-aqj8t7yt.js",
       "binary_offset": 179696006,
       "length": 53,
       "sha256": "91ad164acf41f74c0fb2417a304a9723dee553cbc3304cfdde150e6c5c5e08bd",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "managed",
     "mechanism": "managed",
     "knob": "setting-env",
     "label": "Managed settings env",
     "input": "choice",
     "accepts": [
      "claude-haiku-4-5-20251001",
      "claude-sonnet-4-5-20250929"
     ],
     "note": "Applied last, so it overrides every settings file and the shell. Trusted before the trust prompt.",
     "effect": {
      "from": "input"
     },
     "provenance": [
      {
       "file": "chunk-aqj8t7yt.js",
       "binary_offset": 179706509,
       "length": 98,
       "sha256": "de623dfef0271eb27cb6062abed9fc0cf92e9152510e66cc57967e10147f36be",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-pvzs1k1v.js",
       "binary_offset": 175880081,
       "length": 85,
       "sha256": "e08b1ae03a79bc34144b5cdf7cb671d13cc1c761e0264fd67198eea8954e3e46",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "tested",
     "id": "flag",
     "mechanism": "cli",
     "knob": "cli-flag-settings",
     "label": "--settings env",
     "input": "choice",
     "accepts": [
      "claude-haiku-4-5-20251001",
      "claude-sonnet-4-5-20250929"
     ],
     "note": "The env block of a --settings file or JSON string. Always read, even when --setting-sources leaves other files out, and trusted before the trust prompt.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "args": [
       "--settings",
       "{\"env\":{\"ANTHROPIC_MODEL\":\"{value}\"}}"
      ]
     },
     "provenance": [
      {
       "file": "chunk-pvzs1k1v.js",
       "binary_offset": 175881917,
       "length": 45,
       "sha256": "427bac0d82a2ba32b2f001fcfebae0c02f32b1f3994ae22f5ba5a4d1a9951773",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-pvzs1k1v.js",
       "binary_offset": 175880081,
       "length": 85,
       "sha256": "e08b1ae03a79bc34144b5cdf7cb671d13cc1c761e0264fd67198eea8954e3e46",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "local",
     "mechanism": "settings",
     "knob": "setting-env",
     "label": "Local project settings env",
     "input": "choice",
     "accepts": [
      "claude-haiku-4-5-20251001",
      "claude-sonnet-4-5-20250929"
     ],
     "skip_when": [
      {
       "trust": [
        "pending"
       ],
       "key": [
        "other"
       ]
      },
      {
       "key": [
        "project_blocked"
       ]
      }
     ],
     "note": "The env block in .claude/settings.local.json. Until the trust prompt is accepted only safe-list entries apply; the rest are applied once it is. Keys that pick folders or Claude Code's own plumbing are ignored here with a warning, except a few that are accepted when the value only turns something off and no higher source sets them.",
     "effect": {
      "from": "input"
     },
     "provenance": [
      {
       "file": "chunk-pvzs1k1v.js",
       "binary_offset": 175880081,
       "length": 85,
       "sha256": "e08b1ae03a79bc34144b5cdf7cb671d13cc1c761e0264fd67198eea8954e3e46",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-aqj8t7yt.js",
       "binary_offset": 179706792,
       "length": 28,
       "sha256": "758cc7649341ff15382265adf948fb9f27fec41db8076fd28e52ed922716c0f9",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-aqj8t7yt.js",
       "binary_offset": 179693043,
       "length": 42,
       "sha256": "94bbb133a00204fbfe46ff321f3d33f6948b6e104326d428ad6fdda49fbcd0a3",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "project",
     "mechanism": "settings",
     "knob": "setting-env",
     "label": "Project settings env",
     "input": "choice",
     "accepts": [
      "claude-haiku-4-5-20251001",
      "claude-sonnet-4-5-20250929"
     ],
     "skip_when": [
      {
       "trust": [
        "pending"
       ],
       "key": [
        "other"
       ]
      },
      {
       "key": [
        "project_blocked"
       ]
      }
     ],
     "note": "The env block in the project's .claude/settings.json. Same limits as the local file: safe-list entries only until the trust prompt is accepted, and folder or plumbing keys are ignored with a warning.",
     "effect": {
      "from": "input"
     },
     "provenance": [
      {
       "file": "chunk-pvzs1k1v.js",
       "binary_offset": 175880081,
       "length": 85,
       "sha256": "e08b1ae03a79bc34144b5cdf7cb671d13cc1c761e0264fd67198eea8954e3e46",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-aqj8t7yt.js",
       "binary_offset": 179706792,
       "length": 28,
       "sha256": "758cc7649341ff15382265adf948fb9f27fec41db8076fd28e52ed922716c0f9",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-aqj8t7yt.js",
       "binary_offset": 179693043,
       "length": 42,
       "sha256": "94bbb133a00204fbfe46ff321f3d33f6948b6e104326d428ad6fdda49fbcd0a3",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "tested",
     "id": "user",
     "mechanism": "settings",
     "knob": "setting-env",
     "label": "User settings env",
     "input": "choice",
     "accepts": [
      "claude-haiku-4-5-20251001",
      "claude-sonnet-4-5-20250929"
     ],
     "note": "The env block in ~/.claude/settings.json. Trusted before the trust prompt. Not read when --setting-sources leaves user settings out.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "settings": {
       "env": {
        "ANTHROPIC_MODEL": "{value}"
       }
      }
     },
     "provenance": [
      {
       "file": "chunk-aqj8t7yt.js",
       "binary_offset": 179707650,
       "length": 81,
       "sha256": "6e11e7a5608eaf81234aa4467182e31ebb669499b108af2e441118f46ea2b473",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "globalConfig",
     "mechanism": "settings",
     "knob": null,
     "label": "Global config env (~/.claude.json)",
     "input": "choice",
     "accepts": [
      "claude-haiku-4-5-20251001",
      "claude-sonnet-4-5-20250929"
     ],
     "note": "The env field in ~/.claude.json. Applied before any settings file, so it only overrides the shell.",
     "effect": {
      "from": "input"
     },
     "provenance": [
      {
       "file": "chunk-aqj8t7yt.js",
       "binary_offset": 179707519,
       "length": 75,
       "sha256": "c0105d76454bbab5e782e615e3b2a401c7ba6ca8276757c1b635f91971587e3d",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "tested",
     "id": "shell",
     "mechanism": "env",
     "knob": null,
     "label": "Shell environment",
     "applies_when": [
      {
       "host": [
        "terminal"
       ]
      }
     ],
     "input": "choice",
     "accepts": [
      "claude-haiku-4-5-20251001",
      "claude-sonnet-4-5-20250929"
     ],
     "note": "The environment Claude Code was started with. Any settings source that sets the same variable overwrites it.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "env": {
       "ANTHROPIC_MODEL": "{value}"
      }
     },
     "provenance": [
      {
       "file": "chunk-aqj8t7yt.js",
       "binary_offset": 179700368,
       "length": 80,
       "sha256": "d6772f9dfed972184a5739d58fb8205f0a82491d8171452447d1d7f2d15476b1",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "details": {
    "candidate": "env-sources",
    "example_variable": "The choices are two model ids because the probe uses ANTHROPIC_MODEL, which is on the safe list, as the example variable; the order is the same for any variable.",
    "timing": "Env values are applied at startup before the trust prompt (~/.claude.json, managed, --settings and user entries, plus safe-list entries from project files), then in full once the workspace is trusted or straight away in a non-interactive run, and again whenever a settings file's env block changes in a trusted workspace."
   },
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-aqj8t7yt.js",
     "binary_offset": 179705965,
     "length": 1305,
     "sha256": "4d70da9921f78293c489ab9320b311d4aca5925d04380943ecb7d7dbf9c39981",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-aqj8t7yt.js",
     "binary_offset": 179707301,
     "length": 933,
     "sha256": "9ba45e77856856d8adf76240c9660520d2bb4c596fae493dede2d8843f0c175f",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-a34kxzvh.js",
     "binary_offset": 191096490,
     "length": 19,
     "sha256": "24d5f942a6a6de44b6f9b1a45adf7ebceae60e666e417fbbe8c8521688dfaf4c",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-rg6teng4.js",
     "binary_offset": 198232844,
     "length": 15,
     "sha256": "0ed65a7d717da9a33f3a66475d2908b37d48dc6eb72d2a56517f1f6ecd3675b0",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-cpf7rt77.js",
     "binary_offset": 191849542,
     "length": 32,
     "sha256": "8c569cf0cec8410fc1545639c1ee755c68e8eb9f4094bcf4f0a02e3629bdf8a5",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-w7mxd4bx.js",
     "binary_offset": 191121594,
     "length": 42,
     "sha256": "3fd27bef786ba78cded206b267a400ec8322bae85d676a744fa20e8c92daf418",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    }
   ],
   "bypasses": [],
   "constraints": []
  },
  {
   "id": "fast-mode",
   "title": "Fast mode",
   "group": "Models and reasoning",
   "question": "Whether fast mode is available in a session and, if so, whether requests go out with it on.",
   "shape": "first-wins",
   "observe": "none",
   "value_labels": {
    "on": "Fast mode on",
    "off": "Available, but off",
    "unavailable": "Fast mode unavailable",
    "cooldown": "On, but paused by a cooldown",
    "needs_opt_in": "Unavailable until opted in with --settings"
   },
   "details": {
    "candidate": "chunk-3kj78r2m.js:202773"
   },
   "context": [
    {
     "key": "provider",
     "label": "Model provider",
     "values": [
      {
       "value": "anthropic",
       "label": "Anthropic API (API key or Claude sign-in)"
      },
      {
       "value": "other",
       "label": "Bedrock, Vertex, Foundry or a gateway"
      }
     ]
    },
    {
     "key": "session",
     "label": "Session",
     "values": [
      {
       "value": "print",
       "label": "claude -p or the Agent SDK"
      },
      {
       "value": "interactive",
       "label": "Interactive terminal or the VS Code extension"
      }
     ]
    },
    {
     "key": "model",
     "label": "Session model",
     "values": [
      {
       "value": "capable",
       "label": "A fast-capable model (Opus 5 family, Opus 4.8)"
      },
      {
       "value": "other",
       "label": "Any other model"
      }
     ]
    }
   ],
   "realize_context": {
    "provider": {
     "anthropic": {},
     "other": null
    },
    "session": {
     "print": {},
     "interactive": null
    },
    "model": {
     "capable": {},
     "other": null
    }
   },
   "bypasses": [
    {
     "id": "disableEnv",
     "knob": "env-claude-code-disable-fast-mode",
     "effect": {
      "value": "unavailable"
     },
     "note": "Checked before the ladder: fast mode is unavailable, whatever is set below.",
     "realize": {
      "env": {
       "CLAUDE_CODE_DISABLE_FAST_MODE": "1"
      }
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178317830,
       "length": 85,
       "sha256": "6d7d7cbba8c9c1017630d853fc098aca66179ad8c50a2d0eba3910481cc66c86",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    }
   ],
   "rungs": [
    {
     "verified": "read",
     "id": "remoteKill",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's fast-mode kill switch",
     "input": "toggle",
     "note": "A remote flag that is empty by default in code. When Anthropic sets it, fast mode is unavailable for everyone and the flag's text is shown as the reason. Anthropic can change it without a release.",
     "effect": {
      "value": "unavailable"
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178319084,
       "length": 54,
       "sha256": "a7dd19490dab6ebb26b5d3896358da64bcab5a3772ae6f5dc9481e9a0eabb13b",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "modelAllowlist",
     "mechanism": "settings",
     "knob": "setting-available-models",
     "label": "availableModels leaves out Opus and the session model",
     "input": "toggle",
     "note": "When availableModels leaves out Opus, fast mode is unavailable unless the session's own model is on the list and supports fast mode and the session isn't driven over Remote Control.",
     "effect": {
      "value": "unavailable"
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178319139,
       "length": 97,
       "sha256": "ec790bbf64284dba7850a1382443f30c395a2bb28490a2cc1ff72c2e316c205c",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "managedOff",
     "mechanism": "managed",
     "knob": "setting-fast-mode",
     "input": "choice",
     "accepts": [
      "false"
     ],
     "note": "fastMode set to false in managed settings means your organization turned fast mode off. Nothing below turns it back on.",
     "effect": {
      "value": "unavailable"
     },
     "label": "fastMode",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178319279,
       "length": 57,
       "sha256": "d65deeb4d5b125ee8ca07f175be9c1148fd925c2bc21cea04abb91ed9dac7790",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "printOptIn",
     "mechanism": "default",
     "knob": null,
     "label": "claude -p or the Agent SDK without the --settings opt-in",
     "input": null,
     "applies_when": [
      {
       "session": [
        "print"
       ]
      }
     ],
     "note": "In claude -p and the Agent SDK, fast mode is unavailable unless fastMode is passed with --settings, which clears this gate. A fastMode setting in a settings file is not enough there. Checked before the organization check.",
     "effect": {
      "value": "needs_opt_in"
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178319418,
       "length": 46,
       "sha256": "24cd4b24abaf78289a3a763f00c23895281cd3aa2366267a5c44f1a99df055cd",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "orgDenied",
     "mechanism": "managed",
     "knob": null,
     "label": "Anthropic's server says your organization can't use fast mode",
     "input": "toggle",
     "note": "Claude Code asks Anthropic whether your organization may use fast mode. A no (no paid plan, turned off by an admin, or no usage credits) makes it unavailable, and fastMode in your user settings is cleared when that answer changes.",
     "effect": {
      "value": "unavailable"
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178328092,
       "length": 97,
       "sha256": "88c24c3f83dfa6e2abd5a45f819f9b4add039abe8ae3a5f7cb9f1aa4959647a6",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178319620,
       "length": 122,
       "sha256": "5a715a19b4cb74cc2936bfa5ec07c154d24dc635d42f1c96b067301d46f8d749",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "orgPending",
     "mechanism": "default",
     "knob": null,
     "label": "The organization check hasn't answered yet",
     "input": "toggle",
     "skip_when": [
      {
       "rung.flagSettings": [
        "true"
       ]
      },
      {
       "rung.skipOrgCheck": [
        true
       ]
      }
     ],
     "note": "Before the organization check has started, fast mode is unavailable. CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK lifts this, and so does fastMode passed with --settings; both are ignored in cloud sessions. CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS does not.",
     "effect": {
      "value": "unavailable"
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178319480,
       "length": 61,
       "sha256": "2a6d8c037b9882e653250f6eb0e891122b2bd2c93947995e08826e1f730262ed",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "orgCheckFailed",
     "mechanism": "default",
     "knob": null,
     "label": "The organization check failed or is still guessing",
     "input": "toggle",
     "skip_when": [
      {
       "rung.flagSettings": [
        "true"
       ]
      },
      {
       "rung.skipNetworkErrors": [
        true
       ]
      },
      {
       "rung.skipOrgCheck": [
        true
       ]
      }
     ],
     "note": "When the check fails on the network, or is still running with no earlier answer cached, fast mode is unavailable. CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS, CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK or fastMode passed with --settings lifts this; all three are ignored in cloud sessions.",
     "effect": {
      "value": "unavailable"
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178328723,
       "length": 94,
       "sha256": "9b0a1ed6c88931247956675a8b00aeaf1a8e7d4088f9d16b1bff6eaf30d53049",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178326857,
       "length": 111,
       "sha256": "6c4d60b72604853ddba4a37044b51f78e9db3f2d2b8bc0e7d2d0642963d58ad3",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178319620,
       "length": 122,
       "sha256": "5a715a19b4cb74cc2936bfa5ec07c154d24dc635d42f1c96b067301d46f8d749",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "fastCommand",
     "mechanism": "cli",
     "knob": null,
     "label": "/fast in this session",
     "input": "choice",
     "accepts": [
      "on",
      "off"
     ],
     "applies_when": [
      {
       "session": [
        "interactive"
       ]
      }
     ],
     "note": "/fast turns fast mode on or off for the session and saves the choice to your user settings, unless you pick this session only. Turning it on switches to Opus when the current model can't run fast. When managed settings set fastModePerSessionOptIn, the this-session-only choice is refused.",
     "effect": {
      "from": "input"
     },
     "provenance": [
      {
       "file": "chunk-n5efbxqn.js",
       "binary_offset": 194959863,
       "length": 99,
       "sha256": "6f418e61f6b97bacf826878a8ffeac3cda538d752c901e5bc8f9ab72eaa9bb04",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-n5efbxqn.js",
       "binary_offset": 194959626,
       "length": 59,
       "sha256": "b2bd97e7f1e105e9f0fc309305daeda8868fae856d9935c32b3ec866e0d68886",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178319337,
       "length": 80,
       "sha256": "160debd5685f5dea1cbd33ce3fd88ab3bded82da0649b727a946d2b142c5cf49",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "flagSettings",
     "mechanism": "cli",
     "knob": "cli-flag-settings",
     "label": "fastMode: true passed with --settings",
     "input": "choice",
     "accepts": [
      "true"
     ],
     "note": "fastMode set to true in the --settings flag is how claude -p and the Agent SDK opt in. It turns fast mode on at startup, even with fastModePerSessionOptIn in your own settings, but not when managed settings set fastModePerSessionOptIn. Outside cloud sessions it also lifts the organization-check blocks above.",
     "effect": {
      "by_context": [
       {
        "when": {
         "rung.managedPerSession": [
          "true"
         ]
        },
        "value": "off"
       },
       {
        "when": {},
        "value": "on"
       }
      ]
     },
     "realize": {
      "args": [
       "--settings",
       "{\"fastMode\":{value}}"
      ]
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178319236,
       "length": 43,
       "sha256": "99604257d50ae6f2243b12ece33e6a84385b0adc89090006b8cf7c5fcd70e319",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178320709,
       "length": 186,
       "sha256": "9b83c4ff0c2a99a9a801937e0c544689cee0826c2d855eb53aec8c977a0a0486",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "managedPerSession",
     "mechanism": "managed",
     "knob": "setting-fast-mode-per-session-opt-in",
     "input": "choice",
     "accepts": [
      "true"
     ],
     "note": "Set in managed settings, every session starts with fast mode off, and only /fast (saved, not this-session-only) turns it on.",
     "effect": {
      "value": "off"
     },
     "label": "fastModePerSessionOptIn",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178320709,
       "length": 186,
       "sha256": "9b83c4ff0c2a99a9a801937e0c544689cee0826c2d855eb53aec8c977a0a0486",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "perSession",
     "mechanism": "settings",
     "knob": "setting-fast-mode-per-session-opt-in",
     "input": "choice",
     "accepts": [
      "true"
     ],
     "note": "Set in any other settings file, a saved fastMode no longer carries over: each session starts off until you run /fast or pass fastMode with --settings.",
     "effect": {
      "value": "off"
     },
     "realize": {
      "settings": {
       "fastMode": true,
       "fastModePerSessionOptIn": true
      }
     },
     "label": "fastModePerSessionOptIn",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178320709,
       "length": 186,
       "sha256": "9b83c4ff0c2a99a9a801937e0c544689cee0826c2d855eb53aec8c977a0a0486",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "userSetting",
     "mechanism": "settings",
     "knob": "setting-fast-mode",
     "input": "choice",
     "accepts": [
      "true",
      "false"
     ],
     "note": "fastMode from the merged settings files. true starts each interactive session with fast mode on; /fast writes this for you.",
     "effect": {
      "by_context": [
       {
        "when": {
         "value": [
          "true"
         ]
        },
        "value": "on"
       },
       {
        "when": {},
        "value": "off"
       }
      ]
     },
     "label": "fastMode",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178320709,
       "length": 186,
       "sha256": "9b83c4ff0c2a99a9a801937e0c544689cee0826c2d855eb53aec8c977a0a0486",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "offDefault",
     "mechanism": "default",
     "knob": null,
     "label": "Default",
     "input": null,
     "note": "When nothing above answers, fast mode is available but off.",
     "effect": {
      "value": "off"
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178320709,
       "length": 186,
       "sha256": "9b83c4ff0c2a99a9a801937e0c544689cee0826c2d855eb53aec8c977a0a0486",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "skipNetworkErrors",
     "mechanism": "env",
     "knob": "env-claude-code-skip-fast-mode-network-errors",
     "input": "toggle",
     "note": "Does not turn fast mode on. It only lifts the failed-check block above, not the wait before the check starts. Ignored in cloud sessions.",
     "effect": {
      "value": "off"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS": "1"
      }
     },
     "label": "CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178319620,
       "length": 122,
       "sha256": "5a715a19b4cb74cc2936bfa5ec07c154d24dc635d42f1c96b067301d46f8d749",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "skipOrgCheck",
     "mechanism": "env",
     "knob": "env-claude-code-skip-fast-mode-org-check",
     "input": "toggle",
     "note": "Does not turn fast mode on. It skips the organization check and treats the organization as allowed, which lifts both organization-check blocks above. Ignored in cloud sessions.",
     "effect": {
      "value": "off"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK": "1"
      }
     },
     "label": "CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178317949,
       "length": 67,
       "sha256": "342c7ef3d4c39647ed654601c8b9bf254f00cda8ebf75b932fceae662b6f2256",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178326778,
       "length": 56,
       "sha256": "225c27e1e901aa36026d45bbf4d739ab4b2c5670f4984b9e87bfb5ae544bdb58",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "constraints": [
    {
     "id": "flagOptIn",
     "label": "fastMode: true passed with --settings",
     "applies_when": [
      {
       "rung.flagSettings": [
        "true"
       ]
      }
     ],
     "note": "Passing fastMode: true with --settings clears the claude -p and Agent SDK gate, so the rungs below it decide.",
     "skip_values": [
      "needs_opt_in"
     ],
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178319418,
       "length": 46,
       "sha256": "24cd4b24abaf78289a3a763f00c23895281cd3aa2366267a5c44f1a99df055cd",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "id": "notAnthropic",
     "label": "Not the Anthropic API",
     "applies_when": [
      {
       "provider": [
        "other"
       ]
      }
     ],
     "note": "Fast mode only runs against the Anthropic API directly. On Bedrock, Vertex, Foundry or a gateway it is unavailable.",
     "effect": {
      "value": "unavailable"
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178317830,
       "length": 85,
       "sha256": "6d7d7cbba8c9c1017630d853fc098aca66179ad8c50a2d0eba3910481cc66c86",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "id": "modelNotCapable",
     "label": "Model can't run fast",
     "applies_when": [
      {
       "model": [
        "other"
       ]
      }
     ],
     "note": "Fast mode only applies to models that support it (Opus 5 family, Opus 4.8, or models the catalog marks as fast-capable). On any other model requests go out at normal speed.",
     "replace_values": {
      "on": "off"
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178321409,
       "length": 51,
       "sha256": "7ac6205dfcafa69d37c9558c30fa8cf519050bb4aabbe302d8cf96134b2de607",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "id": "cooldown",
     "label": "Fast-mode cooldown running",
     "note": "While a fast-mode cooldown is running, requests go out at normal speed; fast mode comes back on its own when the cooldown ends.",
     "replace_values": {
      "on": "cooldown"
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178325619,
       "length": 48,
       "sha256": "f9f2dadce61fc4f2f2c4bcb90d50fe17fa93013182000ca55ee0ccbf2f2eb50e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-1vt3h958.js",
     "binary_offset": 178318957,
     "length": 798,
     "sha256": "6b759728f26066daf4cb8ae928c26d2c1d598810f68ba1c209dbc204e6c59c97",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-1vt3h958.js",
     "binary_offset": 178320621,
     "length": 88,
     "sha256": "e472ff4e887aa90b6e234a2d697e32012e53077c3601928aa7341a43efbfa1e7",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-2crv8d5h.js",
     "binary_offset": 192086140,
     "length": 33,
     "sha256": "bb5096a347d5a51d2948af4f1fe81e5cefa5587fbcdcadc991fa7e43db9c04ef",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 184945941,
     "length": 67,
     "sha256": "bf81bb90ab51d44863ecabaa9e81db7e0e38a9b472ce24883e9f9bb0038fe3b9",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 184958946,
     "length": 68,
     "sha256": "e05786c819e3c28368b44f2a00c92123dbfff5f1e1c1465c72930d1946b73294",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-9r9kpwh0.js",
     "binary_offset": 177389378,
     "length": 37,
     "sha256": "1c27c4bbbf6d032541336cb9d060b56a228a1e59e38be9f026bda15d236eba03",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    }
   ]
  },
  {
   "id": "feedback-survey",
   "title": "Feedback survey",
   "group": "Privacy and interface",
   "question": "Whether Claude Code shows its session feedback survey and how often, checked again before each chance to show it. After you answer, it can also ask to share the transcript.",
   "shape": "first-wins",
   "observe": "none",
   "notes": [
    "As shipped, Claude Code never asks to share the transcript: after you answer bad, fine or good, the chance of asking is 0 in code for each answer.",
    "Anthropic can raise those chances remotely without a release.",
    "It never asks, whatever those chances are, when CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC is set (even with CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL), when your organization's policy denies product feedback, when DISABLE_FEEDBACK_COMMAND or DISABLE_BUG_COMMAND is set, or after you choose don't ask again.",
    "Nothing is shared unless you answer yes."
   ],
   "value_labels": {
    "off": "No survey",
    "forced": "Shown at the first chance, once per session",
    "your_rate": "Shown at the rate you set",
    "anthropic_rate": "Shown at Anthropic's rate"
   },
   "details": {
    "candidate": "chunk-rtgjjsce.js:248669",
    "transcript_ask": {
     "note": "Asked only after you answer bad, fine or good. Each answer has its own remote chance, 0 in code, so Claude Code does not ask unless Anthropic raises it. It never asks when CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC is set (even with CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL), when organization policy denies product feedback, when DISABLE_FEEDBACK_COMMAND or DISABLE_BUG_COMMAND is set, or after you choose don't ask again. Nothing is shared unless you answer yes.",
     "provenance": [
      {
       "file": "chunk-mzg9kbjz.js",
       "binary_offset": 204534828,
       "length": 66,
       "sha256": "e6d70086f75dfdf3aaa25a71421fc735f142344493523b7f3498d6e8185b2372",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-mzg9kbjz.js",
       "binary_offset": 204534936,
       "length": 95,
       "sha256": "f40fedfe004973cfa1bba6f6975515bf97458be4ba730d4e7d020f0e684503a4",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-mzg9kbjz.js",
       "binary_offset": 204535031,
       "length": 99,
       "sha256": "9be9360915fdb1031cef06ca2a4bf18f544a764b5e5563622f9e0bb7d0f2ad46",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-mzg9kbjz.js",
       "binary_offset": 204532713,
       "length": 51,
       "sha256": "6c6662f52301c2c2097c6b2be086974457611b5c6ac7eedfc91abcd1e34f391c",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-7sqj04a7.js",
       "binary_offset": 198547071,
       "length": 19,
       "sha256": "edc59ff415e88c8d5002464bfeb8c31a8246aadfe36834d303613d9f8063cca2",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-s1egstww.js",
       "binary_offset": 190816086,
       "length": 86,
       "sha256": "87f81083de45bfd6ff4f1e1d82072dc13c6259203f31853d78a03f5cc38f298a",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181667903,
       "length": 78,
       "sha256": "1dd376b316dc8a139a27ce4b911cf4af8ba7b21e01db9dd809c15771b62df5f2",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181667996,
       "length": 114,
       "sha256": "22e4d1dbf2804e28d0f97288ab7b9bb982e078d9cc55f9fdbf663f33036d6e4e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-mzg9kbjz.js",
       "binary_offset": 204535794,
       "length": 81,
       "sha256": "b83253df6f4cab8743a38d29001bf20f6ed2684477dda6884732a92fa7f2be65",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181668111,
       "length": 104,
       "sha256": "21cb52824a8720340100da25e7afc17c6c107eb5f587c404788b0344d8ee0e3d",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   },
   "context": [
    {
     "key": "surface",
     "label": "Where Claude Code runs",
     "values": [
      {
       "value": "terminal",
       "label": "Terminal"
      },
      {
       "value": "host",
       "label": "VS Code extension or Claude desktop app"
      }
     ]
    },
    {
     "key": "hostFlag",
     "label": "Anthropic's survey flag for the extension and desktop app",
     "show_when": [
      {
       "surface": [
        "host"
       ]
      }
     ],
     "values": [
      {
       "value": "off",
       "label": "Off (the default in code)"
      },
      {
       "value": "on",
       "label": "On"
      }
     ]
    },
    {
     "key": "models",
     "label": "Current model on Anthropic's survey list",
     "show_when": [
      {
       "surface": [
        "terminal"
       ]
      }
     ],
     "values": [
      {
       "value": "listed",
       "label": "Listed (every model is, by default in code)"
      },
      {
       "value": "unlisted",
       "label": "Not listed"
      }
     ]
    }
   ],
   "realize_context": {
    "surface": {
     "terminal": null,
     "host": null
    },
    "hostFlag": {
     "off": null,
     "on": null
    },
    "models": {
     "listed": null,
     "unlisted": null
    }
   },
   "bypasses": [],
   "rungs": [
    {
     "verified": "read",
     "id": "hostFlag",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's extension and desktop survey flag",
     "input": null,
     "applies_when": [
      {
       "surface": [
        "host"
       ],
       "hostFlag": [
        "off"
       ]
      }
     ],
     "note": "VS Code extension and desktop app only. A remote flag that is off in code, so those apps get no survey unless Anthropic turns it on. Anthropic can change it without a release.",
     "effect": {
      "value": "off"
     },
     "provenance": [
      {
       "file": "chunk-r4xrzyvn.js",
       "binary_offset": 198980999,
       "length": 48,
       "sha256": "c79d4355b21948264d043a0fac4bddad30e003d5234478fddd2930bb209a2ea0",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-r4xrzyvn.js",
       "binary_offset": 199204157,
       "length": 27,
       "sha256": "fafdc07d6f4ad80db91217e5eb008136629cb1143253a161e861ef8ace8fde4e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-94ks0f2h.js",
       "binary_offset": 175820308,
       "length": 78,
       "sha256": "2498da42ebf1395f205b264d36ca90610b90ec93c84e19a14e126d32cbf5ce4b",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-94ks0f2h.js",
       "binary_offset": 175816178,
       "length": 63,
       "sha256": "dcf3e42f3cb891658bf211894f860e3f3be9e0aaf31b58cf400453110e15e2e6",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "disableEnv",
     "mechanism": "env",
     "knob": "env-claude-code-disable-feedback-survey",
     "input": "choice",
     "accepts": [
      "1",
      "true",
      "yes",
      "on"
     ],
     "invalid_example": "0",
     "note": "Turns the survey off everywhere, including in the extension and desktop app. 1, true, yes or on count, in any letter case; any other value is ignored.",
     "effect": {
      "value": "off"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY": "{value}"
      }
     },
     "label": "CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY",
     "provenance": [
      {
       "file": "chunk-mzg9kbjz.js",
       "binary_offset": 204539069,
       "length": 67,
       "sha256": "2c8201ef8bac9fa163938076db66c661ca22671501755112dd2b115c286992e7",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-r4xrzyvn.js",
       "binary_offset": 198981047,
       "length": 63,
       "sha256": "82e7d305a034379bae2d1bcf27a2f95485c607a35cc312f41524dbbe45702977",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-ze990dc9.js",
       "binary_offset": 175772970,
       "length": 42,
       "sha256": "745f8841a17e6ec685a2f20f11c5e48337f6490226d91647bb205b47f1633b37",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-276sqz99.js",
       "binary_offset": 175749587,
       "length": 12,
       "sha256": "49cf92e73fd77d9c49f54de61058172425f7adaf04505727bb737ddbb832a5df",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "disableTelemetry",
     "mechanism": "env",
     "knob": "env-disable-telemetry",
     "input": "toggle",
     "skip_when": [
      {
       "rung.otelOverride": [
        "1",
        "true",
        "yes",
        "on"
       ]
      }
     ],
     "note": "Turning telemetry off also turns the survey off. Any value counts, even 0 or false. CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL undoes this.",
     "effect": {
      "value": "off"
     },
     "realize": {
      "env": {
       "DISABLE_TELEMETRY": "1"
      }
     },
     "label": "DISABLE_TELEMETRY",
     "provenance": [
      {
       "file": "chunk-j6zsezqx.js",
       "binary_offset": 175676100,
       "length": 123,
       "sha256": "64222ffc935cb312c0695f7fbdf360da4b1944f704df79d3c2c6a0a57a30ac79",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-j6zsezqx.js",
       "binary_offset": 175676272,
       "length": 39,
       "sha256": "c6d2cd8063e1af5fc7a9bf8f30736663a234e87355a3d055f922e10b9b89d8bc",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-sjm7s9p5.js",
       "binary_offset": 178089157,
       "length": 43,
       "sha256": "0c69f2c43690d1894d4e140ee521dda0dc8555107ad1c4c19d251d090d185a1d",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "doNotTrack",
     "mechanism": "env",
     "knob": "env-do-not-track",
     "input": "choice",
     "accepts": [
      "1",
      "true",
      "yes",
      "on"
     ],
     "invalid_example": "0",
     "skip_when": [
      {
       "rung.otelOverride": [
        "1",
        "true",
        "yes",
        "on"
       ]
      }
     ],
     "note": "Works like DISABLE_TELEMETRY here, but only 1, true, yes or on count. CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL undoes this.",
     "effect": {
      "value": "off"
     },
     "realize": {
      "env": {
       "DO_NOT_TRACK": "{value}"
      }
     },
     "label": "DO_NOT_TRACK",
     "provenance": [
      {
       "file": "chunk-j6zsezqx.js",
       "binary_offset": 175676154,
       "length": 52,
       "sha256": "2eb2423698a9a6b1d728d9f7d8fd9044e433a30608c976bd7c19045749ded357",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-3pmzd5pm.js",
       "binary_offset": 175430367,
       "length": 142,
       "sha256": "c7c851b23895c896ce38865f13ecbb54e11e83018c8ced9cae422c41298e6dfd",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-sjm7s9p5.js",
       "binary_offset": 178089157,
       "length": 43,
       "sha256": "0c69f2c43690d1894d4e140ee521dda0dc8555107ad1c4c19d251d090d185a1d",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "nonessential",
     "mechanism": "env",
     "knob": "env-claude-code-disable-nonessential-traffic",
     "input": "toggle",
     "skip_when": [
      {
       "rung.otelOverride": [
        "1",
        "true",
        "yes",
        "on"
       ]
      }
     ],
     "note": "Turns the survey off. Any value counts, even 0 or false. CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL brings the survey back, but never the transcript ask.",
     "effect": {
      "value": "off"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
      }
     },
     "label": "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC",
     "provenance": [
      {
       "file": "chunk-j6zsezqx.js",
       "binary_offset": 175676003,
       "length": 96,
       "sha256": "a6cad753f43887a30c4529923ce4fb635f39f8a7e575d175d56afcd875db040e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-sjm7s9p5.js",
       "binary_offset": 178089157,
       "length": 43,
       "sha256": "0c69f2c43690d1894d4e140ee521dda0dc8555107ad1c4c19d251d090d185a1d",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-9m6e1078.js",
       "binary_offset": 179087796,
       "length": 66,
       "sha256": "5a85b9d326e2729de486dd5defe6f0be7b68c4ede0825cf7048cfba20b4c2833",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "orgPolicy",
     "mechanism": "managed",
     "knob": null,
     "label": "Organization policy denies product feedback",
     "input": "toggle",
     "note": "When your organization's policy denies product feedback, there is no survey and no transcript ask, whatever is set below.",
     "effect": {
      "value": "off"
     },
     "provenance": [
      {
       "file": "chunk-mzg9kbjz.js",
       "binary_offset": 204539136,
       "length": 88,
       "sha256": "9919f2a117cf0d97270f29f7d25bc284f20a5e371dfa3e18cea58630311b912e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-r4xrzyvn.js",
       "binary_offset": 198981095,
       "length": 61,
       "sha256": "3ce9e795f2145a55f260a4fdbde1eed5ba27da3cecec2d89321c8ce7fc8f5266",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "forceDisplay",
     "mechanism": "env",
     "knob": "env-claude-force-display-survey",
     "input": "choice",
     "accepts": [
      "1",
      "true",
      "yes",
      "on"
     ],
     "invalid_example": "0",
     "applies_when": [
      {
       "surface": [
        "terminal"
       ]
      }
     ],
     "note": "Terminal only. 1, true, yes or on shows the survey at the first chance in each session, skipping the model list, timing and rate below; after that the normal rules apply. Everything above still turns it off.",
     "effect": {
      "value": "forced"
     },
     "realize": {
      "env": {
       "CLAUDE_FORCE_DISPLAY_SURVEY": "{value}"
      }
     },
     "label": "CLAUDE_FORCE_DISPLAY_SURVEY",
     "provenance": [
      {
       "file": "chunk-mzg9kbjz.js",
       "binary_offset": 204539178,
       "length": 75,
       "sha256": "de0e53e0127c677a652382447c42f0c11c655afe18b59025cb9365f7f84ac1dd",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "modelList",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's survey model list",
     "input": null,
     "applies_when": [
      {
       "surface": [
        "terminal"
       ],
       "models": [
        "unlisted"
       ]
      }
     ],
     "note": "Terminal only. Anthropic's survey config lists the models the survey runs for; in code the list covers every model. Anthropic can change it without a release.",
     "effect": {
      "value": "off"
     },
     "provenance": [
      {
       "file": "chunk-mzg9kbjz.js",
       "binary_offset": 204538807,
       "length": 79,
       "sha256": "a551b7b5a197f3166bf31085e0c78c12a78b50b98ecd0908badf6943c8910424",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-7sqj04a7.js",
       "binary_offset": 198547034,
       "length": 35,
       "sha256": "778ecd49a738d0b26968d20dbb0c1a6e7785d5e684fe2240a2550643daeead17",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "settingRate",
     "mechanism": "settings",
     "knob": "setting-feedback-survey-rate",
     "input": "choice",
     "accepts": [
      "0",
      "0.01",
      "0.05",
      "0.5",
      "1"
     ],
     "note": "From any settings file Claude Code loads: the chance, from 0 to 1, that the survey appears at each prompt once the timing rules allow it. 0 turns it off. It replaces Anthropic's rate, including the rate passed to the extension and desktop app.",
     "effect": {
      "by_context": [
       {
        "when": {
         "value": [
          "0"
         ]
        },
        "value": "off"
       },
       {
        "when": {},
        "value": "your_rate"
       }
      ]
     },
     "label": "feedbackSurveyRate",
     "provenance": [
      {
       "file": "chunk-mzg9kbjz.js",
       "binary_offset": 204539650,
       "length": 46,
       "sha256": "be1144b5cfe745ff0d1398554f53a4318217ce224021c86d495ef20d91a674a3",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-mzg9kbjz.js",
       "binary_offset": 204532900,
       "length": 26,
       "sha256": "3014cf668035ca1b2ebe5f3a9b958092bb75a522b637e2cfddf2227b013cecb7",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-r4xrzyvn.js",
       "binary_offset": 198981206,
       "length": 50,
       "sha256": "0e6935dd4672b50628be24a14b6a0381c64d44f6cb279ba425695e13501d28ca",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-18sktzq8.js",
       "binary_offset": 176229499,
       "length": 47,
       "sha256": "0be0009df36fd0c4b140183f201939fffb5fadab90867cf14388d845c44b656c",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "anthropicRate",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's survey rate",
     "input": null,
     "note": "A remote config that is 0.005 in code: once the timing rules allow a survey, each prompt has a half-percent chance. In code the first chance comes after 10 minutes and 5 prompts, later ones at least an hour and 10 prompts apart, and never within about 28 hours of a survey in any session. Anthropic can change it without a release.",
     "effect": {
      "value": "anthropic_rate"
     },
     "provenance": [
      {
       "file": "chunk-mzg9kbjz.js",
       "binary_offset": 204532671,
       "length": 41,
       "sha256": "848570a51d3411fe866ef21981537d4989ffb2d66ceba2231079fbc55354245b",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-7sqj04a7.js",
       "binary_offset": 198546847,
       "length": 163,
       "sha256": "d2e7d64b10bd8aa2d9143b74f24c39a3ecbaa9414d9d061184f19a785c8a4f0c",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-mzg9kbjz.js",
       "binary_offset": 204539775,
       "length": 73,
       "sha256": "c7ad4b336d8d6932ed6df53445c93160ea7876c1d243ac92f200f6d94ec5933d",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-r4xrzyvn.js",
       "binary_offset": 198981150,
       "length": 43,
       "sha256": "ab4ea844d5e2debddf8c777aab814b8353574b40c60a8aeea237594d8700a364",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "otelOverride",
     "mechanism": "env",
     "knob": "env-claude-code-enable-feedback-survey-for-otel",
     "input": "choice",
     "accepts": [
      "1",
      "true",
      "yes",
      "on"
     ],
     "invalid_example": "0",
     "note": "Picks no rate itself. 1, true, yes or on stops DISABLE_TELEMETRY, DO_NOT_TRACK and CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC from turning the survey off, so the other rules decide.",
     "effect": {
      "value": "anthropic_rate"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL": "{value}"
      }
     },
     "label": "CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL",
     "provenance": [
      {
       "file": "chunk-sjm7s9p5.js",
       "binary_offset": 178089090,
       "length": 67,
       "sha256": "286833d65ce10442ecc01c7844a9cb4b80562fbfa01124439566f45e105f73f0",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-ze990dc9.js",
       "binary_offset": 175774763,
       "length": 50,
       "sha256": "80d8f17ab3fb3aba3a1a4e8acc5a5cba3fa9a9875061eef5dc98214556a2fb7f",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-ze990dc9.js",
       "binary_offset": 175782494,
       "length": 27,
       "sha256": "d52b565b41a6ea9dcf5073c8fe4fa5bde0378fbe34dc34c574f51c068b4d402e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "constraints": [],
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-mzg9kbjz.js",
     "binary_offset": 204532371,
     "length": 8055,
     "sha256": "6f94b4ed31efa9aa423430385069342170e1e68b04542d33a7256ef714e7a0ba",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-r4xrzyvn.js",
     "binary_offset": 198980962,
     "length": 362,
     "sha256": "00e2528f8bc13400ab7b6c71651031927e06a54705684fb63b4f25147a17c1ea",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    }
   ]
  },
  {
   "id": "git-instructions",
   "title": "Git instructions and status",
   "group": "What the model is told",
   "question": "Whether Claude Code sends the model its built-in git commit and pull request instructions, and a snapshot of the repository's git status at the start of the conversation.",
   "shape": "first-wins",
   "observe": "none",
   "value_labels": {
    "0": "Neither",
    "1": "Git instructions only",
    "2": "Git instructions and git status"
   },
   "rungs": [
    {
     "verified": "read",
     "id": "envDisable",
     "mechanism": "env",
     "knob": "env-claude-code-disable-git-instructions",
     "input": "choice",
     "accepts": [
      "1",
      "true",
      "yes",
      "on",
      "0",
      "false",
      "no",
      "off"
     ],
     "invalid_example": "maybe",
     "note": "Checked first, in any letter case. 1, true, yes or on turns off both the instructions and the status snapshot; 0, false, no or off turns them on even when a setting says false. Any other value is ignored.",
     "effect": {
      "by_context": [
       {
        "when": {
         "value": [
          "1",
          "true",
          "yes",
          "on"
         ]
        },
        "value": "0"
       },
       {
        "when": {},
        "value": "2"
       }
      ]
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS": "{value}"
      }
     },
     "label": "CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183539682,
       "length": 67,
       "sha256": "4df2621fe0b231cb5293740590cf3b7c8ec2046980e4f838f5883257714b5581",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-ze990dc9.js",
       "binary_offset": 175781971,
       "length": 14,
       "sha256": "1c6c91cea4287dacd0ee691dfa06cb0eb0152c61d42ca2d2661c7e5d5914b01e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-276sqz99.js",
       "binary_offset": 175749419,
       "length": 42,
       "sha256": "acae1e345a96fab49b9a8b7ff36a4ade9fc1e8a1f91d35185c555b2b3f654e01",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-3pmzd5pm.js",
       "binary_offset": 175430623,
       "length": 24,
       "sha256": "404875dd26afbecf0fb205955ec158d2fe0d6a16c2e1fbbe99e5ae7d98ab8d76",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "setting",
     "mechanism": "settings",
     "knob": "setting-include-git-instructions",
     "input": "choice",
     "accepts": [
      "true",
      "false"
     ],
     "note": "From any settings file Claude Code loads. false turns off both the instructions and the status snapshot.",
     "effect": {
      "by_context": [
       {
        "when": {
         "value": [
          "false"
         ]
        },
        "value": "0"
       },
       {
        "when": {},
        "value": "2"
       }
      ]
     },
     "label": "includeGitInstructions",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183539750,
       "length": 38,
       "sha256": "ed22447008cd3c0b9f7cbb06032b1d0038ca37153e4862f0e8a21e08eda384a7",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "default",
     "mechanism": "default",
     "knob": null,
     "label": "Built-in default",
     "input": null,
     "note": "Both are included. The instructions go in the Bash tool's description; the status snapshot (branch, main branch, git user, status and recent commits) goes in the session context. Turning them off also stops the remote-session notice about commit and pull request attribution, unless that notice has something else to report, such as a session link.",
     "effect": {
      "value": "2"
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183539762,
       "length": 26,
       "sha256": "3600781997d163e9d27665b9d1d38be112806c04e2792884133c175607519da4",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183539157,
       "length": 56,
       "sha256": "ea7c4e9b870ae9e761c01b51dfd6086590854a1543b5cf535fa7726f482b4e5c",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-td7fxg34.js",
       "binary_offset": 190708899,
       "length": 26,
       "sha256": "f9a6058547cce65a7fa8c6d845588596e1961ace5e21c63c8f5d926e0cc7fd05",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "constraints": [
    {
     "id": "remote",
     "knob": "env-claude-code-remote",
     "label": "Remote session",
     "cap": {
      "value": "1"
     },
     "note": "A remote session gets no new status snapshot. The git instructions still follow the ladder. A snapshot already announced earlier in the conversation, for example before a compaction or on resume, is carried forward instead.",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183540527,
       "length": 50,
       "sha256": "56aa6da2b1b0ea3e8e0d4e96b5bfe35551375eed6da53df1ea6d53ece14c5818",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-td7fxg34.js",
       "binary_offset": 190646282,
       "length": 36,
       "sha256": "efbd7f3d2a2b046ee6b96ede1b9be2f35f71266739dde0545825bc351644c6a4",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "id": "customPrompt",
     "knob": null,
     "label": "Custom system prompt",
     "cap": {
      "value": "1"
     },
     "note": "In non-interactive runs (claude -p and the SDK), a system prompt that replaces the default one gets no new status snapshot. A snapshot already announced earlier in the conversation, for example before a compaction or on resume, is carried forward instead.",
     "provenance": [
      {
       "file": "chunk-r4xrzyvn.js",
       "binary_offset": 198943471,
       "length": 49,
       "sha256": "409680304307e28453a42e7aace468918f1c44933c66e1872d37c303adc07a7e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-hbm8a9gm.js",
       "binary_offset": 198564556,
       "length": 30,
       "sha256": "79826ace982c39fdeeb77af1c248fa4eb263d88b508d38a4122d31657a1759e5",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-td7fxg34.js",
       "binary_offset": 190646282,
       "length": 36,
       "sha256": "efbd7f3d2a2b046ee6b96ede1b9be2f35f71266739dde0545825bc351644c6a4",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "id": "explorePlan",
     "knob": null,
     "label": "Explore or Plan subagent",
     "cap": {
      "value": "1"
     },
     "note": "The built-in Explore and Plan subagents get no new status snapshot. A snapshot already announced earlier in the conversation, for example before a compaction or on resume, is carried forward instead.",
     "provenance": [
      {
       "file": "chunk-7dz9rvcm.js",
       "binary_offset": 190130268,
       "length": 67,
       "sha256": "408abb13a8e736d21a77b95e9917b594242fa28ac640fedea45e55de2160cf83",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-td7fxg34.js",
       "binary_offset": 190646282,
       "length": 36,
       "sha256": "efbd7f3d2a2b046ee6b96ede1b9be2f35f71266739dde0545825bc351644c6a4",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "id": "notRepo",
     "knob": null,
     "label": "Not a git repository",
     "cap": {
      "value": "1"
     },
     "note": "Outside a git repository, or when the git commands fail, there is no status snapshot.",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183538338,
       "length": 26,
       "sha256": "3bea7253d84562f231044e98452cb6ab9b84a178e2a7329c62aca23063882ef3",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "details": {
    "candidate": "chunk-x9fwahqm.js:599672"
   },
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 183539667,
     "length": 122,
     "sha256": "1d982528f12e634ce5bae1801766082d1930ae3a033884b00178a4b085b31c4e",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 183818767,
     "length": 57,
     "sha256": "adaa4250d4caded2da07e98ae6d5b7bb02ddb0969e6cdcd89371addaf1691d66",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-td7fxg34.js",
     "binary_offset": 190646143,
     "length": 338,
     "sha256": "dd8a84946f1e5c9b388d4a0fd8fb27958f3b8de838cf4d14c38534102308e31b",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    }
   ],
   "bypasses": []
  },
  {
   "id": "main-model",
   "title": "Main conversation model",
   "group": "Models and reasoning",
   "question": "Which model the main conversation sends its requests to.",
   "shape": "first-wins",
   "observe": "model",
   "value_labels": {
    "claude-sonnet-5": "Sonnet 5",
    "claude-haiku-4-5": "Haiku 4.5",
    "claude-opus-5-5": "Opus 5.5"
   },
   "context": [],
   "realize_context": {},
   "rungs": [
    {
     "verified": "read",
     "id": "session",
     "mechanism": "cli",
     "knob": null,
     "label": "/model during the session",
     "input": "choice",
     "accepts": [
      "claude-sonnet-5",
      "claude-haiku-4-5"
     ],
     "note": "Picking a model while the session runs replaces the startup choice for the rest of the session.",
     "effect": {
      "from": "input"
     },
     "provenance": [
      {
       "file": "chunk-w7mxd4bx.js",
       "binary_offset": 191119472,
       "length": 59,
       "sha256": "ce65a8f84dfa3b4755ecf964dbf9d5f16ba2235bc4cfbdd39aa90fd08da58e48",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178390217,
       "length": 77,
       "sha256": "f16f1a0e65baa4034753c6413edeccb228d337ded3d1995a6a12e670e67aa611",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "tested",
     "id": "cliModel",
     "mechanism": "cli",
     "knob": "cli-flag-model",
     "input": "choice",
     "accepts": [
      "claude-sonnet-5",
      "claude-haiku-4-5"
     ],
     "note": "Aliases such as sonnet, opus, haiku and fable become the current full id of that family, and a [1m] suffix asks for the 1M-token context version. --model default asks for the built-in default.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "args": [
       "--model",
       "{value}"
      ]
     },
     "label": "--model <model>",
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179171349,
       "length": 41,
       "sha256": "40c21a732da4058875418057a675ad0a458d6a0e525748000cd7383d830cda4e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178419700,
       "length": 544,
       "sha256": "33aee09d6ede5f8c77e5a580144e57c9302e05d50b60c877f3056865ba6d49fe",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "agentFrontmatter",
     "mechanism": "frontmatter",
     "knob": null,
     "label": "Model in the agent's frontmatter",
     "input": "choice",
     "accepts": [
      "claude-sonnet-5",
      "claude-haiku-4-5"
     ],
     "skip_when": [
      {
       "value": [
        "inherit"
       ]
      }
     ],
     "note": "When the session runs as an agent whose definition names a model, and --model is not given. A value of inherit is skipped.",
     "effect": {
      "from": "input"
     },
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179171477,
       "length": 41,
       "sha256": "25241531710f00e6037bf82d6655060a8322404adbc118b673f652dd1235adfe",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "tested",
     "id": "envModel",
     "mechanism": "env",
     "knob": "env-anthropic-model",
     "input": "choice",
     "accepts": [
      "claude-sonnet-5",
      "claude-haiku-4-5"
     ],
     "note": "Any model id or alias. It is checked before the model setting in every settings file.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "env": {
       "ANTHROPIC_MODEL": "{value}"
      }
     },
     "label": "ANTHROPIC_MODEL",
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179171549,
       "length": 48,
       "sha256": "7ea5094f62434ec25f663924f2889d7a4d0c3e460f0e3f457c88a3bc5594bdea",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178390294,
       "length": 55,
       "sha256": "811f8eeadcc588efff7f31c61289fa5eb679abbf1b7640d70301375e4a3b561b",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "tested",
     "id": "settingModel",
     "mechanism": "settings",
     "knob": "setting-model",
     "input": "choice",
     "accepts": [
      "claude-sonnet-5",
      "claude-haiku-4-5"
     ],
     "note": "From the merged settings files. An organization default model that overrides user choices can set aside a model from user or project settings; one from managed policy or --settings is kept.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "settings": {
       "model": "{value}"
      }
     },
     "label": "model",
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179171606,
       "length": 62,
       "sha256": "05319fb1eda968bfef7740ae6cf74dbd25f1eaa5539167e2a191e91cc1bf4fc4",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179170262,
       "length": 969,
       "sha256": "f12b853ab630c29058fc129aa2034857e1b7cbcfc6f33142d909c4b8ba89b384",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "orgDefault",
     "mechanism": "managed",
     "knob": null,
     "label": "Organization default model",
     "input": "choice",
     "accepts": [
      "claude-sonnet-5",
      "claude-haiku-4-5"
     ],
     "note": "A default model set for your organization, sent by Anthropic's servers with your account. It only applies when nothing above chose a model, and it can change without a release.",
     "effect": {
      "from": "input"
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178374438,
       "length": 314,
       "sha256": "0cc4b96420af6241d6beb926d20616c3aa13ab219fe5a34c35ee0b44b92ab6cf",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178399347,
       "length": 247,
       "sha256": "4b0c158f024dfef99b03acf159b910cea2c69eefb193f739207b5b338af1198e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "tested",
     "id": "envDefault",
     "mechanism": "env",
     "knob": "env-anthropic-default-model",
     "input": "choice",
     "accepts": [
      "claude-sonnet-5",
      "claude-haiku-4-5"
     ],
     "invalid_example": "haiku",
     "note": "Replaces the built-in default. The haiku and opusplan aliases, default and inherit are skipped without a warning, and it is ignored while enforceAvailableModels is on.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "env": {
       "ANTHROPIC_DEFAULT_MODEL": "{value}"
      }
     },
     "label": "ANTHROPIC_DEFAULT_MODEL",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178402955,
       "length": 369,
       "sha256": "134b1c1c60f0f12c733fa6c5699af3e4ce82a256a06466877cbe7ef0a1afdfeb",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "builtin",
     "mechanism": "default",
     "knob": null,
     "label": "Built-in default",
     "input": null,
     "note": "Opus 5.5 for a plain API-key run. The code chooses between the Opus and Sonnet families by sign-in and provider, and ANTHROPIC_DEFAULT_OPUS_MODEL or ANTHROPIC_DEFAULT_SONNET_MODEL can change the id.",
     "effect": {
      "value": "claude-opus-5-5"
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178403383,
       "length": 414,
       "sha256": "b4aca5fdfeb8f4002b55853eb39fe7bb17663ac6fd7909aa363f34ad85c53f23",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178391243,
       "length": 74,
       "sha256": "23f4756a4751bc2116a595fb16f73f1dfc2041ff7d07c41242c00caa271140c2",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    }
   ],
   "constraints": [
    {
     "id": "allowlist",
     "knob": "setting-available-models",
     "note": "A chosen model that is not on the list is dropped. An alias such as opus can become an allowed version of that family; otherwise the default is used, and lower rungs are not tried. An empty list allows no model.",
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179171708,
       "length": 53,
       "sha256": "9275ed1a86a3be61cd67551339c86d7a6d2e8d877c78f1463a0e15eb01b5dff5",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178397632,
       "length": 309,
       "sha256": "3023bc257da5f002dd7e26ea3cecfcccff19efce5d25b071c512eb9b75d7135e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "id": "deniedModels",
     "knob": null,
     "label": "Managed policy's deniedModels blocks models.",
     "note": "Read from managed policy only. A chosen model it blocks is dropped like one missing from availableModels: an alias can become a version of that family that is not blocked; otherwise the default is used, and lower rungs are not tried.",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178383332,
       "length": 55,
       "sha256": "f730ce71cbbb5607c416cf9c547dd3aa5d8a9d79b2aab541b52a309c37f20473",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178380582,
       "length": 196,
       "sha256": "ab911e4a5c7803b6f23aac62e9f70a4f2838086046b2f53a4a6aa1adb6f214ab",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178397731,
       "length": 63,
       "sha256": "b128b691297535e994118603fbf831733c7f86dd7648c3189ec14cde1eca3587",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179171708,
       "length": 14,
       "sha256": "c6f8e371f35330f3b743a957ffb42637ab48be66a296cc80de5e21b5f7ad91b7",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "id": "enforce",
     "knob": "setting-enforce-available-models",
     "note": "With availableModels, the default is also kept on the list and ANTHROPIC_DEFAULT_MODEL is ignored. It is read from managed policy; when no managed policy exists, other settings files can set it. Set in policy without availableModels, it is turned off with a warning.",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178403797,
       "length": 3800,
       "sha256": "07aaa5abd6a1943947006d40fc6d6232f99723f01bb1056c803123f014bc19e5",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178408146,
       "length": 2366,
       "sha256": "7e9fc0c7b7affa338bf0ded957af84221b0a43474a8607d1a06b23ddfa1eae4c",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    }
   ],
   "details": {
    "candidate": "main-model"
   },
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-fr7r2xfj.js",
     "binary_offset": 179171231,
     "length": 963,
     "sha256": "70c93b30a5f270c52274260e7c1e76ea5a5821cf1068e3e5f524903c42f762e8",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-1vt3h958.js",
     "binary_offset": 178390294,
     "length": 142,
     "sha256": "7396584a1f1f1129c7d99e5880995d2838c961cd134c366e6bae154e33c5871e",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    }
   ],
   "bypasses": []
  },
  {
   "id": "max-output-tokens",
   "title": "Max output tokens",
   "group": "Models and reasoning",
   "question": "The max_tokens a main-conversation request asks for: how many tokens the model may write in one response, thinking included.",
   "shape": "first-wins",
   "observe": "max_tokens",
   "value_labels": {
    "remote": "Set by Anthropic, up to the model's limit"
   },
   "context": [
    {
     "key": "model",
     "label": "Model",
     "values": [
      {
       "value": "opus-5-5",
       "label": "Opus 5.5"
      },
      {
       "value": "current",
       "label": "Sonnet 5, Opus 4.6 to 5, Fable or Mythos"
      },
      {
       "value": "sonnet-4-6",
       "label": "Sonnet 4.6, or a model Claude Code does not recognize"
      },
      {
       "value": "older-64k",
       "label": "Opus 4.5, Sonnet 4 or 4.5, Haiku 4.5 or Sonnet 3.7"
      },
      {
       "value": "opus-4",
       "label": "Opus 4 or 4.1"
      },
      {
       "value": "claude-3-5",
       "label": "Claude 3.5 Sonnet or Haiku"
      }
     ]
    },
    {
     "key": "served",
     "label": "Default sent by Anthropic",
     "values": [
      {
       "value": "none",
       "label": "None"
      },
      {
       "value": "catalog",
       "label": "From the served model list"
      },
      {
       "value": "account",
       "label": "From account data"
      }
     ]
    }
   ],
   "realize_context": {
    "model": {
     "opus-5-5": {},
     "current": null,
     "sonnet-4-6": null,
     "older-64k": null,
     "opus-4": null,
     "claude-3-5": null
    },
    "served": {
     "none": {},
     "catalog": null,
     "account": null
    }
   },
   "rungs": [
    {
     "verified": "tested",
     "id": "env",
     "mechanism": "env",
     "knob": "env-claude-code-max-output-tokens",
     "input": "choice",
     "accepts": [
      "8000",
      "64000",
      "200000"
     ],
     "invalid_example": "0",
     "note": "Any whole number up to the model's limit. Zero, negatives and non-numbers fall back to the default, with only a debug-log line; a value above the limit is lowered to it. Text after the leading digits is ignored, and 64,000 or 6.4e4 also parse.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_MAX_OUTPUT_TOKENS": "{value}"
      }
     },
     "label": "CLAUDE_CODE_MAX_OUTPUT_TOKENS",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 185042288,
       "length": 147,
       "sha256": "bb540e711feb66d071e286192e16572c438ec5d527a34bf417ec2d53a26caa68",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-s7stjdxd.js",
       "binary_offset": 182630655,
       "length": 362,
       "sha256": "d6bb642e9cb1d0c764ccf0a7f589a4956f15507ee1809e1116fe73ff23cacfc4",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "catalogDefault",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's served model list",
     "input": null,
     "applies_when": [
      {
       "served": [
        "catalog"
       ]
      }
     ],
     "note": "On Anthropic's own API at its default address, a model list fetched from Anthropic can give each model a default output size. Nothing is set in the code, so the built-in table applies unless Anthropic sends one, which it can change without a release.",
     "effect": {
      "value": "remote"
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178373934,
       "length": 66,
       "sha256": "00c7bfdbce03fc248f24cc99fa85dfb18b1d103b348f186931d6422e81b18388",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-y5k20gt2.js",
       "binary_offset": 176673413,
       "length": 47,
       "sha256": "dedc01b53098c71284941e519e496435aeb5f46444fb66623b93ccbc6a8b0401",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "accountDefault",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's per-account table",
     "input": null,
     "applies_when": [
      {
       "served": [
        "account"
       ]
      }
     ],
     "note": "Account data Claude Code downloads at startup can hold a default output size per model. Nothing is set in the code, so the built-in table applies unless Anthropic sends one, which it can change without a release.",
     "effect": {
      "value": "remote"
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178428033,
       "length": 186,
       "sha256": "b96dd57424d9c876e3668cdf9400c0f2bb64b0d17936c8c62b0f5540d4863bc9",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "modelDefault",
     "mechanism": "default",
     "knob": null,
     "label": "Built-in default for the model",
     "input": null,
     "note": "Claude Code's own table: 128,000 for Opus 5.5, 64,000 for other current models, 32,000 for older ones and for models it does not recognize. Claude 3.5 models get 8,192.",
     "effect": {
      "by_context": [
       {
        "when": {
         "model": [
          "opus-5-5"
         ]
        },
        "value": "128000"
       },
       {
        "when": {
         "model": [
          "current"
         ]
        },
        "value": "64000"
       },
       {
        "when": {
         "model": [
          "claude-3-5"
         ]
        },
        "value": "8192"
       },
       {
        "when": {},
        "value": "32000"
       }
      ]
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178428334,
       "length": 32,
       "sha256": "e80d234858ca71fa8deea2ab20df1c435ff7dc85f4b3517d5bfea2153f2a1b76",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178428474,
       "length": 15,
       "sha256": "789920b85ce31d2e082bb8a9d90b53ecfcb8ed56530340159375d8048e1e47a5",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "constraints": [
    {
     "id": "upperLimit",
     "label": "Model's upper limit",
     "applies_when": [
      {}
     ],
     "note": "Whatever the ladder picks is lowered to the model's limit: 128,000 for Opus 5.5, Sonnet 4.6 and later, Fable, Mythos and unrecognized models; 64,000 for Opus 4.5, Sonnet 4 and 4.5, Haiku 4.5 and Sonnet 3.7; 32,000 for Opus 4 and 4.1; 8,192 for Claude 3.5. On Anthropic's API the served model list can set a different limit.",
     "cap": {
      "by_context": [
       {
        "when": {
         "model": [
          "opus-5-5",
          "current",
          "sonnet-4-6"
         ]
        },
        "value": "128000"
       },
       {
        "when": {
         "model": [
          "older-64k"
         ]
        },
        "value": "64000"
       },
       {
        "when": {
         "model": [
          "opus-4"
         ]
        },
        "value": "32000"
       },
       {
        "when": {
         "model": [
          "claude-3-5"
         ]
        },
        "value": "8192"
       }
      ]
     },
     "provenance": [
      {
       "file": "chunk-s7stjdxd.js",
       "binary_offset": 182630655,
       "length": 362,
       "sha256": "d6bb642e9cb1d0c764ccf0a7f589a4956f15507ee1809e1116fe73ff23cacfc4",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178428287,
       "length": 47,
       "sha256": "59d707737e1528bf22ef0c7fbfa91cbf68a4c4426f0bd511284a7d7a2bc8e704",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "id": "internalLower",
     "label": "Claude Code lowers it for its own reasons",
     "note": "Some internal requests ask for a smaller cap, and after a context-overflow error the request is retried with what still fits. These can only lower the value, never raise it.",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184956613,
       "length": 68,
       "sha256": "883dcf7e002407a79ce4ea8150d478d26a84d05e1e53e041e65ee80bd8f55985",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184903642,
       "length": 47,
       "sha256": "9c13a5d9f5735278c801d8070b2438d68a36764988627f38bc5ac5f3d980e737",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "details": {
    "candidate": "max-output-tokens"
   },
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 184956613,
     "length": 68,
     "sha256": "883dcf7e002407a79ce4ea8150d478d26a84d05e1e53e041e65ee80bd8f55985",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 184961590,
     "length": 25,
     "sha256": "1c31a30d49cd35690f7143b925030edcc9107831b6d67e6ec21bce4ec5bee5c5",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-1vt3h958.js",
     "binary_offset": 178428219,
     "length": 430,
     "sha256": "c1226c1d6aed68feb12ab90a203dca653c5b9c3f5f8c65e43fc19c3b7c6157f1",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    }
   ],
   "bypasses": []
  },
  {
   "id": "mcp-output-limit",
   "title": "MCP output limit",
   "group": "Tools and output",
   "question": "How many tokens of an MCP tool's result Claude receives in the tool result before the result is saved to a file or cut short.",
   "shape": "first-wins",
   "observe": "none",
   "context": [],
   "realize_context": {},
   "rungs": [
    {
     "verified": "read",
     "id": "env",
     "mechanism": "env",
     "knob": "env-max-mcp-output-tokens",
     "input": "choice",
     "accepts": [
      "10000",
      "50000",
      "100000"
     ],
     "invalid_example": "0",
     "note": "A whole number of tokens. Zero, negatives and non-numbers are skipped without a warning, and the lookup moves on to Anthropic's value rather than straight to the default. There is no upper cap.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "env": {
       "MAX_MCP_OUTPUT_TOKENS": "{value}"
      }
     },
     "label": "MAX_MCP_OUTPUT_TOKENS",
     "provenance": [
      {
       "file": "chunk-y09rhn85.js",
       "binary_offset": 202809306,
       "length": 58,
       "sha256": "b59c00e0d166d1db84799aff4303d255d879d17f936d68dbf821f638eec04caf",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-ze990dc9.js",
       "binary_offset": 175809858,
       "length": 28,
       "sha256": "605f40fe32d595c77dd28ab4d80ff509c36da67342c070e1510829bc0a8159c1",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-276sqz99.js",
       "binary_offset": 175749869,
       "length": 42,
       "sha256": "07491f6c0720c2f8d5e10ec05be897f6365d297ed2f5831dc954dbd8e77b88d7",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "remote",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's per-tool table (MCP entry)",
     "input": "choice",
     "accepts": [
      "10000",
      "50000"
     ],
     "invalid_example": "0",
     "note": "Anthropic can send a token limit for all MCP tools in the same per-tool table that sets the Bash threshold, under its own MCP entry. The code's default table is empty, so this rung answers only when Anthropic sends a positive number, which it can do without a release; zero, negatives and non-numbers are skipped.",
     "effect": {
      "from": "input"
     },
     "provenance": [
      {
       "file": "chunk-y09rhn85.js",
       "binary_offset": 202809364,
       "length": 99,
       "sha256": "de41eca50140363737ace462850564b6e03092adf49c0aa14538cec1172167c2",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "default",
     "mechanism": "default",
     "knob": null,
     "label": "Built-in default",
     "input": null,
     "note": "25,000 tokens.",
     "effect": {
      "value": "25000"
     },
     "provenance": [
      {
       "file": "chunk-y09rhn85.js",
       "binary_offset": 202809268,
       "length": 25,
       "sha256": "b43082f7ad1db006578aac1444d78d1e26f5c5a4795bf98652ed1229916f9069",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "constraints": [
    {
     "id": "ideServer",
     "label": "Built-in IDE connection",
     "note": "Checked before the ladder. Results from the built-in IDE connection are passed through without this limit.",
     "provenance": [
      {
       "file": "chunk-w61ke47p.js",
       "binary_offset": 209205400,
       "length": 22,
       "sha256": "d5ba497da7cc5d7fdd08e38bf3c2bf9b3eb15e94ddda27cf95c229450adc6e12",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "id": "sizeAnnotation",
     "label": "Tool declares its own result size",
     "note": "Checked before the ladder. An MCP tool that declares a positive anthropic/maxResultSizeChars value in its metadata skips this token limit, unless the result contains images.",
     "provenance": [
      {
       "file": "chunk-w61ke47p.js",
       "binary_offset": 209171793,
       "length": 124,
       "sha256": "0b319cf47733dde21f20a42ea51e53eed2cc7bb197c36ab6632bf101425c75e9",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-w61ke47p.js",
       "binary_offset": 209178592,
       "length": 17,
       "sha256": "ba5b3ebb4e6b5095261ac86203726734066abb7c175feee724ccf04b7d989d53",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-w61ke47p.js",
       "binary_offset": 209205422,
       "length": 22,
       "sha256": "044ade3c9d81723a3ecf04b3886a753a63aeb9d51219a3965ff4be05fc197eff",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "id": "overflow",
     "label": "What happens to a result over the limit",
     "note": "A result whose estimated size is at most half the limit passes; above that, the tokens are counted through the API, falling back to the estimate if counting fails. A result over the limit is normally saved to a file, and Claude gets the file's path, its format and instructions for reading it. It is instead cut to four characters per token of the limit, followed by a truncation notice, when ENABLE_MCP_LARGE_OUTPUT_FILES is set to a false value, when the result contains images, or when saving fails in remote-storage sessions; in other sessions a failed save returns an error with no content.",
     "provenance": [
      {
       "file": "chunk-y09rhn85.js",
       "binary_offset": 202810001,
       "length": 28,
       "sha256": "459a59faa8dc951970c7d7f4fe688d9d529ef61bbe6ffe27d39cc2f6b4e350e4",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-y09rhn85.js",
       "binary_offset": 202811067,
       "length": 158,
       "sha256": "95e4d65f231bd701426803f987e788709222ffc0af31de5b8cb8f99b96e159bd",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-w61ke47p.js",
       "binary_offset": 209205485,
       "length": 130,
       "sha256": "8f1b30f71d17479ad4c68faab0785943a4a88dd8ebbef53373cd962b0d680a82",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-w61ke47p.js",
       "binary_offset": 209205743,
       "length": 27,
       "sha256": "f542d018a7222f4133e15c3302dcdbefc344f51008ec8b9f8a65c1415463a9b6",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-w61ke47p.js",
       "binary_offset": 209206431,
       "length": 22,
       "sha256": "5ac7cbf87cc39b4190539d68030da011fd25ef58798f4d4db74c562ad328d791",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-w61ke47p.js",
       "binary_offset": 209206572,
       "length": 26,
       "sha256": "392955cb52d5171d6c69ae4ea6da75eb04d28f3d582884df6de3cf1f619d96cf",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-w61ke47p.js",
       "binary_offset": 209206896,
       "length": 45,
       "sha256": "edf764daf09a2da10847bd21b7fa083d224cdaa3a086ee5ca5cbcfb5ad1089a6",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "id": "savedFileWording",
     "label": "Saved-file instructions wording",
     "note": "MCP_TRUNCATION_PROMPT_OVERRIDE only changes the wording of the reading instructions for a saved file, not the limit: legacy picks the older wording and any other value the newer one. When it is unset, a flag Anthropic can change without a release decides, and the code's default is the older wording.",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184224996,
       "length": 110,
       "sha256": "0b8a4e6ff8c072387641264fce74af687dfa8fcdfda431c543e51e830e089503",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184225308,
       "length": 2720,
       "sha256": "d5babc148107fda14d68b069c67d09cfd5da6b5d5aada6bdabe7d77857d65414",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "id": "characterThreshold",
     "label": "General tool-result size threshold",
     "note": "After this check, MCP results also pass the size check every tool uses. For a tool that does not declare its own size it is 50,000 characters, so a text result under the token limit but longer than that is still saved to a file with a short preview. Anthropic's per-tool table can set this threshold for a single MCP tool by name without a release.",
     "provenance": [
      {
       "file": "chunk-w61ke47p.js",
       "binary_offset": 209173801,
       "length": 100,
       "sha256": "67f1f0d6d4970f10cd571d943d483002d1329e33a48be84aa3d6f546e1fa40b7",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-rn9npytr.js",
       "binary_offset": 202812408,
       "length": 69,
       "sha256": "da88c7a7a4ec67068d02a1382cddfd8bebf07e96539ad76a5a386e23c88215bd",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-9z4jqqwq.js",
       "binary_offset": 182536616,
       "length": 151,
       "sha256": "7a4207c758373ec77841ce00dfcb91b05c701498ddea18d646abea0b1787af16",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-9z4jqqwq.js",
       "binary_offset": 182533484,
       "length": 183,
       "sha256": "187948de6186402a263bbcf53e9d572bd106dbe24652e726c5440ee663f54c0f",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-3zhhn859.js",
       "binary_offset": 177030533,
       "length": 8,
       "sha256": "e5188f92c2468d82b2cfd364b06336c4079e803791b838bec0dc4fe31bf69cf4",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "details": {
    "candidate": "chunk-wq3ev8bt.js:971"
   },
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-y09rhn85.js",
     "binary_offset": 202809293,
     "length": 179,
     "sha256": "30694e27b4565a4012d5c35874a45809ba436a38afdfa664946542c8d68d29a3",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-y09rhn85.js",
     "binary_offset": 202810838,
     "length": 229,
     "sha256": "cc851900c713f52527d85e6a4f61367ea3d552d54b4198628303699268a43cda",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-w61ke47p.js",
     "binary_offset": 209205316,
     "length": 1892,
     "sha256": "33bb49a7aa80a9257e02bfca3ec86f7859f98ef420f84b67f8e9a602c4a3e86a",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    }
   ],
   "bypasses": []
  },
  {
   "id": "native-cursor",
   "title": "Native terminal cursor",
   "group": "Privacy and interface",
   "question": "Whether Claude Code shows the terminal's own cursor at the input caret instead of drawing a block cursor, decided once per terminal.",
   "shape": "first-wins",
   "observe": "none",
   "value_labels": {
    "on": "Terminal's own cursor",
    "off": "Drawn block cursor"
   },
   "details": {
    "candidate": "chunk-ye4x3h8k.js:360231"
   },
   "rungs": [
    {
     "verified": "read",
     "id": "envAccessibility",
     "mechanism": "env",
     "knob": "env-claude-code-accessibility",
     "input": "choice",
     "accepts": [
      "1",
      "true",
      "yes",
      "on"
     ],
     "invalid_example": "2",
     "note": "1, true, yes or on (any case) turns the native cursor on, whatever is set below. Any other value counts as unset.",
     "effect": {
      "value": "on"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_ACCESSIBILITY": "{value}"
      }
     },
     "label": "CLAUDE_CODE_ACCESSIBILITY",
     "provenance": [
      {
       "file": "chunk-6sap1w9m.js",
       "binary_offset": 188768963,
       "length": 63,
       "sha256": "17369e1efbb30df66a095fae406c28e0e85e4c2b064ea1e626f4c9f71858d495",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-ze990dc9.js",
       "binary_offset": 175769965,
       "length": 32,
       "sha256": "477361646af89728c80ee9235c78e12daaa178fceb633b86f38fedd5a5fb0d5d",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-ze990dc9.js",
       "binary_offset": 175782938,
       "length": 26,
       "sha256": "3f1bd8dc2045bb4d3be19ce4439160b8b7f89a1de63cede194894e1ab5b5c333",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "screenReader",
     "mechanism": "env",
     "knob": "env-claude-ax-screen-reader",
     "input": "choice",
     "accepts": [
      "1",
      "true",
      "yes",
      "on"
     ],
     "invalid_example": "2",
     "note": "Screen reader mode also turns the native cursor on. It comes from --ax-screen-reader, this variable, or the axScreenReader setting; 0, false, no or off here overrides the setting. A remote gate that is on by default in code can still keep screen reader mode off.",
     "effect": {
      "value": "on"
     },
     "realize": {
      "env": {
       "CLAUDE_AX_SCREEN_READER": "{value}"
      }
     },
     "label": "CLAUDE_AX_SCREEN_READER",
     "provenance": [
      {
       "file": "chunk-6sap1w9m.js",
       "binary_offset": 188769026,
       "length": 40,
       "sha256": "aedad0d746684523bba3c456f5a2273870dc1e0ef0ce455ae0bda802069beada",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-pspf2b4w.js",
       "binary_offset": 177775183,
       "length": 42,
       "sha256": "5b6b704c0c4518ad6804e178f2fc53b79c88b6173f55f3f0ce7fb0ba0f20cf3c",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-pspf2b4w.js",
       "binary_offset": 177775357,
       "length": 26,
       "sha256": "571753a0b6abdab99cf7b80cea60da05f165d1ce136a90a38b02c1b45737fed1",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "envScrollRegion",
     "mechanism": "env",
     "knob": "env-claude-code-decstbm",
     "input": "choice",
     "accepts": [
      "1",
      "true",
      "yes",
      "on"
     ],
     "invalid_example": "0",
     "note": "Turning on the scroll-region renderer keeps the drawn cursor. It only takes effect in an interactive terminal that supports it, and when other internal conditions allow. 0 or false does not turn the renderer off; it leaves the choice to Anthropic's flag below.",
     "effect": {
      "value": "off"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_DECSTBM": "{value}"
      }
     },
     "label": "CLAUDE_CODE_DECSTBM",
     "provenance": [
      {
       "file": "chunk-6sap1w9m.js",
       "binary_offset": 188769066,
       "length": 41,
       "sha256": "914c68db0bd6f401f02a6d2565d57fee21a8b691229758cd0b7ea7a151e02824",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-6sap1w9m.js",
       "binary_offset": 188768383,
       "length": 492,
       "sha256": "e89db7f63c7e8b4823d286a81335f8439d89f5945ebc25803252a6a22509f07b",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-6sap1w9m.js",
       "binary_offset": 188768718,
       "length": 64,
       "sha256": "98a94512d806ec9cf8971203a459774b2426446354b78c27b304802e3b99ca0f",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "remoteScrollRegion",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's scroll-region renderer flag turned on",
     "input": "toggle",
     "note": "A remote flag that is off by default in code. When Anthropic turns it on, the scroll-region renderer runs in supported terminals and the cursor stays drawn, even with CLAUDE_CODE_NATIVE_CURSOR set. Anthropic can change it without a release.",
     "effect": {
      "value": "off"
     },
     "provenance": [
      {
       "file": "chunk-6sap1w9m.js",
       "binary_offset": 188768782,
       "length": 58,
       "sha256": "d6b41baafaf36ea638af3365722f8fcd18aba352cc1598d221e46090f9365d61",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "envNativeCursor",
     "mechanism": "env",
     "knob": "env-claude-code-native-cursor",
     "input": "choice",
     "accepts": [
      "1",
      "true",
      "yes",
      "on"
     ],
     "invalid_example": "2",
     "note": "1, true, yes or on (any case) turns the native cursor on. Only accessibility or screen reader mode beats it, and the scroll-region renderer above keeps the cursor drawn. Any other value counts as unset.",
     "effect": {
      "value": "on"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_NATIVE_CURSOR": "{value}"
      }
     },
     "label": "CLAUDE_CODE_NATIVE_CURSOR",
     "provenance": [
      {
       "file": "chunk-6sap1w9m.js",
       "binary_offset": 188769180,
       "length": 40,
       "sha256": "c21a1fad101f5d237351b5a208cd1d5b66162ca1b3aaf409c605313cf2353d77",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-ze990dc9.js",
       "binary_offset": 175776793,
       "length": 32,
       "sha256": "4e0f7df887f893ce0bb003577ce5cedbcabb962453fb39bad8b2f29637b62560",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-ze990dc9.js",
       "binary_offset": 175783865,
       "length": 38,
       "sha256": "8b3f34b1f55cad2f6e8d082c53dca7c5fa52530e851a5b48c14eefad11d2108e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "remoteNativeCursor",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's native cursor flag turned on",
     "input": "toggle",
     "note": "A remote flag that is off by default in code. When Anthropic turns it on, you get the native cursor without setting anything. Anthropic can change it without a release.",
     "effect": {
      "value": "on"
     },
     "provenance": [
      {
       "file": "chunk-6sap1w9m.js",
       "binary_offset": 188769220,
       "length": 34,
       "sha256": "006e651e56fc03bad4753b5853ec5f13d6800cd0ca4da3729e464b6b301393ce",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "default",
     "mechanism": "default",
     "knob": null,
     "label": "Default",
     "input": null,
     "note": "When nothing above answers: the drawn block cursor.",
     "effect": {
      "value": "off"
     },
     "provenance": [
      {
       "file": "chunk-6sap1w9m.js",
       "binary_offset": 188769220,
       "length": 34,
       "sha256": "006e651e56fc03bad4753b5853ec5f13d6800cd0ca4da3729e464b6b301393ce",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-6sap1w9m.js",
     "binary_offset": 188768875,
     "length": 233,
     "sha256": "c5ff43c6fe60df51fcfcab0450bc586fe63b350edb11af1a5bbf235a8b40dcd6",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-6sap1w9m.js",
     "binary_offset": 188769108,
     "length": 147,
     "sha256": "07a395084a7255ef44e4b37ec9002fadae5582ad2682f70a2a85b48a7f242999",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    }
   ],
   "bypasses": [],
   "constraints": []
  },
  {
   "id": "permission-mode",
   "title": "Starting permission mode",
   "group": "Permissions and security",
   "question": "Which permission mode a session starts in: default, acceptEdits, plan, auto, dontAsk or bypassPermissions.",
   "shape": "first-wins",
   "observe": "none",
   "value_labels": {
    "default": "Default (Manual)",
    "acceptEdits": "Accept edits",
    "plan": "Plan",
    "auto": "Auto",
    "dontAsk": "Don't ask",
    "bypassPermissions": "Bypass permissions"
   },
   "details": {
    "candidate": "chunk-76kv9jbg.js:13697"
   },
   "context": [
    {
     "key": "session",
     "label": "Session",
     "values": [
      {
       "value": "interactive",
       "label": "Interactive terminal"
      },
      {
       "value": "print",
       "label": "Print mode (-p) or SDK"
      },
      {
       "value": "background",
       "label": "Background session"
      }
     ]
    },
    {
     "key": "consent",
     "label": "Bypass disclaimer accepted",
     "show_when": [
      {
       "session": [
        "background"
       ]
      }
     ],
     "values": [
      {
       "value": true,
       "label": "Yes"
      },
      {
       "value": false,
       "label": "No"
      }
     ]
    },
    {
     "key": "remote",
     "label": "Claude Code on the web (CLAUDE_CODE_REMOTE)",
     "values": [
      {
       "value": false,
       "label": "No"
      },
      {
       "value": true,
       "label": "Yes"
      }
     ]
    },
    {
     "key": "source",
     "label": "Settings defaultMode comes from",
     "values": [
      {
       "value": "trusted",
       "label": "Managed policy, --settings or user settings"
      },
      {
       "value": "repo",
       "label": "Project or local settings only"
      }
     ]
    }
   ],
   "realize_context": {
    "session": {
     "interactive": null,
     "print": {},
     "background": null
    },
    "consent": {
     "true": null,
     "false": null
    },
    "remote": {
     "false": {},
     "true": null
    },
    "source": {
     "trusted": {},
     "repo": null
    }
   },
   "bypasses": [
    {
     "id": "scrub",
     "knob": "env-claude-code-subprocess-env-scrub",
     "effect": {
      "value": "default"
     },
     "note": "Checked before the ladder: the session starts in default and every flag, agent and setting below is ignored, with a warning if one asked for another mode. Set it to 0 to opt out.",
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179164458,
       "length": 68,
       "sha256": "06ac01f66482946d951301d169338552d3c166e64cfe04f68de9ee1c7e0b6cdb",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-5mcqa25r.js",
       "binary_offset": 189981489,
       "length": 34,
       "sha256": "0e5b58b52417a804d34532ea55bcdfc0bc0ef36840c4c93d74ab82b3f751d6db",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "rungs": [
    {
     "verified": "read",
     "id": "skipPermissions",
     "mechanism": "cli",
     "knob": "cli-flag-dangerously-skip-permissions",
     "input": "toggle",
     "note": "Asks for bypassPermissions. In a background session where the bypass disclaimer has not been accepted, it answers default instead.",
     "effect": {
      "by_context": [
       {
        "when": {
         "value": [
          true
         ],
         "session": [
          "background"
         ],
         "consent": [
          false
         ]
        },
        "value": "default"
       },
       {
        "when": {},
        "value": "bypassPermissions"
       }
      ]
     },
     "realize": {
      "args": [
       "--dangerously-skip-permissions"
      ]
     },
     "label": "--dangerously-skip-permissions",
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179165148,
       "length": 85,
       "sha256": "0f4db0ae448880ff1b456e13ee4d144257b665e197bcc4f7f7002340fd9421df",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179174215,
       "length": 118,
       "sha256": "44effa3fefbd99013bfa2a2a1ce1d87bc18bd618dab2686f9969e98e7d24ebe8",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "cliMode",
     "mechanism": "cli",
     "knob": "cli-flag-permission-mode",
     "input": "choice",
     "accepts": [
      "acceptEdits",
      "auto",
      "bypassPermissions",
      "default",
      "dontAsk",
      "plan",
      "manual"
     ],
     "note": "manual means default. Any other value stops Claude Code with an error. bypassPermissions in a background session without the disclaimer accepted answers default.",
     "effect": {
      "by_context": [
       {
        "when": {
         "value": [
          "bypassPermissions"
         ],
         "session": [
          "background"
         ],
         "consent": [
          false
         ]
        },
        "value": "default"
       },
       {
        "when": {
         "value": [
          "manual"
         ]
        },
        "value": "default"
       },
       {
        "when": {
         "value": [
          "acceptEdits"
         ]
        },
        "value": "acceptEdits"
       },
       {
        "when": {
         "value": [
          "auto"
         ]
        },
        "value": "auto"
       },
       {
        "when": {
         "value": [
          "bypassPermissions"
         ]
        },
        "value": "bypassPermissions"
       },
       {
        "when": {
         "value": [
          "default"
         ]
        },
        "value": "default"
       },
       {
        "when": {
         "value": [
          "dontAsk"
         ]
        },
        "value": "dontAsk"
       },
       {
        "when": {
         "value": [
          "plan"
         ]
        },
        "value": "plan"
       }
      ]
     },
     "realize": {
      "args": [
       "--permission-mode",
       "{value}"
      ]
     },
     "label": "--permission-mode <mode>",
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179165234,
       "length": 18,
       "sha256": "529943725d52556761ab8dcaa9da633ec9933745167fa81b7daced79366b87bf",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179174333,
       "length": 136,
       "sha256": "70ba530a2a153794c6dde1ff2bafbbe794fa5966955625f5172d87d631752c32",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-2crv8d5h.js",
       "binary_offset": 192069370,
       "length": 98,
       "sha256": "3910aed86d70293edfc42aab5bbe502203c952f55788e434e91dd049fa5f05d7",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "frontmatter",
     "mechanism": "frontmatter",
     "knob": null,
     "label": "Agent frontmatter permissionMode",
     "input": "choice",
     "note": "From the agent the session runs as, chosen with --agent or the agent setting. Passed over with a warning when it would widen a mode passed with --inherit-permission-mode.",
     "effect": {
      "from": "input"
     },
     "skip_when": [
      {
       "value": [
        "acceptEdits",
        "auto",
        "bypassPermissions",
        "default",
        "dontAsk"
       ],
       "rung.inherit": [
        "plan"
       ]
      },
      {
       "value": [
        "acceptEdits",
        "auto",
        "bypassPermissions"
       ],
       "rung.inherit": [
        "default",
        "manual",
        "dontAsk"
       ]
      },
      {
       "value": [
        "auto",
        "bypassPermissions"
       ],
       "rung.inherit": [
        "acceptEdits"
       ]
      },
      {
       "value": [
        "acceptEdits",
        "bypassPermissions"
       ],
       "rung.inherit": [
        "auto"
       ]
      },
      {
       "value": [
        "acceptEdits",
        "auto",
        "bypassPermissions"
       ],
       "rung.inherit": [
        "bypassPermissions"
       ],
       "session": [
        "background"
       ],
       "consent": [
        false
       ]
      }
     ],
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179165412,
       "length": 64,
       "sha256": "e722faa907ba655bf750e120bec8f53586426899186bc169cc8dbd4c7fe5be45",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-cpf7rt77.js",
       "binary_offset": 191835211,
       "length": 49,
       "sha256": "3cda8e0250ccb39f86146d7b193238ff77ee273e53316576d52a4786aa38177c",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "settingsMode",
     "mechanism": "settings",
     "knob": "setting-permissions--default-mode",
     "input": "choice",
     "accepts": [
      "acceptEdits",
      "auto",
      "bypassPermissions",
      "default",
      "dontAsk",
      "plan",
      "manual"
     ],
     "skip_when": [
      {
       "value": [
        "bypassPermissions",
        "dontAsk"
       ],
       "remote": [
        true
       ]
      },
      {
       "value": [
        "auto"
       ],
       "source": [
        "repo"
       ]
      },
      {
       "value": [
        "bypassPermissions"
       ],
       "source": [
        "repo"
       ],
       "rung.inherit": [
        "acceptEdits",
        "auto",
        "bypassPermissions",
        "default",
        "dontAsk",
        "plan",
        "manual"
       ]
      },
      {
       "value": [
        "acceptEdits",
        "default",
        "manual",
        "dontAsk"
       ],
       "rung.inherit": [
        "plan"
       ],
       "source": [
        "repo"
       ]
      },
      {
       "value": [
        "acceptEdits"
       ],
       "rung.inherit": [
        "default",
        "manual",
        "dontAsk"
       ],
       "source": [
        "repo"
       ]
      },
      {
       "value": [
        "acceptEdits"
       ],
       "rung.inherit": [
        "auto"
       ],
       "source": [
        "repo"
       ]
      },
      {
       "value": [
        "acceptEdits"
       ],
       "rung.inherit": [
        "bypassPermissions"
       ],
       "session": [
        "background"
       ],
       "consent": [
        false
       ],
       "source": [
        "repo"
       ]
      }
     ],
     "note": "manual means default. On the web only acceptEdits, plan, default and auto are honored. Project and local settings cannot grant auto or widen an inherited mode, and a bypassPermissions they ask for starts the session in default unless a mode is inherited. VS Code extension sessions ignore this setting unless Anthropic turns it on remotely.",
     "effect": {
      "by_context": [
       {
        "when": {
         "value": [
          "bypassPermissions"
         ],
         "source": [
          "repo"
         ]
        },
        "value": "default"
       },
       {
        "when": {
         "value": [
          "bypassPermissions"
         ],
         "session": [
          "background"
         ],
         "consent": [
          false
         ]
        },
        "value": "default"
       },
       {
        "when": {
         "value": [
          "manual"
         ]
        },
        "value": "default"
       },
       {
        "when": {
         "value": [
          "acceptEdits"
         ]
        },
        "value": "acceptEdits"
       },
       {
        "when": {
         "value": [
          "auto"
         ]
        },
        "value": "auto"
       },
       {
        "when": {
         "value": [
          "bypassPermissions"
         ]
        },
        "value": "bypassPermissions"
       },
       {
        "when": {
         "value": [
          "default"
         ]
        },
        "value": "default"
       },
       {
        "when": {
         "value": [
          "dontAsk"
         ]
        },
        "value": "dontAsk"
       },
       {
        "when": {
         "value": [
          "plan"
         ]
        },
        "value": "plan"
       }
      ]
     },
     "realize": {
      "settings": {
       "permissions": {
        "defaultMode": "{value}"
       }
      }
     },
     "label": "permissions.defaultMode",
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179166931,
       "length": 73,
       "sha256": "755f1330131ba1c0b34247fa2c61fb59dcfa469eb7f8dc62bf0a0c70c23eb647",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179167007,
       "length": 34,
       "sha256": "f5ce746bd83217a7f46e4ae64406320aac3c6d17173c083f7adaf80a7e1052fc",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179172416,
       "length": 98,
       "sha256": "55b6418ae36d62c671364523534c057f2ab9c796ec28fbf5f5568f2da3122181",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179165843,
       "length": 23,
       "sha256": "b7020f34161b2c5950c46be14a24e564ea78ba5080b130b6bda7807883651d4a",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "inherit",
     "mechanism": "cli",
     "knob": "cli-flag-inherit-permission-mode",
     "input": "choice",
     "accepts": [
      "acceptEdits",
      "auto",
      "bypassPermissions",
      "default",
      "dontAsk",
      "plan",
      "manual"
     ],
     "note": "A hidden flag a parent session passes on. Used only when nothing above answers. manual means default, and bypassPermissions in a background session without the disclaimer accepted answers default.",
     "effect": {
      "by_context": [
       {
        "when": {
         "value": [
          "bypassPermissions"
         ],
         "session": [
          "background"
         ],
         "consent": [
          false
         ]
        },
        "value": "default"
       },
       {
        "when": {
         "value": [
          "manual"
         ]
        },
        "value": "default"
       },
       {
        "when": {
         "value": [
          "acceptEdits"
         ]
        },
        "value": "acceptEdits"
       },
       {
        "when": {
         "value": [
          "auto"
         ]
        },
        "value": "auto"
       },
       {
        "when": {
         "value": [
          "bypassPermissions"
         ]
        },
        "value": "bypassPermissions"
       },
       {
        "when": {
         "value": [
          "default"
         ]
        },
        "value": "default"
       },
       {
        "when": {
         "value": [
          "dontAsk"
         ]
        },
        "value": "dontAsk"
       },
       {
        "when": {
         "value": [
          "plan"
         ]
        },
        "value": "plan"
       }
      ]
     },
     "realize": {
      "args": [
       "--inherit-permission-mode",
       "{value}"
      ]
     },
     "label": "--inherit-permission-mode <mode>",
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179168608,
       "length": 20,
       "sha256": "6d682d8722302c911cf7e3f735760ae61e1c7f4c5e910f53b2260244c12421c7",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "bridgeChildAuto",
     "mechanism": "env",
     "knob": "env-claude-code-bridge-child-auto-default",
     "input": "toggle",
     "note": "Starts a Remote Control machine session in auto when nothing above answers.",
     "effect": {
      "value": "auto"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_BRIDGE_CHILD_AUTO_DEFAULT": "1"
      }
     },
     "label": "CLAUDE_CODE_BRIDGE_CHILD_AUTO_DEFAULT",
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179169002,
       "length": 58,
       "sha256": "c6490de01ef6bcc74d7ca54e58bb3b25234749639c775b3095465e64cd4667d3",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "autoRollout",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's auto-by-default rollout",
     "input": "toggle",
     "applies_when": [
      {
       "session": [
        "interactive"
       ]
      }
     ],
     "note": "A remote flag, off by default in code, that starts sessions in auto when nothing above answers. Print mode needs a second remote flag, also off by default. Anthropic can change both without a release.",
     "effect": {
      "value": "auto"
     },
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179172338,
       "length": 78,
       "sha256": "6c354700ec7c43045956db3ec1741ea46f0158f6b8718db883d35873acc1a973",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179168974,
       "length": 25,
       "sha256": "7fa02c4f84b9488e5f90850373bb2bd1a44fad7cacccae3178b4930d5a4eebfb",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "default",
     "mechanism": "default",
     "knob": null,
     "label": "Built-in default",
     "input": null,
     "note": "When nothing above answers, the session starts in default.",
     "effect": {
      "value": "default"
     },
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179168902,
       "length": 23,
       "sha256": "a0d8ae33f371fd4ada1c1abefb2639cc7ceef9cc819ec197245d84996ed6c143",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "constraints": [
    {
     "id": "disableBypass",
     "knob": "setting-permissions--disable-bypass-permissions-mode",
     "note": "When set to disable, any rung that answers bypassPermissions is passed over with a warning and the next rung answers.",
     "skip_values": [
      "bypassPermissions"
     ],
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179168701,
       "length": 31,
       "sha256": "d073650137ad1d141c2eebc0a5a290a611159a3096fea74d642c6864729276f7",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179164926,
       "length": 57,
       "sha256": "4169f4549ae8d6f108028801e9c3e93c6b22c0b889a49061e60138199999fbcd",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "id": "disableAutoMode",
     "knob": "setting-permissions--disable-auto-mode",
     "note": "When set to disable, a session that would start in auto starts in default: an explicit auto from a flag, an agent or settings resolves to auto and is switched to default once Claude Code checks whether auto is available, and the fallback to auto is blocked. In a Remote Control machine session an auto from settings is passed over instead, so an inherited mode can still answer. The top-level disableAutoMode setting does the same.",
     "replace_values": {
      "auto": "default"
     },
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179172657,
       "length": 95,
       "sha256": "20f3ff5d2c6b6e9b42be29607157edbfd20486af1d3d5b3f1107bf229313f178",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-5mcqa25r.js",
       "binary_offset": 189991470,
       "length": 47,
       "sha256": "def07be62feed710912507904dec73f08eb1b0ce406ce06cb43df7144dc5a892",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-5mcqa25r.js",
       "binary_offset": 189993701,
       "length": 347,
       "sha256": "2fa2f01fb2d1be08e01f9d3498d4524877dbee87b9c1e055b35adb760af34bda",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "id": "autoKillswitch",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's auto-mode switch",
     "note": "A remote flag that leaves auto mode available by default in code. When Anthropic switches auto mode off, auto answers are passed over and the next rung answers, and a session already in auto is switched to default once Claude Code checks whether auto is available. Anthropic can change it without a release.",
     "skip_values": [
      "auto"
     ],
     "provenance": [
      {
       "file": "chunk-fr7r2xfj.js",
       "binary_offset": 179164130,
       "length": 140,
       "sha256": "cee1dea425a170f2a55b4b02b4006af43096fd99ac8bddd98bb96cbfbd0fc6ef",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-5mcqa25r.js",
       "binary_offset": 189991601,
       "length": 63,
       "sha256": "5a2b56ed5da3f92afb3c4a19fb4a858f1171630539891b6cdcbc6eea34999cf0",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-5mcqa25r.js",
       "binary_offset": 189990353,
       "length": 33,
       "sha256": "93d5314d1c3c904e7df429bd50c229ad87ae31161a3569e570f68bea629ee32b",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-fr7r2xfj.js",
     "binary_offset": 179164270,
     "length": 4972,
     "sha256": "50e7f44a0fc9f84754c49d471223442c63cf72de5eff11260dd6625d728202ef",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-5mcqa25r.js",
     "binary_offset": 189981251,
     "length": 1217,
     "sha256": "b29e3596655140226a68b0d03316220881a9168066092aa197a588f1275f8e28",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    }
   ]
  },
  {
   "id": "permission-rules",
   "title": "Which permission rules apply",
   "group": "Permissions and security",
   "question": "Which allow, deny and ask rules are in force for a session: every source adds its rules, and managed policy can shut most sources out.",
   "shape": "merge",
   "observe": "none",
   "context": [
    {
     "key": "trust",
     "label": "Workspace",
     "values": [
      {
       "value": "trusted",
       "label": "Trusted"
      },
      {
       "value": "untrusted",
       "label": "Not yet trusted"
      }
     ]
    },
    {
     "key": "session",
     "label": "Session",
     "values": [
      {
       "value": "interactive",
       "label": "Normal session"
      },
      {
       "value": "background",
       "label": "Background session"
      }
     ]
    }
   ],
   "rungs": [
    {
     "verified": "read",
     "id": "personalAllow",
     "mechanism": "settings",
     "knob": "setting-permissions--allow",
     "label": "permissions.allow in ~/.claude/settings.json or --settings",
     "input": "toggle",
     "note": "Allow rules from your user settings file and from --settings. Each file's rules are read on their own and keep their source; --setting-sources can leave the user file out.",
     "effect": {
      "value": "Allow: user and --settings files"
     },
     "realize": {
      "settings": {
       "permissions": {
        "allow": [
         "Read"
        ]
       }
      }
     },
     "provenance": [
      {
       "file": "chunk-4f79m39g.js",
       "binary_offset": 179486962,
       "length": 494,
       "sha256": "4109b7a69236e6882c7f8f3d17d97c6c58e9cbaa62e124717fff13f3e6177c65",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "sharedAllow",
     "mechanism": "settings",
     "knob": "setting-permissions--allow",
     "label": "permissions.allow in .claude/settings.json",
     "input": "toggle",
     "applies_when": [
      {
       "trust": [
        "trusted"
       ]
      }
     ],
     "note": "Dropped with a warning until the workspace is trusted, unless the project folder is your home folder. Deny and ask rules from the same file still apply.",
     "effect": {
      "value": "Allow: shared project file"
     },
     "provenance": [
      {
       "file": "chunk-4f79m39g.js",
       "binary_offset": 179487102,
       "length": 32,
       "sha256": "6aa9778e6227a6849f4e85f2ba94611f9cd222afde095e8c90f09bdc959096fe",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "localAllow",
     "mechanism": "settings",
     "knob": "setting-permissions--allow",
     "label": "permissions.allow in .claude/settings.local.json",
     "input": "toggle",
     "note": "Allow rules from the local project file. In a workspace that is not yet trusted these can be dropped too, depending on how the file is tracked.",
     "effect": {
      "value": "Allow: local project file"
     },
     "provenance": [
      {
       "file": "chunk-4f79m39g.js",
       "binary_offset": 179487102,
       "length": 32,
       "sha256": "6aa9778e6227a6849f4e85f2ba94611f9cd222afde095e8c90f09bdc959096fe",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "settingsDeny",
     "mechanism": "settings",
     "knob": "setting-permissions--deny",
     "input": "toggle",
     "note": "Deny rules from the user, project, local and --settings files; --setting-sources can leave the user, project or local file out. Not gated by workspace trust.",
     "effect": {
      "value": "Deny: settings files"
     },
     "realize": {
      "settings": {
       "permissions": {
        "deny": [
         "WebFetch"
        ]
       }
      }
     },
     "label": "permissions.deny",
     "provenance": [
      {
       "file": "chunk-4f79m39g.js",
       "binary_offset": 179486962,
       "length": 494,
       "sha256": "4109b7a69236e6882c7f8f3d17d97c6c58e9cbaa62e124717fff13f3e6177c65",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "settingsAsk",
     "mechanism": "settings",
     "knob": "setting-permissions--ask",
     "input": "toggle",
     "note": "Ask rules from the user, project, local and --settings files; --setting-sources can leave the user, project or local file out. Not gated by workspace trust.",
     "effect": {
      "value": "Ask: settings files"
     },
     "realize": {
      "settings": {
       "permissions": {
        "ask": [
         "Bash"
        ]
       }
      }
     },
     "label": "permissions.ask",
     "provenance": [
      {
       "file": "chunk-4f79m39g.js",
       "binary_offset": 179486962,
       "length": 494,
       "sha256": "4109b7a69236e6882c7f8f3d17d97c6c58e9cbaa62e124717fff13f3e6177c65",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "policyAllow",
     "mechanism": "managed",
     "knob": null,
     "label": "permissions.allow in managed settings",
     "input": "toggle",
     "note": "Allow rules set by an administrator. Always loaded.",
     "effect": {
      "value": "Allow: managed policy"
     },
     "provenance": [
      {
       "file": "chunk-4f79m39g.js",
       "binary_offset": 179486980,
       "length": 36,
       "sha256": "57c9a3ff1b7774ae0cdd27c41fbabe2b2c24f0e0d0adf94a4747b351c72f11dc",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "policyDenyAsk",
     "mechanism": "managed",
     "knob": null,
     "label": "permissions.deny and ask in managed settings",
     "input": "toggle",
     "note": "Deny and ask rules set by an administrator. Always loaded.",
     "effect": {
      "value": [
       "Deny: managed policy",
       "Ask: managed policy"
      ]
     },
     "provenance": [
      {
       "file": "chunk-4f79m39g.js",
       "binary_offset": 179486980,
       "length": 36,
       "sha256": "57c9a3ff1b7774ae0cdd27c41fbabe2b2c24f0e0d0adf94a4747b351c72f11dc",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "cliAllow",
     "mechanism": "cli",
     "knob": "cli-flag-allowed-tools",
     "input": "toggle",
     "note": "Allow rules from the command line. A rule naming a tool that does not exist is skipped with a warning.",
     "effect": {
      "value": "Allow: --allowedTools"
     },
     "realize": {
      "args": [
       "--allowedTools",
       "Read"
      ]
     },
     "label": "--allowedTools, --allowed-tools <tools...>",
     "provenance": [
      {
       "file": "chunk-5mcqa25r.js",
       "binary_offset": 189986132,
       "length": 31,
       "sha256": "9a978208115a6016418f299e010133016665fa1fb1f3992743dfd377ffb2a38f",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "cliDeny",
     "mechanism": "cli",
     "knob": "cli-flag-disallowed-tools",
     "input": "toggle",
     "note": "Deny rules from the command line.",
     "effect": {
      "value": "Deny: --disallowedTools"
     },
     "realize": {
      "args": [
       "--disallowedTools",
       "WebFetch"
      ]
     },
     "label": "--disallowedTools, --disallowed-tools <tools...>",
     "provenance": [
      {
       "file": "chunk-5mcqa25r.js",
       "binary_offset": 189986194,
       "length": 25,
       "sha256": "b3344cfa357dbee36561f3c889371ac894277f6eae07cea8b41d0d12129a5ce6",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "frontmatterKept",
     "mechanism": "frontmatter",
     "knob": null,
     "label": "allowed-tools of managed or bundled skills and most plugins",
     "input": "toggle",
     "note": "While a skill or custom command runs, its allowed-tools frontmatter adds allow rules. These origins keep theirs even under managed-only rules.",
     "effect": {
      "value": "Allow: managed, bundled or plugin skill frontmatter"
     },
     "provenance": [
      {
       "file": "chunk-4f79m39g.js",
       "binary_offset": 179486426,
       "length": 184,
       "sha256": "2c456c284c1b50fb856bb0997961e639452d6e5ead8e439ed8885e0d52d3b050",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "frontmatterUser",
     "mechanism": "frontmatter",
     "knob": null,
     "label": "allowed-tools of user, project or --add-dir skills and commands",
     "input": "toggle",
     "note": "Frontmatter from your own, project or --add-dir skills and commands, including plugins found inside those skill folders.",
     "effect": {
      "value": "Allow: user or project skill frontmatter"
     },
     "provenance": [
      {
       "file": "chunk-4f79m39g.js",
       "binary_offset": 179485551,
       "length": 657,
       "sha256": "ba9fc016d3dc5ef0e1b65a342aa6847eb389fcc67b79ba106fbda203419d8d15",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "sessionGrants",
     "mechanism": "session",
     "knob": null,
     "label": "Approvals given during this session",
     "input": "toggle",
     "note": "Allow rules added when you answer a permission prompt with a don't-ask-again-this-session choice. They last only for this session. Under managed-only rules the prompt does not offer that choice, and reloading settings clears these rules.",
     "effect": {
      "value": "Allow: approved during this session"
     },
     "provenance": [
      {
       "file": "chunk-zcdpe530.js",
       "binary_offset": 203382420,
       "length": 20,
       "sha256": "6b5e741d4a252f747d6b1f78ea69ceb37c9fcfb5e6529f84f17c8bc77b7edc57",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-mzg9kbjz.js",
       "binary_offset": 204719690,
       "length": 24,
       "sha256": "aa93516ce38949bb0a2ef6ca9ba45053b23e00031caa6c8ba036bf2e9b838710",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 185613589,
       "length": 402,
       "sha256": "ae9f5c5111fc949cdb0a9e7db57ad830ed4e47f5adca1cf0506d4ea32b52cf97",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "sessionAllow",
     "mechanism": "env",
     "knob": "env-claude-bg-session-permission-rules",
     "input": "toggle",
     "applies_when": [
      {
       "session": [
        "background"
       ]
      }
     ],
     "note": "Background sessions only: the allow list from a JSON value that must carry both an allow and a deny list, or the whole value is skipped.",
     "effect": {
      "value": "Allow: background session rules"
     },
     "label": "CLAUDE_BG_SESSION_PERMISSION_RULES",
     "provenance": [
      {
       "file": "chunk-cpf7rt77.js",
       "binary_offset": 191775370,
       "length": 355,
       "sha256": "b6e1784b73f0bdf339ec69a85317f0fe21404c5fab07d4e3d37e2337853eb38c",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "sessionDeny",
     "mechanism": "env",
     "knob": "env-claude-bg-session-permission-rules",
     "input": "toggle",
     "applies_when": [
      {
       "session": [
        "background"
       ]
      }
     ],
     "note": "Background sessions only: the deny list from the same JSON value.",
     "effect": {
      "value": "Deny: background session rules"
     },
     "label": "CLAUDE_BG_SESSION_PERMISSION_RULES",
     "provenance": [
      {
       "file": "chunk-5mcqa25r.js",
       "binary_offset": 189986227,
       "length": 14,
       "sha256": "2823b1de66043b2928349fcbf95709a96ea7403ab61bcd10d0fb433867a077b0",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "toolsNarrowing",
     "mechanism": "cli",
     "knob": "cli-flag-tools",
     "input": "toggle",
     "note": "Built-in tools left out of --tools are withheld as deny rules.",
     "effect": {
      "value": "Deny: tools left out of --tools"
     },
     "realize": {
      "args": [
       "--tools",
       "Read"
      ]
     },
     "label": "--tools <tools...>",
     "provenance": [
      {
       "file": "chunk-5mcqa25r.js",
       "binary_offset": 189986246,
       "length": 30,
       "sha256": "c60a8294ac2100c993a0a08def4efcd5a21836e6fce1cb46e53de940a3b32efb",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "constraints": [
    {
     "id": "managedOnly",
     "knob": "setting-allow-managed-permission-rules-only",
     "label": "allowManagedPermissionRulesOnly, counted only when set in managed settings: rules from every other settings file, --allowedTools, session allow rules (background-session rules and in-session approvals) and user or project skill frontmatter are ignored. Deny rules from the command line and the session still apply.",
     "keep_rungs": [
      "policyAllow",
      "policyDenyAsk",
      "cliDeny",
      "frontmatterKept",
      "sessionDeny",
      "toolsNarrowing"
     ],
     "provenance": [
      {
       "file": "chunk-4f79m39g.js",
       "binary_offset": 179485251,
       "length": 80,
       "sha256": "ed66e7b7a281902852bf920672adf103eb7d81837ce5c6eaac86e546b5a87d69",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-4f79m39g.js",
       "binary_offset": 179486980,
       "length": 36,
       "sha256": "57c9a3ff1b7774ae0cdd27c41fbabe2b2c24f0e0d0adf94a4747b351c72f11dc",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-5mcqa25r.js",
       "binary_offset": 189986132,
       "length": 31,
       "sha256": "9a978208115a6016418f299e010133016665fa1fb1f3992743dfd377ffb2a38f",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-4f79m39g.js",
       "binary_offset": 179486426,
       "length": 184,
       "sha256": "2c456c284c1b50fb856bb0997961e639452d6e5ead8e439ed8885e0d52d3b050",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 185613589,
       "length": 402,
       "sha256": "ae9f5c5111fc949cdb0a9e7db57ad830ed4e47f5adca1cf0506d4ea32b52cf97",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "id": "evalConfined",
     "knob": "env-claude-code-eval-confined",
     "label": "Drops every allow rule read from a settings file, managed policy included. Command-line and frontmatter allow rules are unaffected.",
     "keep_rungs": [
      "settingsDeny",
      "settingsAsk",
      "policyDenyAsk",
      "cliAllow",
      "cliDeny",
      "frontmatterKept",
      "frontmatterUser",
      "sessionGrants",
      "sessionAllow",
      "sessionDeny",
      "toolsNarrowing"
     ],
     "provenance": [
      {
       "file": "chunk-4f79m39g.js",
       "binary_offset": 179486877,
       "length": 85,
       "sha256": "7202ecdb50cf15fcf226ee25cb2cbebb634e6bc6d7cca7af13d4fb3ca5463d1f",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    }
   ],
   "details": {
    "candidate": "permission-rules",
    "conflict": "Rules from all sources sit side by side, each tagged with where it came from. When a tool call is checked, a matching deny rule is looked at first, then a whole-tool ask rule, then the tool's own check, then other ask rules, and allow rules last, so deny beats ask and ask beats allow. Both deny checks have an exemption this trace did not pin down.",
    "not_from_merged_settings": "Permission rules are not taken from the combined settings object. Each settings file's permissions are read separately, which is why managed-only rules and workspace trust can drop one file's rules and keep another's."
   },
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-4f79m39g.js",
     "binary_offset": 179486877,
     "length": 85,
     "sha256": "7202ecdb50cf15fcf226ee25cb2cbebb634e6bc6d7cca7af13d4fb3ca5463d1f",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-4f79m39g.js",
     "binary_offset": 179486962,
     "length": 494,
     "sha256": "4109b7a69236e6882c7f8f3d17d97c6c58e9cbaa62e124717fff13f3e6177c65",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-5mcqa25r.js",
     "binary_offset": 189982567,
     "length": 7101,
     "sha256": "9bade6eb984fec1ac38104018611bbf3b8925811a750bd6353e0e1ab8a6319dc",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    }
   ],
   "bypasses": []
  },
  {
   "id": "prompt-cache-ttl",
   "title": "Prompt cache TTL",
   "group": "Prompt caching and context",
   "question": "How long Claude Code asks the API to keep a cached prompt prefix: 5 minutes or 1 hour, decided for every request.",
   "shape": "first-wins",
   "observe": "cache_ttl",
   "value_labels": {
    "5m": "5 minutes",
    "1h": "1 hour",
    "none": "No caching"
   },
   "context": [
    {
     "key": "kind",
     "label": "Request",
     "values": [
      {
       "value": "main",
       "label": "Main conversation"
      },
      {
       "value": "subagent",
       "label": "Subagent or background"
      }
     ]
    },
    {
     "key": "auth",
     "label": "Signed in with",
     "values": [
      {
       "value": "key",
       "label": "API key"
      },
      {
       "value": "subscription",
       "label": "Claude subscription"
      }
     ]
    },
    {
     "key": "overage",
     "label": "Using extra usage",
     "show_when": [
      {
       "auth": [
        "subscription"
       ]
      }
     ],
     "values": [
      {
       "value": false,
       "label": "No"
      },
      {
       "value": true,
       "label": "Yes"
      }
     ]
    },
    {
     "key": "provider",
     "label": "Provider",
     "values": [
      {
       "value": "anthropic",
       "label": "Anthropic"
      },
      {
       "value": "bedrock",
       "label": "Bedrock"
      }
     ]
    }
   ],
   "realize_context": {
    "kind": {
     "main": {},
     "subagent": null
    },
    "auth": {
     "key": {},
     "subscription": null
    },
    "overage": {
     "false": {},
     "true": null
    },
    "provider": {
     "anthropic": {},
     "bedrock": null
    }
   },
   "bypasses": [
    {
     "id": "disable",
     "knob": "env-disable-prompt-caching",
     "effect": {
      "value": "none"
     },
     "note": "Checked before the ladder: no cache markers at all. The _OPUS, _SONNET, _HAIKU, _FABLE and _MYTHOS variants do the same for one model family.",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184913607,
       "length": 476,
       "sha256": "14e9e2f2cd5dd4e0a1d8f4982e1e96e5b2abdac12b848fa6660b27e08e19a39b",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    }
   ],
   "rungs": [
    {
     "verified": "tested",
     "id": "force5m",
     "mechanism": "env",
     "knob": "env-force-prompt-caching-5m",
     "input": "toggle",
     "note": "Forces 5 minutes. 0 and false count as off.",
     "effect": {
      "value": "5m"
     },
     "realize": {
      "env": {
       "FORCE_PROMPT_CACHING_5M": "1"
      }
     },
     "label": "FORCE_PROMPT_CACHING_5M",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184833927,
       "length": 21,
       "sha256": "c7fb4467b5b46db0ac44915e4d539606b3e14f2938bec0875be15a5bdf443463",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "tested",
     "id": "envTtl",
     "mechanism": "env",
     "knob": "env-claude-code-prompt-cache-ttl",
     "applies_when": [
      {
       "kind": [
        "main"
       ]
      }
     ],
     "input": "choice",
     "accepts": [
      "5m",
      "1h"
     ],
     "invalid_example": "2h",
     "note": "Main-conversation requests only. Any other value is skipped without a warning.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_PROMPT_CACHE_TTL": "{value}"
      }
     },
     "label": "CLAUDE_CODE_PROMPT_CACHE_TTL",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184834065,
       "length": 12,
       "sha256": "144061c231046f30b5522fc857155aa668add07bd334d1f82fed33eed68ccbed",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "envSubagentTtl",
     "mechanism": "env",
     "knob": "env-claude-code-subagent-prompt-cache-ttl",
     "applies_when": [
      {
       "kind": [
        "subagent"
       ]
      }
     ],
     "input": "choice",
     "accepts": [
      "5m",
      "1h"
     ],
     "note": "Every request that is not the main conversation. Any other value is skipped without a warning.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL": "{value}"
      }
     },
     "label": "CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184834065,
       "length": 12,
       "sha256": "144061c231046f30b5522fc857155aa668add07bd334d1f82fed33eed68ccbed",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "tested",
     "id": "settingTtl",
     "mechanism": "settings",
     "knob": "setting-prompt-cache-ttl",
     "applies_when": [
      {
       "kind": [
        "main"
       ]
      }
     ],
     "input": "choice",
     "accepts": [
      "5m",
      "1h"
     ],
     "note": "From any settings file Claude Code loads.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "settings": {
       "promptCacheTtl": "{value}"
      }
     },
     "label": "promptCacheTtl",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184834163,
       "length": 16,
       "sha256": "ed98ba6c615dec43ad9434a2e55593550c5be762606a6bea410a75bf3d7fb48f",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "settingSubagentTtl",
     "mechanism": "settings",
     "knob": "setting-subagent-prompt-cache-ttl",
     "applies_when": [
      {
       "kind": [
        "subagent"
       ]
      }
     ],
     "input": "choice",
     "accepts": [
      "5m",
      "1h"
     ],
     "note": "From any settings file Claude Code loads.",
     "effect": {
      "from": "input"
     },
     "label": "subagentPromptCacheTtl",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184834163,
       "length": 16,
       "sha256": "ed98ba6c615dec43ad9434a2e55593550c5be762606a6bea410a75bf3d7fb48f",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "frontmatter",
     "mechanism": "frontmatter",
     "knob": null,
     "label": "Agent frontmatter TTL",
     "input": "choice",
     "accepts": [
      "5m",
      "1h"
     ],
     "skip_when": [
      {
       "value": [
        "1h"
       ],
       "auth": [
        "subscription"
       ],
       "overage": [
        true
       ]
      }
     ],
     "note": "When the request comes from an agent that sets one. A 1h value is skipped while a subscriber is on extra usage.",
     "effect": {
      "from": "input"
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184834224,
       "length": 26,
       "sha256": "22158a26a69fc9e32b41d87068da056e85bc4ef3847ea755d6ff14a20cc43c7d",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "tested",
     "id": "enable1h",
     "mechanism": "env",
     "knob": "env-enable-prompt-caching-1h",
     "input": "toggle",
     "note": "Asks for 1 hour.",
     "effect": {
      "value": "1h"
     },
     "realize": {
      "env": {
       "ENABLE_PROMPT_CACHING_1H": "1"
      }
     },
     "label": "ENABLE_PROMPT_CACHING_1H",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184834352,
       "length": 22,
       "sha256": "ecb0e0ccf0b5202b6a0e8fb70ff2509eba63adad222ff8c0a9ad548fd9eb02e6",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "enable1hBedrock",
     "mechanism": "env",
     "knob": "env-enable-prompt-caching-1h-bedrock",
     "applies_when": [
      {
       "provider": [
        "bedrock"
       ]
      }
     ],
     "input": "toggle",
     "note": "Bedrock only.",
     "effect": {
      "value": "1h"
     },
     "label": "ENABLE_PROMPT_CACHING_1H_BEDROCK",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184834352,
       "length": 22,
       "sha256": "ecb0e0ccf0b5202b6a0e8fb70ff2509eba63adad222ff8c0a9ad548fd9eb02e6",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "notSubscriber",
     "mechanism": "default",
     "knob": null,
     "label": "Not a subscriber, or on extra usage",
     "input": null,
     "applies_when": [
      {
       "auth": [
        "key"
       ]
      },
      {
       "overage": [
        true
       ]
      }
     ],
     "note": "API-key and provider sign-ins, and subscribers using extra usage, stop here.",
     "effect": {
      "value": "5m"
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184914351,
       "length": 17,
       "sha256": "76f54ce03f52f4be914fa994690b1f87505f0c5943858a776d6d230d9a75d94e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "allowlist",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's 1-hour allowlist",
     "input": null,
     "applies_when": [
      {
       "auth": [
        "subscription"
       ]
      }
     ],
     "note": "A remote flag lists which request kinds get 1 hour; by default, the main conversation. Read once per session. Anthropic can change it without a release.",
     "effect": {
      "by_context": [
       {
        "when": {
         "kind": [
          "main"
         ]
        },
        "value": "1h"
       },
       {
        "when": {},
        "value": "5m"
       }
      ]
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184914398,
       "length": 28,
       "sha256": "717875db3b2df3b62359d560dc68c50c3defc14e7eecbba9ad8d7e17c5f134c2",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "kind": "decision",
   "text": null,
   "documented": null,
   "details": {},
   "provenance": [
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 184833859,
     "length": 524,
     "sha256": "331089ca4734d6288152fc3752c6b5fabd80177faeee79af05da52b1d9eb12c9",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 184914181,
     "length": 365,
     "sha256": "20f0f0997ba93361d16d94af0d0c7ce3041cc2af7195a18d813c405a9ac7a890",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    }
   ],
   "constraints": []
  },
  {
   "id": "prompt-suggestions",
   "title": "Prompt suggestions",
   "group": "Privacy and interface",
   "question": "Whether Claude Code suggests your next prompt after a reply, decided when the session starts.",
   "shape": "first-wins",
   "observe": "none",
   "value_labels": {
    "on": "Suggests your next prompt",
    "off": "No suggestions"
   },
   "context": [
    {
     "key": "session",
     "label": "Session",
     "values": [
      {
       "value": "interactive",
       "label": "Interactive"
      },
      {
       "value": "print",
       "label": "Print mode (-p) or the Agent SDK"
      }
     ]
    },
    {
     "key": "rollout",
     "label": "Anthropic's rollout flag",
     "show_when": [
      {
       "session": [
        "interactive"
       ]
      }
     ],
     "values": [
      {
       "value": "off",
       "label": "Off (the default in code)"
      },
      {
       "value": "on",
       "label": "On"
      }
     ]
    },
    {
     "key": "teammate",
     "label": "Running as an agent-team teammate",
     "show_when": [
      {
       "session": [
        "interactive"
       ]
      }
     ],
     "values": [
      {
       "value": "no",
       "label": "No"
      },
      {
       "value": "yes",
       "label": "Yes"
      }
     ]
    }
   ],
   "realize_context": {
    "session": {
     "interactive": null,
     "print": {}
    },
    "rollout": {
     "off": null,
     "on": null
    },
    "teammate": {
     "no": {},
     "yes": null
    }
   },
   "bypasses": [],
   "rungs": [
    {
     "verified": "read",
     "id": "cli",
     "mechanism": "cli",
     "knob": "cli-flag-prompt-suggestions",
     "applies_when": [
      {
       "session": [
        "print"
       ]
      }
     ],
     "input": "choice",
     "accepts": [
      "true",
      "false",
      "1",
      "0",
      "yes",
      "no",
      "on",
      "off"
     ],
     "note": "Print mode and the Agent SDK only, where it is checked first. Given alone it means true. When true, the environment variable decides if it is set, otherwise the setting. Any other value stops Claude Code with an error.",
     "effect": {
      "by_context": [
       {
        "when": {
         "value": [
          "false",
          "0",
          "no",
          "off"
         ]
        },
        "value": "off"
       },
       {
        "when": {
         "rung.env": [
          "0",
          "false",
          "no",
          "off"
         ]
        },
        "value": "off"
       },
       {
        "when": {
         "rung.env": [
          "1",
          "true",
          "yes",
          "on"
         ]
        },
        "value": "on"
       },
       {
        "when": {
         "rung.settingOff": [
          true
         ]
        },
        "value": "off"
       },
       {
        "when": {},
        "value": "on"
       }
      ]
     },
     "realize": {
      "args": [
       "--prompt-suggestions",
       "{value}"
      ]
     },
     "label": "--prompt-suggestions [value]",
     "provenance": [
      {
       "file": "chunk-2crv8d5h.js",
       "binary_offset": 192100962,
       "length": 30,
       "sha256": "dc06488808815f20ee387f2ffdd566cc4a54b4f00b819c8eff39b0d86583cde1",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-2crv8d5h.js",
       "binary_offset": 192086263,
       "length": 26,
       "sha256": "8fa5249f16c4a815b50d6e663382b8b1e0b3c816e059f0fceaf72f2621f3e281",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-2crv8d5h.js",
       "binary_offset": 192112239,
       "length": 46,
       "sha256": "bc993692ad1f346a471ecaa7c0526ef6919f1d2a4ccfb8e7cfd66699325d5a38",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-cpf7rt77.js",
       "binary_offset": 191865402,
       "length": 38,
       "sha256": "580e9badbb35af5374a60a4a3e774001133ddc4b9435b80d23cced190215d941",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "printNoFlag",
     "mechanism": "default",
     "knob": null,
     "label": "Print mode without the flag",
     "input": null,
     "applies_when": [
      {
       "session": [
        "print"
       ]
      }
     ],
     "note": "Print mode and the Agent SDK make no suggestions unless asked for them, even when the environment variable is on.",
     "effect": {
      "value": "off"
     },
     "provenance": [
      {
       "file": "chunk-r4xrzyvn.js",
       "binary_offset": 199057618,
       "length": 41,
       "sha256": "deac4b89f550f96b25c24ba550a03ff0134d5d81868f7267fc6d6f25c3270a12",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-jgrsnx4w.js",
       "binary_offset": 190609084,
       "length": 27,
       "sha256": "cda6511a16cc7b36bacd4100a2b6d90dbb0c56e584afd77eb62f89cf5fa7e8ce",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "env",
     "mechanism": "env",
     "knob": "env-claude-code-enable-prompt-suggestion",
     "input": "choice",
     "accepts": [
      "1",
      "true",
      "yes",
      "on",
      "0",
      "false",
      "no",
      "off"
     ],
     "invalid_example": "enabled",
     "note": "Checked before Anthropic's flag, so on turns suggestions on even while the flag is off, and off turns them off everywhere. Case does not matter. Any other value is skipped without a warning.",
     "effect": {
      "by_context": [
       {
        "when": {
         "value": [
          "0",
          "false",
          "no",
          "off"
         ]
        },
        "value": "off"
       },
       {
        "when": {},
        "value": "on"
       }
      ]
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION": "{value}"
      }
     },
     "label": "CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION",
     "provenance": [
      {
       "file": "chunk-jgrsnx4w.js",
       "binary_offset": 190608794,
       "length": 26,
       "sha256": "dcc7b960004e79fa056a2ddc7b04c8274c2aa7ef258a623ab002ef1ac863cde6",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-jgrsnx4w.js",
       "binary_offset": 190608877,
       "length": 26,
       "sha256": "861a172f5bc50e256e7443e5a512d7f6d564885b3c6c22d5c9fca5c2f938767d",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-ze990dc9.js",
       "binary_offset": 175782692,
       "length": 14,
       "sha256": "8486f0e66408ace6b5ad02608ed6f75cc7cca82876542368d48141ca8e549cbe",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "rollout",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's rollout flag",
     "input": null,
     "applies_when": [
      {
       "session": [
        "interactive"
       ],
       "rollout": [
        "off"
       ]
      }
     ],
     "note": "Interactive sessions only. A remote flag switches the feature on; in code it is off, so suggestions stay off unless the environment variable turns them on. Read when the session starts. Anthropic can change it without a release.",
     "effect": {
      "value": "off"
     },
     "provenance": [
      {
       "file": "chunk-jgrsnx4w.js",
       "binary_offset": 190608915,
       "length": 27,
       "sha256": "95d043e832b474aa47ed5578a2bf58ebfd2a30272d3cc5ed811e9c97a9280990",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "teammate",
     "mechanism": "default",
     "knob": null,
     "label": "Agent-team teammate",
     "input": null,
     "applies_when": [
      {
       "session": [
        "interactive"
       ],
       "teammate": [
        "yes"
       ]
      }
     ],
     "note": "A session running as a teammate in an agent team makes no suggestions.",
     "effect": {
      "value": "off"
     },
     "provenance": [
      {
       "file": "chunk-jgrsnx4w.js",
       "binary_offset": 190609183,
       "length": 26,
       "sha256": "6c739c1821f9316ab075439fac9a1bedb036a864b65513536af5cb2dc630983b",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "settingOff",
     "mechanism": "settings",
     "knob": "setting-prompt-suggestion-enabled",
     "input": "toggle",
     "note": "Your preference, from any settings file Claude Code loads. Only false turns suggestions off; leaving it out keeps them on.",
     "effect": {
      "value": "off"
     },
     "realize": {
      "settings": {
       "promptSuggestionEnabled": false
      }
     },
     "label": "promptSuggestionEnabled",
     "provenance": [
      {
       "file": "chunk-jgrsnx4w.js",
       "binary_offset": 190609215,
       "length": 40,
       "sha256": "487985910af23b9dec4a2334a4f9fc73596d4f586c142d75fdd7b68b2a330867",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "default",
     "mechanism": "default",
     "knob": null,
     "label": "Built-in default",
     "input": null,
     "note": "Suggestions are on.",
     "effect": {
      "value": "on"
     },
     "provenance": [
      {
       "file": "chunk-jgrsnx4w.js",
       "binary_offset": 190609307,
       "length": 19,
       "sha256": "222e688abb7b9e09b2302b159ddc88e2e81b70bcb47c47737849e142130848f8",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "constraints": [],
   "details": {
    "candidate": "chunk-mj29765a.js:36702"
   },
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-jgrsnx4w.js",
     "binary_offset": 190608683,
     "length": 648,
     "sha256": "1fa7211121128fc77f5a2449f5e1e12902aa4d9fb871695370b0f24662810c70",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-jgrsnx4w.js",
     "binary_offset": 190609331,
     "length": 125,
     "sha256": "3a0f98f4f6b48cfcd71f8ef635d50494fe2ca26393481ed9d3aa7f2a78cded13",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    }
   ]
  },
  {
   "id": "provider-default-model",
   "title": "Model id for a family on each provider",
   "group": "Models and reasoning",
   "question": "Which model id Claude Code sends when it resolves a model family (Opus, Sonnet, Haiku or Fable) on the active provider.",
   "shape": "first-wins",
   "observe": "none",
   "value_labels": {
    "served": "The model Anthropic's served catalog names, mapped through modelOverrides when a key matches it",
    "profile": "The matching inference profile in the account",
    "claude-opus-5-5": "This provider's id for Claude Opus 5.5",
    "claude-opus-4-7": "This provider's id for Claude Opus 4.7",
    "claude-opus-4-6": "This provider's id for Claude Opus 4.6",
    "claude-sonnet-5": "This provider's id for Claude Sonnet 5",
    "claude-sonnet-4-6": "This provider's id for Claude Sonnet 4.6",
    "claude-sonnet-4-5": "This provider's id for Claude Sonnet 4.5",
    "claude-haiku-4-5": "This provider's id for Claude Haiku 4.5",
    "claude-fable-5-1": "This provider's id for Claude Fable 5.1",
    "claude-fable-5": "This provider's id for Claude Fable 5"
   },
   "context": [
    {
     "key": "family",
     "label": "Model family",
     "values": [
      {
       "value": "opus",
       "label": "Opus"
      },
      {
       "value": "sonnet",
       "label": "Sonnet"
      },
      {
       "value": "haiku",
       "label": "Haiku"
      },
      {
       "value": "fable",
       "label": "Fable"
      }
     ]
    },
    {
     "key": "provider",
     "label": "Provider",
     "values": [
      {
       "value": "firstParty",
       "label": "Anthropic API"
      },
      {
       "value": "bedrock",
       "label": "Amazon Bedrock"
      },
      {
       "value": "vertex",
       "label": "Google Vertex AI"
      },
      {
       "value": "foundry",
       "label": "Microsoft Foundry"
      },
      {
       "value": "mantle",
       "label": "Bedrock Mantle"
      },
      {
       "value": "anthropicAws",
       "label": "Anthropic on AWS"
      },
      {
       "value": "anthropicGoogleCloud",
       "label": "Anthropic on Google Cloud"
      },
      {
       "value": "gateway",
       "label": "Gateway"
      }
     ]
    },
    {
     "key": "catalog",
     "label": "Served model catalog active",
     "show_when": [
      {
       "provider": [
        "firstParty"
       ]
      }
     ],
     "values": [
      {
       "value": "none",
       "label": "No"
      },
      {
       "value": "served",
       "label": "Yes"
      }
     ]
    },
    {
     "key": "profile",
     "label": "Inference profile found for the model",
     "show_when": [
      {
       "provider": [
        "bedrock"
       ]
      }
     ],
     "values": [
      {
       "value": "none",
       "label": "No, or lookup not finished"
      },
      {
       "value": "found",
       "label": "Yes"
      }
     ]
    }
   ],
   "realize_context": {
    "family": {
     "opus": {},
     "sonnet": {},
     "haiku": {},
     "fable": {}
    },
    "provider": {
     "firstParty": {},
     "bedrock": null,
     "vertex": null,
     "foundry": null,
     "mantle": null,
     "anthropicAws": null,
     "gateway": null,
     "anthropicGoogleCloud": null
    },
    "catalog": {
     "none": null,
     "served": null
    },
    "profile": {
     "none": null,
     "found": null
    }
   },
   "rungs": [
    {
     "verified": "read",
     "id": "envOpus",
     "mechanism": "env",
     "knob": "env-anthropic-default-opus-model",
     "applies_when": [
      {
       "family": [
        "opus"
       ]
      }
     ],
     "input": "choice",
     "note": "Used exactly as written, on every provider, before any lookup.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "env": {
       "ANTHROPIC_DEFAULT_OPUS_MODEL": "{value}"
      }
     },
     "label": "ANTHROPIC_DEFAULT_OPUS_MODEL",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178396981,
       "length": 50,
       "sha256": "3ab64a83fd3935d8cd6c1d5959cc425b5a11373de6fcc3df174a8930d30ff74f",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "envSonnet",
     "mechanism": "env",
     "knob": "env-anthropic-default-sonnet-model",
     "applies_when": [
      {
       "family": [
        "sonnet"
       ]
      }
     ],
     "input": "choice",
     "note": "Used exactly as written, on every provider, before any lookup.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "env": {
       "ANTHROPIC_DEFAULT_SONNET_MODEL": "{value}"
      }
     },
     "label": "ANTHROPIC_DEFAULT_SONNET_MODEL",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178397133,
       "length": 52,
       "sha256": "d41ab661986493347fae8021862ddbf126a523b91cc4f24cd8b40def6e7249e8",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "envHaiku",
     "mechanism": "env",
     "knob": "env-anthropic-default-haiku-model",
     "applies_when": [
      {
       "family": [
        "haiku"
       ]
      }
     ],
     "input": "choice",
     "note": "Used exactly as written, on every provider, before any lookup.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "env": {
       "ANTHROPIC_DEFAULT_HAIKU_MODEL": "{value}"
      }
     },
     "label": "ANTHROPIC_DEFAULT_HAIKU_MODEL",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178397293,
       "length": 51,
       "sha256": "4203223c7ef2c7bbaaff162e86dba10abc3cac132ce1dbd5ab5eb1ae6318091d",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "envFable",
     "mechanism": "env",
     "knob": "env-anthropic-default-fable-model",
     "applies_when": [
      {
       "family": [
        "fable"
       ]
      }
     ],
     "input": "choice",
     "note": "Used on every provider, before any lookup.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "env": {
       "ANTHROPIC_DEFAULT_FABLE_MODEL": "{value}"
      }
     },
     "label": "ANTHROPIC_DEFAULT_FABLE_MODEL",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178396751,
       "length": 64,
       "sha256": "8b179c8ca80db8871a9ee3d6e0117aa9ff75f459df076c958b2af542e4ee4df6",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "servedCatalog",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's served model catalog",
     "input": null,
     "applies_when": [
      {
       "provider": [
        "firstParty"
       ],
       "catalog": [
        "served"
       ],
       "family": [
        "opus",
        "sonnet",
        "haiku"
       ]
      }
     ],
     "note": "Anthropic API only, with no custom ANTHROPIC_BASE_URL, and not for Fable. When the catalog names a model this version knows, that model's id still passes through modelOverrides, so a matching override key replaces it. Anthropic can change the catalog without a release.",
     "effect": {
      "value": "served"
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178396488,
       "length": 204,
       "sha256": "2e1f71d9eff416d09e2ae7ec6be10f92bd9b913125c87a1a263b798087492dcb",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "modelOverrides",
     "mechanism": "settings",
     "knob": "setting-model-overrides",
     "input": "choice",
     "note": "The key must be the first-party id of the model this provider uses for the family, such as claude-sonnet-4-5 for Sonnet on Bedrock; the value replaces that model's provider id. A key naming any other model, such as claude-sonnet-5 on Bedrock, leaves this family's default alone.",
     "effect": {
      "from": "input"
     },
     "label": "modelOverrides",
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178120291,
       "length": 143,
       "sha256": "3296e58fd35897bad1f5dce9d7184f8d1bf6ecb19729e44a43eba242b4f227cd",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "bedrockProfile",
     "mechanism": "default",
     "knob": null,
     "label": "Inference profile found in the AWS account",
     "input": null,
     "applies_when": [
      {
       "provider": [
        "bedrock"
       ],
       "profile": [
        "found"
       ]
      }
     ],
     "note": "Bedrock only. Claude Code lists the account's inference profiles and uses the one for this model, preferring the region prefix from ANTHROPIC_BEDROCK_REGION_PREFIX, otherwise your AWS region's prefix. us-gov regions always use us-gov.",
     "effect": {
      "value": "profile"
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178119982,
       "length": 18,
       "sha256": "3d85f8a84710fe7f721a5c4da674e05682e58dc64aa1489f883a6e95439dc897",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "builtin",
     "mechanism": "default",
     "knob": null,
     "label": "Built-in model for this provider",
     "input": null,
     "note": "The bundled model catalog names a model for each family and provider, and Claude Code sends that provider's id for it. On Bedrock the id carries a region prefix, and requests made before the profile lookup finishes land here.",
     "effect": {
      "by_context": [
       {
        "when": {
         "family": [
          "opus"
         ],
         "provider": [
          "foundry"
         ]
        },
        "value": "claude-opus-4-6"
       },
       {
        "when": {
         "family": [
          "opus"
         ],
         "provider": [
          "gateway"
         ]
        },
        "value": "claude-opus-4-7"
       },
       {
        "when": {
         "family": [
          "opus"
         ]
        },
        "value": "claude-opus-5-5"
       },
       {
        "when": {
         "family": [
          "sonnet"
         ],
         "provider": [
          "bedrock",
          "vertex",
          "foundry",
          "mantle"
         ]
        },
        "value": "claude-sonnet-4-5"
       },
       {
        "when": {
         "family": [
          "sonnet"
         ],
         "provider": [
          "anthropicAws",
          "gateway"
         ]
        },
        "value": "claude-sonnet-4-6"
       },
       {
        "when": {
         "family": [
          "sonnet"
         ]
        },
        "value": "claude-sonnet-5"
       },
       {
        "when": {
         "family": [
          "haiku"
         ]
        },
        "value": "claude-haiku-4-5"
       },
       {
        "when": {
         "family": [
          "fable"
         ],
         "provider": [
          "gateway"
         ]
        },
        "value": "claude-fable-5"
       },
       {
        "when": {},
        "value": "claude-fable-5-1"
       }
      ]
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178396357,
       "length": 131,
       "sha256": "d3adf0a4e1cbc7b4c8510400c437d8f5b087d28cf45ddd3c59723213752c6c04",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178397103,
       "length": 29,
       "sha256": "d7c97903fea9631938f3167ba936bee23a35504d548e38dadff24976c623c1eb",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-y5k20gt2.js",
       "binary_offset": 176664102,
       "length": 23,
       "sha256": "0629fda2b4d91f687d212c8f22eed04e8e7e6a4d1de2f2fd0f8a203a8a1040c3",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "details": {
    "candidate": null
   },
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-1vt3h958.js",
     "binary_offset": 178396981,
     "length": 102,
     "sha256": "68a5e0fb8b6c6194a995efca0ee67bb59b52000d5ae0dbfac8c3ce6070caba33",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-1vt3h958.js",
     "binary_offset": 178120291,
     "length": 143,
     "sha256": "3296e58fd35897bad1f5dce9d7184f8d1bf6ecb19729e44a43eba242b4f227cd",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-1vt3h958.js",
     "binary_offset": 178396730,
     "length": 86,
     "sha256": "7fd96e17f4430ca9f96c15cceafcd83ee7d690a4d11fe154e63963a909157bac",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    }
   ],
   "bypasses": [],
   "constraints": []
  },
  {
   "id": "sandbox-network-proxy",
   "title": "Sandbox network proxy",
   "group": "Permissions and security",
   "question": "Which proxy a sandboxed command's network traffic is sent to: none, a proxy you already run on a local port, or Claude Code's built-in proxy.",
   "shape": "first-wins",
   "observe": "none",
   "value_labels": {
    "none": "No proxy",
    "built-in": "Claude Code's built-in proxy"
   },
   "context": [
    {
     "key": "network",
     "label": "Sandbox network rules",
     "values": [
      {
       "value": "rules",
       "label": "Has a domain list (always when sandboxing is on)"
      },
      {
       "value": "none",
       "label": "No domain list"
      }
     ]
    },
    {
     "key": "traffic",
     "label": "Traffic",
     "show_when": [
      {
       "network": [
        "rules"
       ]
      }
     ],
     "values": [
      {
       "value": "http",
       "label": "HTTP clients: HTTP_PROXY, HTTPS_PROXY, ALL_PROXY; git over SSH on Linux"
      },
      {
       "value": "socks",
       "label": "SOCKS clients: FTP_PROXY, RSYNC_PROXY; git over SSH on macOS"
      }
     ]
    }
   ],
   "bypasses": [
    {
     "id": "evalConfined",
     "knob": "env-claude-code-eval-confined",
     "applies_when": [
      {
       "network": [
        "rules"
       ]
      }
     ],
     "effect": {
      "value": "built-in"
     },
     "note": "Checked before the ladder: when set, Claude Code ignores both proxy-port settings and uses its built-in proxy.",
     "provenance": [
      {
       "file": "chunk-9yjanq6m.js",
       "binary_offset": 180643590,
       "length": 29,
       "sha256": "5ec5870e255a8b7b43da884cc06af646b8481239c7fc979d08f5820908c721ee",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-9yjanq6m.js",
       "binary_offset": 180680645,
       "length": 47,
       "sha256": "3ed86be29432309d823e9bdc918414fbd7b3a2c0f2f52facd3b76be80ea65b3f",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "rungs": [
    {
     "verified": "read",
     "id": "noNetworkRules",
     "mechanism": "default",
     "knob": null,
     "label": "Sandbox without network rules",
     "input": null,
     "applies_when": [
      {
       "network": [
        "none"
       ]
      }
     ],
     "note": "When the sandbox has no domain list, no proxy settings reach the command.",
     "effect": {
      "value": "none"
     },
     "provenance": [
      {
       "file": "chunk-9yjanq6m.js",
       "binary_offset": 180597067,
       "length": 41,
       "sha256": "bcbe38ddbaf7ca786456982dc00a9c34b02a0195e9689e907e6fbb676e076828",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-9yjanq6m.js",
       "binary_offset": 180680220,
       "length": 37,
       "sha256": "b76c927889e7f2ebfed1172434b15f77c0c0812212a26420f262e91cde991a8a",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "httpPort",
     "mechanism": "settings",
     "knob": "setting-sandbox--network--http-proxy-port",
     "applies_when": [
      {
       "traffic": [
        "http"
       ]
      }
     ],
     "input": "choice",
     "note": "Sends HTTP traffic to a proxy you already run on this localhost port, and Claude Code adds no proxy credentials to the proxy URLs. On Linux, commands inside the sandbox see localhost:3128, bridged to this port.",
     "effect": {
      "from": "input"
     },
     "label": "sandbox.network.httpProxyPort",
     "provenance": [
      {
       "file": "chunk-9yjanq6m.js",
       "binary_offset": 180590916,
       "length": 33,
       "sha256": "8d3a925595ac941aabaaa5a1a93874fbca7e514422d7aeefd4a13d0f613b0cb4",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-9yjanq6m.js",
       "binary_offset": 180590704,
       "length": 60,
       "sha256": "2f7797454b6020c049d1e836a80d94247572c5e7125d414f86f6c56c70b28ee6",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-9yjanq6m.js",
       "binary_offset": 180546509,
       "length": 13,
       "sha256": "ef8f42e9c215abd042bdeac2b4ffc1c71d3bb9ab4fedabc0f57e98c28b3c63cc",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "socksPort",
     "mechanism": "settings",
     "knob": "setting-sandbox--network--socks-proxy-port",
     "applies_when": [
      {
       "traffic": [
        "socks"
       ]
      }
     ],
     "input": "choice",
     "note": "Sends SOCKS traffic to a proxy you already run on this localhost port. If the HTTP proxy port is not also set, the SOCKS proxy URLs still carry Claude Code's per-session credentials, so your proxy receives them. On Linux, commands inside the sandbox see localhost:1080, bridged to this port.",
     "effect": {
      "from": "input"
     },
     "label": "sandbox.network.socksProxyPort",
     "provenance": [
      {
       "file": "chunk-9yjanq6m.js",
       "binary_offset": 180590999,
       "length": 34,
       "sha256": "a4d6df0c7bc84bf2be6233abc2ab7de2805c45bb62f7b1a9d1ad93e068102087",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-9yjanq6m.js",
       "binary_offset": 180590704,
       "length": 60,
       "sha256": "2f7797454b6020c049d1e836a80d94247572c5e7125d414f86f6c56c70b28ee6",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "builtIn",
     "mechanism": "default",
     "knob": null,
     "label": "Claude Code's built-in proxy",
     "input": null,
     "note": "Otherwise Claude Code starts one proxy that serves both HTTP and SOCKS on a random localhost port. It adds per-session credentials to the proxy URLs unless the HTTP proxy port setting is set.",
     "effect": {
      "value": "built-in"
     },
     "provenance": [
      {
       "file": "chunk-9yjanq6m.js",
       "binary_offset": 180587500,
       "length": 46,
       "sha256": "1e77d0c05a73cf0df58c189a0100cd4bdb72625cd66579c08057fe117809b01f",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-9yjanq6m.js",
       "binary_offset": 180590540,
       "length": 44,
       "sha256": "36a27452ca570a668fe6fe0649475545a6c3ffbd6909cd6c6c21df8ad78c2cea",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "details": {
    "candidate": "chunk-6k4pzp76.js:749445"
   },
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-9yjanq6m.js",
     "binary_offset": 180587555,
     "length": 3786,
     "sha256": "d2026bfab128f127620ff20e47448b423497b35793643d036ddd2f0b0b38431d",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    }
   ],
   "constraints": []
  },
  {
   "id": "settings-layers",
   "title": "Where a setting's value comes from",
   "group": "Settings and environment",
   "question": "Claude Code reads settings from five sources, over settings that plugins supply as the lowest layer. A single value comes from the highest source that sets it; lists combine across all of them.",
   "shape": "layered",
   "observe": "none",
   "merge_when": [
    {
     "type": [
      "array"
     ]
    }
   ],
   "context": [
    {
     "key": "type",
     "label": "Value type",
     "values": [
      {
       "value": "scalar",
       "label": "Single value"
      },
      {
       "value": "array",
       "label": "List (such as companyAnnouncements)"
      }
     ]
    }
   ],
   "notes": [
    "Credential-helper keys (apiKeyHelper, awsAuthRefresh, awsCredentialExport, gcpAuthRefresh, otelHeadersHelper, proxyAuthHelper) can be removed from a source before the merge, so for them the highest source that sets one does not always win.",
    "Some keys are read from particular sources rather than from this combined value, and can ignore the project files. Permission rules are one: see their own ladder."
   ],
   "rungs": [
    {
     "verified": "read",
     "id": "policy",
     "mechanism": "layer",
     "knob": null,
     "label": "Managed policy (managed-settings.json)",
     "input": "toggle",
     "note": "Set by an administrator. Always loaded.",
     "effect": {
      "value": "managed policy"
     },
     "provenance": [
      {
       "file": "chunk-18sktzq8.js",
       "binary_offset": 176397453,
       "length": 1463,
       "sha256": "1a863fe323a17ea0a8cfdd71d3518593b837964356e6642aa8bb075a92365adb",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "flag",
     "mechanism": "layer",
     "knob": null,
     "label": "--settings file or JSON",
     "input": "toggle",
     "note": "Loaded even when --setting-sources leaves the other files out.",
     "effect": {
      "value": "--settings"
     },
     "provenance": [
      {
       "file": "chunk-18sktzq8.js",
       "binary_offset": 176397453,
       "length": 1463,
       "sha256": "1a863fe323a17ea0a8cfdd71d3518593b837964356e6642aa8bb075a92365adb",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "local",
     "mechanism": "layer",
     "knob": null,
     "label": ".claude/settings.local.json",
     "input": "toggle",
     "note": "This project, this machine; not checked in.",
     "effect": {
      "value": "local project file"
     },
     "provenance": [
      {
       "file": "chunk-18sktzq8.js",
       "binary_offset": 176397453,
       "length": 1463,
       "sha256": "1a863fe323a17ea0a8cfdd71d3518593b837964356e6642aa8bb075a92365adb",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "project",
     "mechanism": "layer",
     "knob": null,
     "label": ".claude/settings.json",
     "input": "toggle",
     "note": "This project, shared with the team.",
     "effect": {
      "value": "shared project file"
     },
     "provenance": [
      {
       "file": "chunk-18sktzq8.js",
       "binary_offset": 176397453,
       "length": 1463,
       "sha256": "1a863fe323a17ea0a8cfdd71d3518593b837964356e6642aa8bb075a92365adb",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "user",
     "mechanism": "layer",
     "knob": null,
     "label": "~/.claude/settings.json",
     "input": "toggle",
     "note": "All your projects.",
     "effect": {
      "value": "user file"
     },
     "provenance": [
      {
       "file": "chunk-18sktzq8.js",
       "binary_offset": 176397453,
       "length": 1463,
       "sha256": "1a863fe323a17ea0a8cfdd71d3518593b837964356e6642aa8bb075a92365adb",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    }
   ],
   "constraints": [
    {
     "id": "policyModels",
     "label": "Managed policy's availableModels, enforceAvailableModels and modelPicker replace every other source's values. deniedModels is read only from managed policy; a value in any other source is dropped.",
     "provenance": [
      {
       "file": "chunk-18sktzq8.js",
       "binary_offset": 176397453,
       "length": 1463,
       "sha256": "1a863fe323a17ea0a8cfdd71d3518593b837964356e6642aa8bb075a92365adb",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-18sktzq8.js",
       "binary_offset": 176398660,
       "length": 85,
       "sha256": "737b9bac22ffdb16044c2d95c29253c9255870b43135f39a6180cc1b75ce8918",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "details": {
    "list_exceptions": [
     "fallbackModel",
     "modelPicker"
    ],
    "keyed_merge": [
     "extraKnownMarketplaces",
     "managedMcpServers"
    ]
   },
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-18sktzq8.js",
     "binary_offset": 176397453,
     "length": 1463,
     "sha256": "1a863fe323a17ea0a8cfdd71d3518593b837964356e6642aa8bb075a92365adb",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    }
   ],
   "bypasses": []
  },
  {
   "id": "stream-stall-watchdog",
   "title": "Stalled-stream watchdog",
   "group": "Tools and output",
   "question": "Whether Claude Code gives up on a streaming response that goes silent. On Anthropic's API it sets a deadline for the first byte and aborts the stream when no bytes arrive for the idle timeout (3 minutes by default). Some routes get only the idle abort.",
   "shape": "first-wins",
   "observe": "none",
   "value_labels": {
    "on": "Watchdog on",
    "idleOnly": "Idle abort only (5 minutes by default)",
    "off": "Watchdog off"
   },
   "details": {
    "candidate": "chunk-5ezz9t8y.js:465583"
   },
   "context": [
    {
     "key": "provider",
     "label": "Provider",
     "values": [
      {
       "value": "anthropic",
       "label": "Anthropic API at its own address, or Anthropic on AWS without ANTHROPIC_AWS_BASE_URL (5-minute idle default there)"
      },
      {
       "value": "idleRoute",
       "label": "Claude Code's cloud gateway, ANTHROPIC_BASE_URL set to another address, or Anthropic on AWS with ANTHROPIC_AWS_BASE_URL"
      },
      {
       "value": "bedrockOptIn",
       "label": "Bedrock, with CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK on (5-minute idle default)"
      },
      {
       "value": "bedrock",
       "label": "Bedrock"
      },
      {
       "value": "other",
       "label": "Vertex, Foundry, Mantle, or Anthropic on Google Cloud"
      }
     ]
    }
   ],
   "realize_context": {
    "provider": {
     "anthropic": {},
     "idleRoute": null,
     "bedrockOptIn": null,
     "bedrock": null,
     "other": null
    }
   },
   "constraints": [
    {
     "id": "unsupportedRoute",
     "label": "Provider without the watchdog",
     "applies_when": [
      {
       "provider": [
        "bedrock",
        "other"
       ]
      }
     ],
     "effect": {
      "value": "off"
     },
     "note": "Vertex, Foundry, Mantle, Anthropic on Google Cloud, and Bedrock without CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK (1, true, yes or on) get no watchdog, whatever the ladder says.",
     "provenance": [
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181702483,
       "length": 102,
       "sha256": "b20414016cf7812b80aa2491eb65d86166d5a2736f38f686505ff9008cebb1dc",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181702644,
       "length": 49,
       "sha256": "331701df8f2e7704f409243864e221ee92505ab69bc2e2624a844cd0d5e3bc33",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181702585,
       "length": 59,
       "sha256": "200035962bf16abb9ff8abb375c430489c650bed8ec5f3467b832785bd3c87e0",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-ze990dc9.js",
       "binary_offset": 175810384,
       "length": 12,
       "sha256": "a58e95143b305212ce287a587a523c46e0991ba34fa728e55284f19ac106c45b",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-276sqz99.js",
       "binary_offset": 175749319,
       "length": 53,
       "sha256": "335f8ba7aa4f5d40f55b8a05c65bdf031570f3ac30fd55019ffe02e7817f2941",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181704556,
       "length": 162,
       "sha256": "05c7c463fa6dea71abc7032168fc0bcdf56539a717cc7023090c6c6c15cc8f63",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-y5k20gt2.js",
       "binary_offset": 176673541,
       "length": 79,
       "sha256": "d8176ba0344d1e6e190b9279bf8dcf48b6e1ed4cc0b0d9d689c09968a75df9b1",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "rungs": [
    {
     "verified": "read",
     "id": "envWatchdog",
     "mechanism": "env",
     "knob": "env-claude-enable-byte-watchdog",
     "input": "choice",
     "accepts": [
      "1",
      "true",
      "yes",
      "on",
      "0",
      "false",
      "no",
      "off"
     ],
     "invalid_example": "2",
     "note": "0, false, no or off turns the watchdog off; 1, true, yes or on turns it on. Case and surrounding spaces are ignored. Any other value counts as unset. On the gateway, a custom base URL or a custom AWS address, on means only the idle abort, with no first-byte deadline.",
     "effect": {
      "by_context": [
       {
        "when": {
         "value": [
          "0",
          "false",
          "no",
          "off"
         ]
        },
        "value": "off"
       },
       {
        "when": {
         "provider": [
          "idleRoute"
         ]
        },
        "value": "idleOnly"
       },
       {
        "when": {},
        "value": "on"
       }
      ]
     },
     "realize": {
      "env": {
       "CLAUDE_ENABLE_BYTE_WATCHDOG": "{value}"
      }
     },
     "label": "CLAUDE_ENABLE_BYTE_WATCHDOG",
     "provenance": [
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181702289,
       "length": 59,
       "sha256": "5058963ebd7ad5d6f55a919307475b1b89c833ac230a25cd3a90f7b314285dec",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-3pmzd5pm.js",
       "binary_offset": 175430467,
       "length": 42,
       "sha256": "0ec15b01f93721852428a423a77171e235e2572ef667d0364fe4ccfd3e548d68",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-3pmzd5pm.js",
       "binary_offset": 175430617,
       "length": 43,
       "sha256": "b224b77fc82df4d815d13ccc15c15dbf05250688e4392d757c621098ef34a087",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-ze990dc9.js",
       "binary_offset": 175810369,
       "length": 15,
       "sha256": "a63de8268000404e73bde8e1a862cd5cd587ab995d4818288d4f995508c7fb90",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-276sqz99.js",
       "binary_offset": 175749373,
       "length": 92,
       "sha256": "d3bdecf9a64ee85defad7766f893c2896adee6d2c1e47ad24da0db3c12bdb0b7",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "remoteFlag",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's watchdog flag turned off",
     "input": "toggle",
     "note": "A remote flag that is on by default in code, so the watchdog runs unless Anthropic turns it off. Anthropic can change it without a release.",
     "effect": {
      "value": "off"
     },
     "provenance": [
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181702348,
       "length": 47,
       "sha256": "7d2099fb6bed76a881362257e7343dc1f2af616dc7cf083a16be3fa1db3a5a2e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "default",
     "mechanism": "default",
     "knob": null,
     "label": "Default",
     "input": null,
     "note": "When nothing above answers: on. On the gateway, a custom base URL or a custom AWS address, that means only the idle abort.",
     "effect": {
      "by_context": [
       {
        "when": {
         "provider": [
          "idleRoute"
         ]
        },
        "value": "idleOnly"
       },
       {
        "when": {},
        "value": "on"
       }
      ]
     },
     "provenance": [
      {
       "file": "chunk-hzevqd7x.js",
       "binary_offset": 181702348,
       "length": 47,
       "sha256": "7d2099fb6bed76a881362257e7343dc1f2af616dc7cf083a16be3fa1db3a5a2e",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-hzevqd7x.js",
     "binary_offset": 181702275,
     "length": 121,
     "sha256": "fb79d128fc6c99f36605016f03600830982545c7e408797dda577f9c843543a2",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-hzevqd7x.js",
     "binary_offset": 181702693,
     "length": 57,
     "sha256": "786f2c683cf183b4dc030ce099840f00978348431cf511ef5e7f007b1149296b",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-hzevqd7x.js",
     "binary_offset": 181698255,
     "length": 34,
     "sha256": "eca95283aa0d69c3f2e4627cb267ff122096a80e7f0595610a87dea7232a01c8",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-hzevqd7x.js",
     "binary_offset": 181688579,
     "length": 27,
     "sha256": "7fcf7cf89687248da9298c2e1c08471176451a40539c8878d16992d372dd70b3",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-hzevqd7x.js",
     "binary_offset": 181704718,
     "length": 27,
     "sha256": "f7e41a65cb7e0d85aba04e84c66d37a3865db6af877476dd853a5b534bc9b919",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-hzevqd7x.js",
     "binary_offset": 181697305,
     "length": 32,
     "sha256": "62afae840789debe3069ce927ba21af97d11611b362a031f50aa79c1610a8c65",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    }
   ],
   "bypasses": []
  },
  {
   "id": "thinking-mode",
   "title": "Thinking mode",
   "group": "Models and reasoning",
   "question": "Which thinking configuration Claude Code asks the API for on the main conversation's requests, sent as the thinking field: adaptive, budgeted (enabled with budget_tokens), disabled, or no field at all.",
   "shape": "first-wins",
   "observe": "thinking",
   "value_labels": {
    "adaptive": "Adaptive",
    "enabled": "Budgeted",
    "disabled": "Disabled",
    "none": "Not sent"
   },
   "details": {
    "candidate": "thinking-mode"
   },
   "context": [
    {
     "key": "model",
     "label": "Model",
     "values": [
      {
       "value": "opus-5-5",
       "label": "Opus 5.5 (the default), Fable 5, Fable 5.1 or Mythos 5.1"
      },
      {
       "value": "adaptive",
       "label": "Opus 4.6 through Opus 5, Sonnet 4.6 or Sonnet 5"
      },
      {
       "value": "budget",
       "label": "Opus 4.5 or older, Sonnet 4.5 or older, or Haiku 4.5"
      },
      {
       "value": "no-thinking",
       "label": "A Claude 3 model"
      }
     ]
    },
    {
     "key": "provider",
     "label": "Provider",
     "values": [
      {
       "value": "anthropic",
       "label": "Anthropic"
      },
      {
       "value": "other",
       "label": "Bedrock, Vertex or Foundry"
      }
     ]
    }
   ],
   "realize_context": {
    "model": {
     "opus-5-5": {},
     "adaptive": null,
     "budget": null,
     "no-thinking": null
    },
    "provider": {
     "anthropic": {},
     "other": null
    }
   },
   "rungs": [
    {
     "verified": "tested",
     "id": "extraBody",
     "mechanism": "env",
     "knob": "env-claude-code-extra-body",
     "input": "choice",
     "accepts": [
      "disabled",
      "adaptive"
     ],
     "note": "A thinking object inside CLAUDE_CODE_EXTRA_BODY replaces the one Claude Code built and is sent as written, even on models that reject disabled thinking and even with CLAUDE_CODE_DISABLE_THINKING set. It is ignored when your organization's policy turns off experimental betas.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_EXTRA_BODY": "{\"thinking\":{\"type\":\"{value}\"}}"
      }
     },
     "label": "CLAUDE_CODE_EXTRA_BODY",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184961590,
       "length": 26,
       "sha256": "4a38cb092d5c1ce0a2caa3321fbb1fa698ea410ffec83088e6eb6552f74c80d8",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184955802,
       "length": 9,
       "sha256": "7e86390b69770b8f1114fb4bb4044bbeb25491b53bbdda63cc0706b4564245dd",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "tested",
     "id": "disableThinking",
     "mechanism": "env",
     "knob": "env-claude-code-disable-thinking",
     "input": "toggle",
     "note": "Sends no thinking field at all, whatever --thinking, MAX_THINKING_TOKENS or settings say. The API then uses its own default for the model.",
     "effect": {
      "value": "none"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_DISABLE_THINKING": "1"
      }
     },
     "label": "CLAUDE_CODE_DISABLE_THINKING",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184956682,
       "length": 33,
       "sha256": "9c83667c93386eb6cba8df07b633004f28bebce6ed91d138d423033bc2376182",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-ze990dc9.js",
       "binary_offset": 175782368,
       "length": 12,
       "sha256": "918243a83fbf5d12d1450a3fd7783d1e544fd3e4846a832cbc22f052e580e8cf",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-276sqz99.js",
       "binary_offset": 175749319,
       "length": 53,
       "sha256": "335f8ba7aa4f5d40f55b8a05c65bdf031570f3ac30fd55019ffe02e7817f2941",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "tested",
     "id": "cli",
     "mechanism": "cli",
     "knob": "cli-flag-thinking",
     "input": "choice",
     "accepts": [
      "disabled",
      "enabled",
      "adaptive"
     ],
     "note": "A hidden flag. enabled means the same as adaptive: adaptive on models that support it, a default token budget on older models. disabled is sent only to Anthropic's API and only for models that accept it; Opus 5.5 rejects disabled thinking, so the field is left out instead.",
     "effect": {
      "by_context": [
       {
        "when": {
         "value": [
          "disabled"
         ],
         "model": [
          "opus-5-5",
          "no-thinking"
         ]
        },
        "value": "none"
       },
       {
        "when": {
         "value": [
          "disabled"
         ],
         "provider": [
          "other"
         ]
        },
        "value": "none"
       },
       {
        "when": {
         "value": [
          "disabled"
         ]
        },
        "value": "disabled"
       },
       {
        "when": {
         "model": [
          "no-thinking"
         ]
        },
        "value": "none"
       },
       {
        "when": {
         "model": [
          "budget"
         ]
        },
        "value": "enabled"
       },
       {
        "when": {},
        "value": "adaptive"
       }
      ]
     },
     "realize": {
      "args": [
       "--thinking",
       "{value}"
      ]
     },
     "label": "--thinking <mode>",
     "provenance": [
      {
       "file": "chunk-2crv8d5h.js",
       "binary_offset": 192099568,
       "length": 26,
       "sha256": "593cf86f82a4de0b85bcc7b3c1296d104f6c823b34f8bb03dec170e86746572b",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-cpf7rt77.js",
       "binary_offset": 191859976,
       "length": 137,
       "sha256": "cb80ec58606a518c43707f9288e4d114ddaeee614d4306f2ca480863468eb8e7",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "tested",
     "id": "env",
     "mechanism": "env",
     "knob": "env-max-thinking-tokens",
     "input": "choice",
     "accepts": [
      "16000",
      "0",
      "off"
     ],
     "note": "A positive number turns thinking on. Models with adaptive thinking get adaptive and ignore the number; older models get it as budget_tokens, kept between 1024 and one less than max_tokens. 0, a negative number or anything that is not a number turns thinking off.",
     "effect": {
      "by_context": [
       {
        "when": {
         "value": [
          "0",
          "off"
         ],
         "model": [
          "opus-5-5",
          "no-thinking"
         ]
        },
        "value": "none"
       },
       {
        "when": {
         "value": [
          "0",
          "off"
         ],
         "provider": [
          "other"
         ]
        },
        "value": "none"
       },
       {
        "when": {
         "value": [
          "0",
          "off"
         ]
        },
        "value": "disabled"
       },
       {
        "when": {
         "model": [
          "no-thinking"
         ]
        },
        "value": "none"
       },
       {
        "when": {
         "model": [
          "budget"
         ]
        },
        "value": "enabled"
       },
       {
        "when": {},
        "value": "adaptive"
       }
      ]
     },
     "realize": {
      "env": {
       "MAX_THINKING_TOKENS": "{value}"
      }
     },
     "label": "MAX_THINKING_TOKENS",
     "provenance": [
      {
       "file": "chunk-cpf7rt77.js",
       "binary_offset": 191860118,
       "length": 94,
       "sha256": "8b278ca8b74eb9a5a636df9f1934ad87f767ec908eb9f71ffbc355c4c7008908",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178433550,
       "length": 106,
       "sha256": "157b2aac51d3db31a71adae1aa8e91a03ee7b681467d203f2f56b967dc1d25fd",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184957060,
       "length": 65,
       "sha256": "64d4cdb3256bc9e12eb68ff060cf045d4d13118652487168c02842f6bee4fc8c",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "tested",
     "id": "flag",
     "mechanism": "cli",
     "knob": "cli-flag-max-thinking-tokens",
     "input": "choice",
     "accepts": [
      "16000",
      "0"
     ],
     "note": "The older, hidden form of MAX_THINKING_TOKENS for -p runs, with the same meaning. It is ignored whenever MAX_THINKING_TOKENS is set, and a negative number is ignored.",
     "effect": {
      "by_context": [
       {
        "when": {
         "value": [
          "0"
         ],
         "model": [
          "opus-5-5",
          "no-thinking"
         ]
        },
        "value": "none"
       },
       {
        "when": {
         "value": [
          "0"
         ],
         "provider": [
          "other"
         ]
        },
        "value": "none"
       },
       {
        "when": {
         "value": [
          "0"
         ]
        },
        "value": "disabled"
       },
       {
        "when": {
         "model": [
          "no-thinking"
         ]
        },
        "value": "none"
       },
       {
        "when": {
         "model": [
          "budget"
         ]
        },
        "value": "enabled"
       },
       {
        "when": {},
        "value": "adaptive"
       }
      ]
     },
     "realize": {
      "args": [
       "--max-thinking-tokens",
       "{value}"
      ]
     },
     "label": "--max-thinking-tokens <tokens>",
     "provenance": [
      {
       "file": "chunk-2crv8d5h.js",
       "binary_offset": 192099842,
       "length": 39,
       "sha256": "179dbf0c0891a9a726092f1570b1fce99067c1c1f69a0aeb5cb6ee5e58bd3f57",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "tested",
     "id": "setting",
     "mechanism": "settings",
     "knob": "setting-always-thinking-enabled",
     "label": "alwaysThinkingEnabled set to false",
     "input": "toggle",
     "note": "Only false does anything: it turns thinking off. true is the same as leaving it unset. Interactive sessions can also switch thinking on or off for the session.",
     "effect": {
      "by_context": [
       {
        "when": {
         "model": [
          "opus-5-5",
          "no-thinking"
         ]
        },
        "value": "none"
       },
       {
        "when": {
         "provider": [
          "other"
         ]
        },
        "value": "none"
       },
       {
        "when": {},
        "value": "disabled"
       }
      ]
     },
     "realize": {
      "settings": {
       "alwaysThinkingEnabled": false
      }
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178433678,
       "length": 64,
       "sha256": "e59493c9a50438fbe33676215733b8dfab07a72c2a86e11327e20e0367c70ba9",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "modelDefault",
     "mechanism": "default",
     "knob": null,
     "label": "Thinking on, shaped by the model",
     "input": null,
     "note": "Thinking is on by default: adaptive on models that support it, a default token budget on older models, and no thinking field for Claude 3 models. In -p runs with text output the request also carries display omitted; interactive sessions send a display only when showThinkingSummaries is on. Reasoning effort does not change this choice. Subagent and side requests, such as the title request, pick thinking on a separate path that can turn it off.",
     "effect": {
      "by_context": [
       {
        "when": {
         "model": [
          "no-thinking"
         ]
        },
        "value": "none"
       },
       {
        "when": {
         "model": [
          "budget"
         ]
        },
        "value": "enabled"
       },
       {
        "when": {},
        "value": "adaptive"
       }
      ]
     },
     "provenance": [
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178432937,
       "length": 227,
       "sha256": "46006979ead60f687458f7a3f3393c0f10363362ddc43bfb06285bfba8ae3b3a",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184957008,
       "length": 31,
       "sha256": "edfd5a3546b1aa3eac96cf80efded8cd74977d481dba866e295eda62474e752b",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-1vt3h958.js",
       "binary_offset": 178430578,
       "length": 208,
       "sha256": "d5633caf49c0ab83a44f9e3dad8aaf9f6d5fefd58fddbc83fb82f150ce73d13f",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    }
   ],
   "constraints": [
    {
     "id": "disabledNotSent",
     "knob": null,
     "label": "Disabled thinking is sent only when the API and model accept it; otherwise no thinking field is sent.",
     "note": "A disabled answer from --thinking, MAX_THINKING_TOKENS or alwaysThinkingEnabled becomes no field at all on Bedrock, Vertex or Foundry, on models without thinking, and on models that reject disabled thinking, such as Opus 5.5. With thinking off, some models also lower a reasoning effort above high.",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184957209,
       "length": 104,
       "sha256": "1478f39a67b1a8ce5e507132f93e5e816f27cf08417050f887a149f28b65d22c",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 183904149,
       "length": 80,
       "sha256": "1a7bb9bdc7058c1be3d952a6acd773209da064c995f978a5661b2824c0b08baf",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-cpf7rt77.js",
     "binary_offset": 191860317,
     "length": 46,
     "sha256": "be7fe61f5ed2547e6f50c7b9d98edb65623072ee590c7c6c9234968eee8207d0",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 184956716,
     "length": 28,
     "sha256": "8698d008b6b5dbd4d73ca3f1f78959a57531509459657c7d8cdb5c03de8add7a",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 184955379,
     "length": 7269,
     "sha256": "c78455e91f79298074180656ad37725722922e1e5afa8002bd448f40c696949a",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-cpf7rt77.js",
     "binary_offset": 191827108,
     "length": 38388,
     "sha256": "ba3cc7445a3891e93167483d6c6e26bcdd2c932935a5ad6141fb43670d5ace25",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    }
   ],
   "bypasses": []
  },
  {
   "id": "todo-reminders",
   "title": "To-do list reminders",
   "group": "What the model is told",
   "question": "Whether Claude Code reminds Claude about its to-do list or tasks when it has not used them for 10 turns, at most once every 10 turns.",
   "shape": "first-wins",
   "observe": "none",
   "value_labels": {
    "baseline": "Reminders on",
    "off": "No reminders"
   },
   "details": {
    "candidate": "chunk-x9fwahqm.js:3106151"
   },
   "rungs": [
    {
     "verified": "read",
     "id": "envMode",
     "mechanism": "env",
     "knob": "env-claude-code-todo-reminder-mode",
     "input": "choice",
     "accepts": [
      "baseline",
      "off"
     ],
     "invalid_example": "0",
     "note": "Exactly baseline or off, in lower case; surrounding spaces are ignored. Any other value, such as 0 or false, counts as unset.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_TODO_REMINDER_MODE": "{value}"
      }
     },
     "label": "CLAUDE_CODE_TODO_REMINDER_MODE",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 186065308,
       "length": 62,
       "sha256": "f86bb387b05889de13972fa3f0d290265523fa895a74554852ce2e246a0e897c",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-ze990dc9.js",
       "binary_offset": 175782859,
       "length": 29,
       "sha256": "5ce55466790691bd5e010074cc5347fcfee03334a31e8b90e544b95f9bffe6bc",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-276sqz99.js",
       "binary_offset": 175749636,
       "length": 97,
       "sha256": "5d7f6dce123b09b284b777538b2f2d30b23d1ad4eacffbc6055f620f6fa618d9",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "remoteFlag",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's reminder flag set to off",
     "input": "toggle",
     "note": "A remote flag that is baseline by default in code; only the value off turns reminders off. Anthropic can change it without a release.",
     "effect": {
      "value": "off"
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 186065370,
       "length": 70,
       "sha256": "1222813d00981fc626d7aafb021d46147fb07a7416d3e4c25551af236a9c9bae",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "default",
     "mechanism": "default",
     "knob": null,
     "label": "Default",
     "input": null,
     "note": "When nothing above answers: reminders on.",
     "effect": {
      "value": "baseline"
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 186065370,
       "length": 70,
       "sha256": "1222813d00981fc626d7aafb021d46147fb07a7416d3e4c25551af236a9c9bae",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 186065293,
     "length": 148,
     "sha256": "77261e495ce4e50c10f07ed194777b51b915126b09872010a685392083657dbf",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 186065235,
     "length": 58,
     "sha256": "ffe5878ece7cde87d419f79febd66b9c7a8ad58938d1daddf38c0b7353c262e0",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 186112274,
     "length": 55,
     "sha256": "cb044ba7720a240256d9470c865eac37d97df8df1eb150b95b71822712c5b789",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 186113135,
     "length": 60,
     "sha256": "dbc3072751d763977b86e3a20d28e1c9c724c5caed73ccd1e33d2ee8e158641a",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    }
   ],
   "bypasses": [],
   "constraints": []
  },
  {
   "id": "total-tokens-reminder",
   "title": "Total tokens reminder",
   "group": "Prompt caching and context",
   "question": "Whether Claude is shown a tokens-left reminder, and which number it shows, decided once when the session starts. It is on by default for every sign-in, including API keys.",
   "shape": "first-wins",
   "observe": "none",
   "value_labels": {
    "off": "No reminder",
    "infinite": "Reminder says Infinite",
    "fixed": "Reminder says 5,000,000",
    "countdown": "Reminder counts down the context window",
    "padded-countdown": "Reminder counts down from the budget"
   },
   "details": {
    "candidate": "chunk-x9fwahqm.js:1332151"
   },
   "context": [],
   "realize_context": {},
   "bypasses": [
    {
     "id": "disableAttachments",
     "knob": "env-claude-code-disable-attachments",
     "effect": {
      "value": "off"
     },
     "note": "Checked before the ladder: no reminder anywhere, neither in the system prompt nor after tool results or prompts. 1, true, yes and on count as set, in any case.",
     "realize": {
      "env": {
       "CLAUDE_CODE_DISABLE_ATTACHMENTS": "1"
      }
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184319565,
       "length": 87,
       "sha256": "d14df80dcc67d931d088e965580483111c3f1f5a508cfca552495e8ca3188cc9",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 186066536,
       "length": 79,
       "sha256": "3aa67b204a5d7bc5acb039ef28f8fcf4a66e840456c8e5b37b8c3a09b5653c18",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-ze990dc9.js",
       "binary_offset": 175781718,
       "length": 13,
       "sha256": "564bd0d09a24de0869400a541923e1cea95ff1e3da3c4b33d4740377fd1fdb95",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "id": "simpleMode",
     "knob": "env-claude-code-simple",
     "effect": {
      "value": "off"
     },
     "note": "Checked before the ladder: simple mode drops the reminder everywhere, whatever is set below. 1, true, yes and on count as set, in any case.",
     "realize": {
      "env": {
       "CLAUDE_CODE_SIMPLE": "1"
      }
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184319565,
       "length": 87,
       "sha256": "d14df80dcc67d931d088e965580483111c3f1f5a508cfca552495e8ca3188cc9",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 186066536,
       "length": 79,
       "sha256": "3aa67b204a5d7bc5acb039ef28f8fcf4a66e840456c8e5b37b8c3a09b5653c18",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-ze990dc9.js",
       "binary_offset": 175805103,
       "length": 13,
       "sha256": "21050544dd5320f4c6bba97fed185654d7f060a114fab51966b23828b40f2bf1",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "rungs": [
    {
     "verified": "read",
     "id": "env",
     "mechanism": "env",
     "knob": "env-claude-code-total-tokens-reminder",
     "input": "choice",
     "accepts": [
      "off",
      "infinite",
      "fixed",
      "countdown",
      "padded-countdown"
     ],
     "invalid_example": "1",
     "note": "Takes a mode name, not an on/off toggle: off, infinite, fixed, countdown or padded-countdown. Spaces around it are trimmed but case matters; 1, on, OFF or any other value counts as unset and the setting below decides.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_TOTAL_TOKENS_REMINDER": "{value}"
      }
     },
     "label": "CLAUDE_CODE_TOTAL_TOKENS_REMINDER",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184278098,
       "length": 76,
       "sha256": "c665c4050a660537124beb0f89236969e017fe1e0f4a404119b6fe75ea9130d0",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184277655,
       "length": 60,
       "sha256": "878b557bbc41044d25f162c1ce58cdc7f1bda213e5585b7b729516ee0c8706d5",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-ze990dc9.js",
       "binary_offset": 175782888,
       "length": 37,
       "sha256": "f6c64b764be68b42d150c0d04b3b78ff1bddd1bd416074c92a355b01ef4d9e65",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "setting",
     "mechanism": "settings",
     "knob": "setting-total-tokens-reminder",
     "input": "choice",
     "accepts": [
      "off",
      "infinite",
      "fixed",
      "countdown",
      "padded-countdown"
     ],
     "note": "From any settings file Claude Code loads. Takes the same mode names as the environment variable, which wins when both are set.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "settings": {
       "totalTokensReminder": "{value}"
      }
     },
     "label": "totalTokensReminder",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184278174,
       "length": 50,
       "sha256": "9bd8c5d2c332e35e1f7bea163cf2aa695955bf7241148883ff936a6e930781c7",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-18sktzq8.js",
       "binary_offset": 176242256,
       "length": 91,
       "sha256": "ad45bf1f322dc6ac412e28bcbf129216fdf425d017f69b2c6e2a993935202c5d",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "accountData",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's per-account setting",
     "input": "choice",
     "accepts": [
      "off",
      "infinite",
      "fixed",
      "countdown",
      "padded-countdown",
      "false"
     ],
     "note": "Account data Claude Code downloads can pick a mode, or false to turn the reminder off. Nothing is set in the code, and any other value is ignored with a warning in the debug log. Anthropic can change it without a release.",
     "effect": {
      "by_context": [
       {
        "when": {
         "value": [
          "false",
          "off"
         ]
        },
        "value": "off"
       },
       {
        "when": {
         "value": [
          "infinite"
         ]
        },
        "value": "infinite"
       },
       {
        "when": {
         "value": [
          "fixed"
         ]
        },
        "value": "fixed"
       },
       {
        "when": {
         "value": [
          "countdown"
         ]
        },
        "value": "countdown"
       },
       {
        "when": {
         "value": [
          "padded-countdown"
         ]
        },
        "value": "padded-countdown"
       }
      ]
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184278224,
       "length": 49,
       "sha256": "2810bb31300285e24d0688bb2186cee2dc41bd241fa91af337d5fcb37bd4e33d",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184277853,
       "length": 152,
       "sha256": "d6bf84ee6bb58c122ab14a7129738f2885146510c72ab2b75d98f0e674ad77c5",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      }
     ]
    },
    {
     "verified": "read",
     "id": "remoteFlag",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's reminder flag",
     "input": "choice",
     "accepts": [
      "off",
      "infinite",
      "fixed",
      "countdown",
      "padded-countdown"
     ],
     "note": "A remote flag whose default in code is padded-countdown. A value that is not a mode name also gives padded-countdown. Anthropic can change it without a release.",
     "effect": {
      "from": "input"
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184278326,
       "length": 66,
       "sha256": "ece324a61664587c42a318bed2c46d94ca70d63fc06cb14e06bae1f11396d7ed",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "default",
     "mechanism": "default",
     "knob": null,
     "label": "Default",
     "input": null,
     "note": "When nothing above answers, padded-countdown: the system prompt shows the budget, and later reminders count down from it as tokens are used. The reminder appears in the system prompt, after each batch of tool results, and after each regular user prompt unless the after-user-turn switch is off. That switch is decided by its environment variable (1, true, yes or on; 0, false, no or off; anything else is unset), then its setting, then Anthropic's per-account data and remote flag, and is on by default. With it on, padded-countdown resets to the full budget at each user prompt; with it off, the count runs down across the whole session.",
     "effect": {
      "value": "padded-countdown"
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184278358,
       "length": 35,
       "sha256": "89326bdbf89dfc2ccb8f4045bef96561ba0a2843da5edc07758cbd132a34c332",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 184278098,
     "length": 295,
     "sha256": "a9b0ce2568d22e83983863f30a47a557dc086a5115a8428930363f379cbfe652",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 184278005,
     "length": 93,
     "sha256": "0b613640cd46f5912971ea4bee0c94b565961ecd2a1cf4f8c2205e9c69311c7e",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 184276550,
     "length": 90,
     "sha256": "c0e88736e4ec9392794be69e161a126a45292fb75955903bf1a0bc2ca577d000",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 184279187,
     "length": 126,
     "sha256": "2fdf028f56880d9a3199aab5c79974daaaab9b7feab0fd482c1d4040a97d66f4",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 184319652,
     "length": 98,
     "sha256": "93da1f104324ac3e44eef168ba8c21fafac6f074ee9da8b789ccb27e634f34a4",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 186070224,
     "length": 90,
     "sha256": "12f4775322ff5c8966bda35c3ed8316d964078fdc26bc435abeae196c04efc8e",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 186117665,
     "length": 261,
     "sha256": "07d43dc299f440263bc95152b4dbb88f65d7370f7520c65286fedc74c6d46257",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 184278925,
     "length": 262,
     "sha256": "03f19f0c73042b55c88f3ba8d0d66c2577b410c7a592a256e439b86c16a04b27",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    }
   ],
   "constraints": []
  },
  {
   "id": "total-tokens-reminder-budget",
   "title": "Tokens-left reminder budget",
   "group": "Prompt caching and context",
   "question": "The number of tokens the padded-countdown reminder starts from, decided once when the session starts. It is used only when the reminder mode is padded-countdown.",
   "shape": "first-wins",
   "observe": "none",
   "details": {
    "candidate": "chunk-x9fwahqm.js:1332538"
   },
   "context": [],
   "realize_context": {},
   "rungs": [
    {
     "verified": "read",
     "id": "env",
     "mechanism": "env",
     "knob": "env-claude-code-total-tokens-reminder-budget",
     "input": "choice",
     "accepts": [
      "1000000",
      "15000000",
      "50000000"
     ],
     "invalid_example": "0",
     "note": "A number of tokens above zero, read from its leading digits: 2000000abc reads as 2,000,000 and fractions are cut off. Zero, negatives and values with no leading digits count as unset and the setting below decides.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_TOTAL_TOKENS_REMINDER_BUDGET": "{value}"
      }
     },
     "label": "CLAUDE_CODE_TOTAL_TOKENS_REMINDER_BUDGET",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184278490,
       "length": 92,
       "sha256": "566a6ae74a143061e7f02667189a731df96834c2ced9536d303e57915766635c",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-ze990dc9.js",
       "binary_offset": 175782888,
       "length": 37,
       "sha256": "f6c64b764be68b42d150c0d04b3b78ff1bddd1bd416074c92a355b01ef4d9e65",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "setting",
     "mechanism": "settings",
     "knob": "setting-total-tokens-reminder-budget",
     "input": "choice",
     "accepts": [
      "1000000",
      "15000000",
      "50000000"
     ],
     "note": "From any settings file Claude Code loads: a whole number of tokens above zero. The environment variable wins when both are set.",
     "effect": {
      "from": "input"
     },
     "label": "totalTokensReminderBudget",
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184278582,
       "length": 73,
       "sha256": "315bf2e97776347e97f8a98a292d17ea742b5d17e16eda7e0e1b58d7d06d5045",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-18sktzq8.js",
       "binary_offset": 176242966,
       "length": 57,
       "sha256": "003dd4918da1177e3c6bad6b2633eb5db3ca66dd02acf8a310a56eae09fc163d",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "accountData",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's per-account budget",
     "input": "choice",
     "accepts": [
      "1000000",
      "15000000",
      "50000000"
     ],
     "note": "Account data Claude Code downloads can set a whole number above zero. Nothing is set in the code, and any other value is ignored with a warning in the debug log. Anthropic can change it without a release.",
     "effect": {
      "from": "input"
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184278673,
       "length": 76,
       "sha256": "920b419b4a11f32f59f47f58d91a6e0c8a4fad741625da1a1b01210da5bc3c7d",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "remoteFlag",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's budget flag",
     "input": "choice",
     "accepts": [
      "1000000",
      "15000000",
      "50000000"
     ],
     "note": "A remote flag whose default in code is 15,000,000. A value that is not a number above zero also gives 15,000,000. Anthropic can change it without a release.",
     "effect": {
      "from": "input"
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184278760,
       "length": 54,
       "sha256": "6c2581df3a2e0cfda8940b1519609facd4951253ee5f4837652407860841750a",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "default",
     "mechanism": "default",
     "knob": null,
     "label": "Default",
     "input": null,
     "note": "When nothing above answers, 15,000,000 tokens.",
     "effect": {
      "value": "15000000"
     },
     "provenance": [
      {
       "file": "chunk-wyjbafrm.js",
       "binary_offset": 184276616,
       "length": 24,
       "sha256": "2dbc1662b334b8377c2090b333381e6322892a11ebd492568ffb451d1965ac22",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 184278490,
     "length": 324,
     "sha256": "00d9e94e48d8936e7a4f37ed2cc79fe2c573c3725280ee2e3f0e557325978848",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 184278393,
     "length": 97,
     "sha256": "de32ede09b37ff9564b87baf09c66aa2575587275cbd0d30e968cfc153fbe430",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    },
    {
     "file": "chunk-wyjbafrm.js",
     "binary_offset": 184319689,
     "length": 46,
     "sha256": "9d6bf204dc950bec13e4e88e7c01c052923749224d2b68e37beb293b6fa2af58",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    }
   ],
   "bypasses": [],
   "constraints": []
  },
  {
   "id": "workflow-size-guidance",
   "title": "Workflow size guideline",
   "group": "What the model is told",
   "question": "Which size guideline Claude is given for the multi-agent workflows it writes, fixed when the session starts and added to the Workflow tool's description whenever that tool is offered.",
   "shape": "first-wins",
   "observe": "none",
   "value_labels": {
    "unrestricted": "Unrestricted: no guideline sent",
    "small": "Small: fewer than 5 agents",
    "medium": "Medium: fewer than 10 agents",
    "large": "Large: fewer than 50 agents"
   },
   "details": {
    "candidate": "chunk-fbctzhpm.js:375373"
   },
   "context": [
    {
     "key": "plan",
     "label": "Signed in with",
     "values": [
      {
       "value": "other",
       "label": "API key, provider, or a Max, Team or Enterprise plan"
      },
      {
       "value": "pro",
       "label": "Claude Pro plan"
      }
     ]
    }
   ],
   "realize_context": {
    "plan": {
     "other": {},
     "pro": null
    }
   },
   "rungs": [
    {
     "verified": "read",
     "id": "settingGuideline",
     "mechanism": "settings",
     "knob": "setting-workflow-size-guideline",
     "input": "choice",
     "accepts": [
      "unrestricted",
      "small",
      "medium",
      "large"
     ],
     "invalid_example": "huge",
     "note": "From any settings file Claude Code loads, including managed settings. It beats the /config choice, and /config hides its row while a settings file sets the key. Any other value is ignored, so the /config choice applies even though its row stays hidden.",
     "effect": {
      "from": "input"
     },
     "realize": {
      "settings": {
       "workflowSizeGuideline": "{value}"
      }
     },
     "label": "workflowSizeGuideline",
     "provenance": [
      {
       "file": "chunk-d0hsttwq.js",
       "binary_offset": 182875845,
       "length": 73,
       "sha256": "5dfb8622814bcd73ae8acae298c393123c68a8481f17a3b26a066a38d0b37041",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-d0hsttwq.js",
       "binary_offset": 182875777,
       "length": 68,
       "sha256": "c15a41c4c8cc73f35375389c0ec8d35c6b478eb37a13d214a057b78bd0815f36",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-7jh19beg.js",
       "binary_offset": 179147939,
       "length": 44,
       "sha256": "cdc6244ae4a7f7b4432a873b0b26708b52ad2535c6dad5527b9c1013cfd6e2da",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-18sktzq8.js",
       "binary_offset": 176211381,
       "length": 66,
       "sha256": "fa3d6416ff68665de5eba6000b2f6d95169b8031b5671385b06f3eb9486e0f72",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "configChoice",
     "mechanism": "settings",
     "knob": null,
     "label": "Dynamic workflow size in /config",
     "input": "choice",
     "accepts": [
      "unrestricted",
      "small",
      "medium",
      "large"
     ],
     "invalid_example": "huge",
     "note": "Your choice in /config, saved in the global config file (~/.claude.json). Changing it, or the settings key, during a session reaches Claude as a short note with your next prompt. A hand-edited value outside the four names is ignored.",
     "effect": {
      "from": "input"
     },
     "provenance": [
      {
       "file": "chunk-azjf17r6.js",
       "binary_offset": 195397925,
       "length": 57,
       "sha256": "3d07277c53895ccfd1747d54b25e37e2a0e6302135ce953019bac06b8ecbf987",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-azjf17r6.js",
       "binary_offset": 195416931,
       "length": 8,
       "sha256": "2f9e66bd8bb0529eec0f6beb49944ab3e3ad0ed87ca7ac92e175b84884c96da0",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-d0hsttwq.js",
       "binary_offset": 182875918,
       "length": 93,
       "sha256": "d18045effacb46e49ab006a27f03bc763fb185f6486c5d69ef86fbcd7f75867b",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "planDefault",
     "mechanism": "default",
     "knob": null,
     "label": "Default by plan",
     "input": null,
     "note": "When neither answers: small on the Claude Pro plan, medium for every other sign-in. Claude is told this is the default and that the user can raise or remove it in /config.",
     "effect": {
      "by_context": [
       {
        "when": {
         "plan": [
          "pro"
         ]
        },
        "value": "small"
       },
       {
        "when": {},
        "value": "medium"
       }
      ]
     },
     "provenance": [
      {
       "file": "chunk-7jh19beg.js",
       "binary_offset": 179149674,
       "length": 39,
       "sha256": "c55705bffb9f14c43b1687f3183c56019fbfcf9ab3c11b5612e33413312486b3",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-7jh19beg.js",
       "binary_offset": 179147918,
       "length": 20,
       "sha256": "ae3865958756926f67e016481be32df921a37e528cb1a068eb8a5ac5e5b5417a",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-d0hsttwq.js",
     "binary_offset": 182875918,
     "length": 93,
     "sha256": "d18045effacb46e49ab006a27f03bc763fb185f6486c5d69ef86fbcd7f75867b",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    }
   ],
   "bypasses": [],
   "constraints": []
  },
  {
   "id": "workflows-enabled",
   "title": "Workflow tool available",
   "group": "Tools and output",
   "question": "Whether the Workflow tool (multi-agent workflows) is offered to Claude. Settings and organization policy are checked each time; the remote flag and CLAUDE_CODE_WORKFLOWS are read once per session.",
   "shape": "first-wins",
   "observe": "none",
   "value_labels": {
    "enabled": "Workflow tool available",
    "disabled": "No Workflow tool"
   },
   "details": {
    "candidate": "chunk-mw9espfa.js:2935"
   },
   "context": [
    {
     "key": "plan",
     "label": "Signed in with",
     "values": [
      {
       "value": "other",
       "label": "API key, provider, or a Max, Team or Enterprise plan"
      },
      {
       "value": "pro",
       "label": "Claude Pro plan"
      }
     ]
    }
   ],
   "realize_context": {
    "plan": {
     "other": {},
     "pro": null
    }
   },
   "bypasses": [
    {
     "id": "disableEnv",
     "knob": "env-claude-code-disable-workflows",
     "effect": {
      "value": "disabled"
     },
     "note": "Checked before the ladder: no Workflow tool, whatever is set below. 1, true, yes and on count as set.",
     "realize": {
      "env": {
       "CLAUDE_CODE_DISABLE_WORKFLOWS": "1"
      }
     },
     "provenance": [
      {
       "file": "chunk-7jh19beg.js",
       "binary_offset": 179148954,
       "length": 92,
       "sha256": "2082aa5d026a28ec992643d63173e1efa467838ad2d63ca929bbad3df5a50509",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "function"
      },
      {
       "file": "chunk-7jh19beg.js",
       "binary_offset": 179149332,
       "length": 33,
       "sha256": "5fe0399f336a6587e8703ec818d0c71cd90f3a572990cbb8552d3252ad7cde02",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "id": "disableSetting",
     "knob": "setting-disable-workflows",
     "effect": {
      "value": "disabled"
     },
     "note": "Checked before the ladder: disableWorkflows set to true in any settings file turns the tool off, whatever is set below.",
     "provenance": [
      {
       "file": "chunk-7jh19beg.js",
       "binary_offset": 179149009,
       "length": 36,
       "sha256": "ea9f3d931f2d9d26b429adf9bf69512cc10639595cd785955a1e692f8e837c87",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-7jh19beg.js",
       "binary_offset": 179149607,
       "length": 30,
       "sha256": "0c1caf0ed36dae6a41754cb95ee53b945dc71928d7cdbb24611bec0e48e95a90",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "rungs": [
    {
     "verified": "read",
     "id": "orgPolicy",
     "mechanism": "managed",
     "knob": null,
     "label": "Organization policy denies workflows",
     "input": "toggle",
     "note": "Workflows are allowed unless your organization's policy denies them. When it does, nothing below can turn the tool back on.",
     "effect": {
      "value": "disabled"
     },
     "provenance": [
      {
       "file": "chunk-7jh19beg.js",
       "binary_offset": 179149366,
       "length": 28,
       "sha256": "d6843652f69bc131c315e36d0dbe015ecff5291362f8107e454dc61510388bd2",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-7jh19beg.js",
       "binary_offset": 179149861,
       "length": 44,
       "sha256": "53323ca952049f9127c017cde2e1561934f387cb0809c0068861aea2639eaa65",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "remoteFlag",
     "mechanism": "remote",
     "knob": null,
     "label": "Anthropic's workflows flag turned off",
     "input": "toggle",
     "note": "A remote flag that is on by default in code. When Anthropic turns it off, the tool is gone even with CLAUDE_CODE_WORKFLOWS or enableWorkflows set. Read once per session. Anthropic can change it without a release.",
     "effect": {
      "value": "disabled"
     },
     "provenance": [
      {
       "file": "chunk-7jh19beg.js",
       "binary_offset": 179150291,
       "length": 69,
       "sha256": "1d166a8d70b352032c8b1a2c8bad13ec00309019553c4be5571bed3bf5f9cde4",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-7jh19beg.js",
       "binary_offset": 179150122,
       "length": 103,
       "sha256": "cce9f42980db8c28072a656f43960fcd9a77a0074fbc289b950381648f31f06c",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "envWorkflows",
     "mechanism": "env",
     "knob": "env-claude-code-workflows",
     "input": "choice",
     "accepts": [
      "1",
      "true",
      "yes",
      "on",
      "0",
      "false",
      "no",
      "off"
     ],
     "invalid_example": "2",
     "skip_when": [
      {
       "value": [
        "1",
        "true",
        "yes",
        "on"
       ],
       "rung.settingEnable": [
        "false"
       ]
      }
     ],
     "note": "0, false, no or off turns the tool off, even with enableWorkflows set to true. 1, true, yes or on turns it on, including on the Pro plan, but enableWorkflows set to false still wins. Any other value counts as unset.",
     "effect": {
      "by_context": [
       {
        "when": {
         "value": [
          "0",
          "false",
          "no",
          "off"
         ]
        },
        "value": "disabled"
       },
       {
        "when": {},
        "value": "enabled"
       }
      ]
     },
     "realize": {
      "env": {
       "CLAUDE_CODE_WORKFLOWS": "{value}"
      }
     },
     "label": "CLAUDE_CODE_WORKFLOWS",
     "provenance": [
      {
       "file": "chunk-7jh19beg.js",
       "binary_offset": 179150225,
       "length": 65,
       "sha256": "4f8442d68320ad3eedee90bb5d62993882aac38a057e33987bb5519efe477215",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      },
      {
       "file": "chunk-7jh19beg.js",
       "binary_offset": 179150122,
       "length": 103,
       "sha256": "cce9f42980db8c28072a656f43960fcd9a77a0074fbc289b950381648f31f06c",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "settingEnable",
     "mechanism": "settings",
     "knob": "setting-enable-workflows",
     "input": "choice",
     "accepts": [
      "true",
      "false"
     ],
     "note": "From any settings file Claude Code loads, including managed settings. true turns the tool on, including on the Pro plan; false turns it off.",
     "effect": {
      "by_context": [
       {
        "when": {
         "value": [
          "true"
         ]
        },
        "value": "enabled"
       },
       {
        "when": {},
        "value": "disabled"
       }
      ]
     },
     "label": "enableWorkflows",
     "provenance": [
      {
       "file": "chunk-7jh19beg.js",
       "binary_offset": 179149454,
       "length": 40,
       "sha256": "4682e0604e0bd744661f7304142526bcfe14c6555e4a48b18cf33901c5b05b1f",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    },
    {
     "verified": "read",
     "id": "planDefault",
     "mechanism": "default",
     "knob": null,
     "label": "Default by plan",
     "input": null,
     "note": "When nothing above answers: off on the Claude Pro plan, on for every other sign-in, including API keys.",
     "effect": {
      "by_context": [
       {
        "when": {
         "plan": [
          "pro"
         ]
        },
        "value": "disabled"
       },
       {
        "when": {},
        "value": "enabled"
       }
      ]
     },
     "provenance": [
      {
       "file": "chunk-7jh19beg.js",
       "binary_offset": 179150361,
       "length": 43,
       "sha256": "06a9f846bbcd11fd60ee0afdd63d9e11020493a79036c424dfaa19f0b8f416b6",
       "version": "2.1.283",
       "platform": "darwin-arm64",
       "span": "text"
      }
     ]
    }
   ],
   "kind": "decision",
   "text": null,
   "documented": null,
   "provenance": [
    {
     "file": "chunk-7jh19beg.js",
     "binary_offset": 179149216,
     "length": 422,
     "sha256": "40bb2e84bb05c3f41df236926588fbbbad6e59c4643c6e220bf07d96d2dfe6e6",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-7jh19beg.js",
     "binary_offset": 179150109,
     "length": 296,
     "sha256": "00876d7b318ccd4494b1c6c82463140b60cd6f128af87321de620fcf64f0b406",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "function"
    },
    {
     "file": "chunk-3qc8qbp9.js",
     "binary_offset": 207199163,
     "length": 23,
     "sha256": "c8f167cd24347115d87c6c0dbfb0bca301f417fc18a84005323aa83b752c4182",
     "version": "2.1.283",
     "platform": "darwin-arm64",
     "span": "text"
    }
   ],
   "constraints": []
  }
 ]
}
