2026-04 深度調查 · Reddit + GitHub

Claude Code Bypass 權限失效完全指南
為什麼設了還在問?

你設了 bypassPermissions,它還是每次都問你批准?不是你的問題,是已知 Bug。
本文整理 Reddit 和 GitHub 上的社區調查結果,教小白徹底理解和解決。

Part 1:問題現象 Part 2:三個已知 Bug Part 3:社區證據 Part 4:解決方案 Part 5:完整設定範本 Part 6:等待官方修復
1
問題現象:設了 bypass,它還是每次都問

你打開 settings.json,老老實實加上了 "defaultMode": "bypassPermissions",滿心期待 Claude Code 從此不再煩你。 結果打開 VS Code,Claude 一跑指令——「Allow this bash command?」——又來了。

你以為是自己設錯了,於是反覆檢查、反覆修改。每次被問你都乖乖點「允許」,結果 allow 白名單從 10 條變成 50 條,再變成 100 多條。文件越來越亂,問題卻一點都沒解決。

用戶設 bypass
settings.json
Claude Code 啟動
VS Code 擴展
每次操作彈框
Allow this command?
用戶點「允許」
以為是自己的問題
allow 列表 100+ 條
越積越長,完全沒用
真相:這不是你的問題。社區已經確認至少三個 Bug 會導致 bypass 設定失效,影響所有 VS Code 用戶。
2
三個已知 Bug:讓你的 bypass 形同虛設

經過 Reddit 和 GitHub 的大量討論,社區確認了至少三個不同層面的 Bug,它們可以單獨觸發,也可以疊加在一起,讓你的 bypass 完全失效。

BUG #1
VS Code 擴展不讀 bypass 設定
GitHub #43953 確認了這個問題:VS Code 擴展中的 requestToolPermission 方法被寫死了,只放行 MCP 工具(外部 API 呼叫),其他所有操作(讀文件、寫文件、跑 Bash)一律彈框。

也就是說,它完全無視你在 settings.json 裡設的 defaultMode: "bypassPermissions"

影響範圍:所有在 VS Code 面板裡使用 Claude Code 的用戶。終端 CLI 不受影響。
小白翻譯:就像你跟大門保全說「我有 VIP 通行證,以後不用刷卡」,保全點了點頭。但實際上他的刷卡機是硬體設定的,根本沒有「VIP 免刷」這個功能。所以你每次進門他還是攔你——不是他不想放你進去,是他的機器不支持。
BUG #2
操作項目外文件,bypass 偷偷被降級
GitHub #41763 確認了這個問題:當你的 Claude Code 要操作項目根目錄以外的文件時(例如 D:\tmp\C:\Users\),Claude Code 會彈出「suspicious path」提示。

你點了「允許」之後,看起來操作繼續了,但背後 Claude Code 偷偷把你的權限模式從 bypass 降級成了 acceptEdits。從這一刻起,所有後續操作都會彈框。

觸發條件:操作 D:\tmp\C:\Users\ 等非項目目錄的文件。
小白翻譯:你拿著 VIP 通行證走出了大樓,去隔壁辦事。回來的時候保全說:「你出去過了?那 VIP 通行證降級為普通訪客證,以後每次都要刷卡。」而且他不會告訴你通行證已經被降級了。
BUG #3
.claude/ 目錄被硬編碼保護,bypass 無效
v2.1.78 開始,因為安全漏洞 CVE-2026-33068(攻擊者可以通過修改 .claude/ 內的文件來注入指令),Anthropic 直接在程式碼裡硬編碼了保護:

任何對 .claude/.git/ 目錄內文件的操作,永遠會彈框,不管你設了什麼。

這不是 Bug,是故意的安全設計。但 Anthropic 沒有在文件裡說明這點,導致很多人以為自己的 bypass 壞了。
小白翻譯:大樓裡有一間「保險庫」,就算你是 VIP,進保險庫的時候還是要刷一次卡。這是安全規定,不會因為你是 VIP 就豁免。區別是:這個規定大樓管理處沒有公告,你第一次被攔的時候會很困惑。
Bug 1:VS Code 不讀
影響所有 VS Code 用戶
+
Bug 2:路徑偷偷降級
影響跨目錄操作
+
Bug 3:硬編碼保護
影響 .claude/ .git/
=
bypass 形同虛設
到處都在彈框
3
社區證據:不是你一個人遇到

以下是 GitHub Issues 和 Reddit 上的真實討論,全部指向同一個問題。你不是一個人在戰鬥。

Issue 狀態 描述
#43953 OPEN VS Code 擴展的 requestToolPermission 寫死只放行 MCP 工具,完全不讀 bypass 設定
#41763 OPEN 操作項目外路徑觸發「suspicious path」提示後,bypass 被偷偷降級為 acceptEdits
#43845 OPEN VS Code UI 裡的 toggle 開關不會寫入 settings.json,重開 session 設定消失
#36192 OPEN --dangerously-skip-permissions 旗標在 Edit 工具上無效(22 則留言討論)
#35756 OPEN initialPermissionMode 被忽略,不管設什麼都不生效
#39057 OPEN 對話中途 bypass 模式被無預警重置為 edit 模式
來源 熱度 描述
Reddit 28 upvotes v2.1.78 broke bypassPermissions — 升級後 bypass 完全失效
Reddit 29 upvotes binary patcher workaround — 有人直接修改二進制文件繞過限制
Reddit 多篇 「Claude asking permission every 10 seconds」— 每 10 秒問一次,工作流完全中斷
一句話總結:6 個 GitHub Issues 全部 OPEN,沒有一個被修復。Reddit 上幾十個 upvote,說明這是大規模影響的問題。不是個案,不是設定錯誤,就是 Bug。
4
解決方案:五招對抗 bypass 失效

官方 Bug 還沒修,但社區已經摸索出一套可靠的繞過方案。以下五招可以搭配使用,效果最好。

方案 1
用通配符清理 allow 列表
如果你的 permissions.allow 裡已經積累了 100 多條精確命令,每一條只匹配一個特定指令,毫無通用性。

解法:把 100+ 條精確匹配替換成 10 條左右的通配符規則。一條通配符可以覆蓋幾十條精確規則。
通配符 ALLOW 列表範例
// 替代幾十條精確的 Bash 命令
"permissions": {
  "allow": [
    "Bash(*)",          // 所有 Bash 指令
    "Read(*)",          // 所有文件讀取
    "Edit(*)",          // 所有文件編輯
    "Write(*)",         // 所有文件寫入
    "Grep(*)",          // 所有搜尋
    "Glob(*)",          // 所有文件匹配
    "WebFetch(*)",      // 所有網頁抓取
    "WebSearch(*)",     // 所有搜尋引擎
    "mcp__*(*)",        // 所有 MCP 工具
    "TodoWrite(*)"      // Todo 操作
  ]
}
效果:10 條通配符規則 = 原來 100+ 條精確規則。而且新的操作也自動被覆蓋,不用每次再點「允許」。
方案 2
三個文件都要設 bypass(缺一不可)
很多人只設了一個文件,以為就夠了。但 Claude Code 會從多個位置讀取設定,缺了任何一個都可能導致 bypass 失效
1
全局設定 ~/.claude/settings.json
路徑:C:\Users\你的名字\.claude\settings.json
作用:對所有項目生效的「校規」。沒有項目級設定的項目會靠它。
2
項目設定 .claude/settings.json
路徑:你的項目/.claude/settings.json
作用:這個項目的「班規」,可以覆蓋全局。如果沒有 defaultMode,全局的 bypass 就被吃掉。
3
本地設定 .claude/settings.local.json
路徑:你的項目/.claude/settings.local.json
作用:不進 git 的個人設定,優先級最高。如果存在但沒有 defaultMode,其他文件的 bypass 都會被覆蓋。
4
VS Code 設定 settings.json (VS Code)
VS Code 的 Ctrl+, → 搜索 claude code → 確認 permission 相關設定沒有覆蓋。
關鍵:四個地方,缺一不可。任何一個文件存在但沒有設 bypass,就可能把其他文件的 bypass 覆蓋掉。
方案 3
終端 CLI 比 VS Code 面板可靠
Bug #1 的核心是 VS Code 擴展不讀 bypass 設定。所以最直接的繞過方式是——不用 VS Code 面板,改用終端 CLI。

在終端裡執行:
終端 CLI 用法
# 方法一:直接在終端啟動(推薦)
claude --dangerously-skip-permissions

# 方法二:在 VS Code 裡開終端(Terminal),而不是用 Claude 面板
# Ctrl+` 打開終端,輸入:
claude --dangerously-skip-permissions
小白提醒:「面板」是 VS Code 左側或底部的 Claude Code 聊天窗口。「終端 CLI」是你自己打開的命令行。Bug 只影響面板,終端 CLI 會正確讀取 settings.json 的 bypass 設定。
方案 4
避免觸發降級(針對 Bug #2)
Bug #2 是操作項目外文件觸發降級。以下三招可以避免觸發:
A
把常用目錄加入 additionalDirectories
在 settings.json 裡加上你常用的非項目目錄,告訴 Claude Code 這些路徑是你信任的:
"additionalDirectories": ["D:\\tmp", "C:\\Users\\Administrator"]
B
中途按 Shift+Tab 切回 bypass
如果你發現 Claude 突然又開始彈框了,按 Shift+Tab 可以在 session 內重新切回 bypass 模式(但不是所有版本都支持)。
C
不要用 file:// 開頭的路徑
有用戶反映,在對話中給 Claude 一個 file:// 開頭的路徑會觸發「外部路徑」警告。用普通路徑即可。
方案 5
降級到 v2.1.77(核彈選項)
如果以上方案都不行,最後手段是降級到 v2.1.77。這是 Bug #3(.claude/ 硬編碼保護)引入之前的版本。

注意:降級意味著你失去了 CVE-2026-33068 的安全修補,如果有人能在你的 .claude/ 目錄裡放惡意文件,你會有安全風險。

只適合:個人電腦、不對外暴露、完全信任自己操作環境的用戶。
降級指令
# 全局安裝指定版本(需要 npm)
npm install -g @anthropic-ai/claude-code@2.1.77

# 或使用 VS Code 擴展的版本控制
# 擴展面板 → Claude Code → 齒輪 → Install Another Version → 2.1.77
風險提醒:降級是「核彈選項」,解決了問題但犧牲了安全。建議優先嘗試方案 1-4,不行再考慮方案 5。
5
完整設定範本:直接複製貼上

以下是經過社區驗證的完整設定範本。兩個文件都要設,缺一不可。複製貼上即可。

C:\Users\你的名字\.claude\settings.json
// 全局設定:影響所有項目
{
  "permissions": {
    "defaultMode": "bypassPermissions",
    "allow": [
      "Bash(*)",
      "Read(*)",
      "Edit(*)",
      "Write(*)",
      "Grep(*)",
      "Glob(*)",
      "WebFetch(*)",
      "WebSearch(*)",
      "mcp__*(*)",
      "TodoWrite(*)"
    ],
    "deny": []
  },
  "skipDangerousModePermissionPrompt": true
}
你的項目/.claude/settings.local.json
// 項目級本地設定:不進 git,優先級最高
{
  "permissions": {
    "defaultMode": "bypassPermissions",
    "allow": [
      "Bash(*)",
      "Read(*)",
      "Edit(*)",
      "Write(*)",
      "Grep(*)",
      "Glob(*)",
      "WebFetch(*)",
      "WebSearch(*)",
      "mcp__*(*)",
      "TodoWrite(*)"
    ],
    "deny": []
  },
  "skipDangerousModePermissionPrompt": true
}
為什麼 bypass 了還要 allow?因為 Bug #1(VS Code 不讀 bypass),所以即使設了 bypass,也要用通配符 allow 列表做「雙保險」。如果 bypass 不生效,通配符 allow 至少能自動放行大部分操作。
設完之後記得:關掉當前 Claude Code 對話,開一個全新的 session。設定只在新 session 啟動時才會載入。
6
等待官方修復:你能做的事

截至 2026 年 4 月,以上六個 GitHub Issues 全部還在 OPEN 狀態,Anthropic 還沒有提供官方修復。但你可以做以下事情推動修復:

1
去 GitHub Issues 點讚
打開 #43953#41763,點右上角的 thumbs up( 👍 )。這是 Anthropic 評估修復優先級的重要指標。越多人點,修得越快。
2
關注 Anthropic Changelog
每次 Claude Code 更新時,查看 changelog 裡是否提到了 permission/bypass 相關的修復。一旦官方修復了,你可以移除上面的 workaround。
3
暫時接受現狀
用方案 1-4 的組合,已經可以讓 95% 的操作不再彈框。剩下 5%(主要是 .claude/ 和 .git/ 目錄)是安全設計,接受就好。
最後一句話:bypass 權限失效不是你的問題,是已知 Bug。設好通配符 allow + 三個文件都設 bypass + 用終端 CLI,就能解決 95% 的煩惱。剩下的,等 Anthropic 修。