🎯 什麼情境該想到我

當你「看到一份『隱藏設定大全』,手很癢想全部貼進 settings.json」的時候。

⚙️ 怎麼用(步驟 / 公式)

  1. 先分清楚證據等級,別把四種東西當成同一回事:

    來源意義
    官方 reference✅ 目前的支援契約
    JSON schema⚠️ 官方自己警告會落後 CLI;schema 有、reference 沒有的名字要當過時或非公開
    CHANGELOG⚠️ release 歷史 ≠ 現行支援。只在 changelog 出現過的名字不算數
    拆執行檔挖出來的❌ 只代表「這支 binary 讀得到」,不等於支援、穩定、安全、或有意讓你設定
  2. 有官方設定就用官方的。同一件事若已有 top-level key(includeGitInstructionsdisableWorkflowsautoMemoryEnabledfileCheckpointingEnabled…),不要改用環境變數別名。

  3. 按風險決定要不要碰(以 v2.1.239 那 21 個未索引 key 為例):

    • 低風險、可以玩breakReminderquietHoursshowMessageTimestampsmodelSettings(存 per-model effortLevel)、precomputeCompactionEnabled
    • 會改變 agent 行為,想清楚再開doneMeansMerged(要求做到 PR 可合併才算完成——會拉長任務與自主性)、todoFeatureEnabledfeedbackDraftsautoDreamEnabledautoContinueAtUsageLimit(可能延長無人看管的執行時間)。
    • 牽涉隱私/憑證/權限,別亂碰autoUploadSessions(把本機 session 鏡像到 claude.ai)、proxyAuthHelper(產生 Proxy-Authorization 標頭)、policyHelpersxaaIdpskipWorkflowUsageWarning(這是同意紀錄,不該預先塞值)。
  4. 看命名判斷意圖BISON_CAIRNTHISTLE_GREBE 這種隨機雙字代號是刻意不自我描述的內部 flag——看到就預期它隨時會變。名字寫得清楚的(disableWorkflows)才是給你用的。

  5. 記錄你設了什麼、為什麼設,並在每次工具更新後重驗。

🧪 我實際套用的紀錄

  • 2026-08-23:(待填)

⚠️ 注意 / 什麼時候不適用

  • 別碰這幾類:驗證/host 協定/remote session/policy/測試 fixture/DISABLE_* 安全類變數。其中數個本來就被擋在低信任度的設定範圍外,有些會削弱核可或政策行為
  • 設定範圍是有意義的:部分 key 只認 user 或 managed,project/local 會被直接忽略。設了沒反應時先確認範圍,不要一直加值。
  • env 的移除不會立即生效:拿掉一個 key 要重啟才會真的 unset;且啟動時才讀的消費端本來就要重啟。
  • 未文件化設定不該進團隊共用設定——沒有相容性承諾,下一版壞掉時沒人知道為什麼。

🔗 相關工具