MO STORIES
Claude Code settings.json 在哪?專案、使用者與權限設定路徑整理
Claude Code 的 settings.json 不是只有一個位置。這篇用表格整理全域、專案、local 設定的差別, 以及權限設定應該放在哪裡。

最後更新:2026-05-24
如果你搜尋 Claude Code settings.json 在哪,通常不是想研究設定檔本身。
你多半是遇到這幾種狀況:
- 每次 Claude Code 都一直問權限
- 你想把
acceptEdits設成預設 - 你想把常用指令加入 allowlist
- 你不確定要改
~/.claude/settings.json還是專案裡的.claude/settings.json - 你怕把個人設定 commit 到 repo
先給結論:
| 你要設定什麼 | 建議放哪裡 |
|---|---|
| 只影響你自己的所有專案 | ~/.claude/settings.json |
| 要讓團隊共享的專案規則 | 專案/.claude/settings.json |
| 只想在目前專案自己用,不 commit | 專案/.claude/settings.local.json |
| 要設定權限模式或 allow / deny | 放在上述 settings 檔的 permissions 裡 |
如果你還不熟 Claude Code 權限模式,先看母文:[[2026-05-19 Claude Code 權限怎麼設?permission modes、allowlist 與安全設定完整整理(2026)|Claude Code 權限怎麼設]]。
Claude Code settings.json 有哪幾種?
Claude Code 的設定是分層讀取的,不是只有單一檔案。
| 位置 | 用途 | 適合放什麼 |
|---|---|---|
~/.claude/settings.json | 使用者全域設定 | 你個人的偏好、常用 permission mode |
專案/.claude/settings.json | 專案共享設定 | 團隊共同規則,可以進版本控制 |
專案/.claude/settings.local.json | 專案個人設定 | 本機實驗、個人 allowlist,不建議 commit |
最容易搞錯的是第二個和第三個。
.claude/settings.json 比較像團隊公約。
.claude/settings.local.json 比較像你自己在這台電腦上的便利貼。
如果你在公司或客戶專案工作,我會保守一點:
① 團隊需要共享的規則才放 .claude/settings.json
② 你自己的習慣放 .claude/settings.local.json
③ 高風險 allowlist 不要隨便 commit
macOS / Linux / Windows 路徑對照
| 情境 | macOS / Linux | Windows |
|---|---|---|
| 使用者全域設定 | ~/.claude/settings.json | %USERPROFILE%\.claude\settings.json |
| 專案共享設定 | 你的專案/.claude/settings.json | 你的專案\.claude\settings.json |
| 專案本機設定 | 你的專案/.claude/settings.local.json | 你的專案\.claude\settings.local.json |
官方文件也提醒,Windows 的 ~/.claude 對應到 %USERPROFILE%\.claude。
權限設定應該放在哪裡?
如果你要控制 Claude Code 可以做什麼,通常會設定 permissions。
常見像這樣:
{
"permissions": {
"defaultMode": "acceptEdits",
"allow": [
"Bash(git status)",
"Bash(npm run build)"
],
"deny": [
"Read(.env)",
"Read(.env.*)"
]
}
}
這段代表:
| 設定 | 意思 |
|---|---|
defaultMode | 預設權限模式 |
allow | 明確允許的工具或指令 |
deny | 明確禁止的工具、檔案或指令 |
我的建議是:
- 第一次用陌生 repo:先不要急著設很大
- 日常小改:可以用
acceptEdits - 敏感專案:優先補
deny - 不要把
bypassPermissions當作日常模式
全域設定和專案設定怎麼選?
你可以用這個判斷:
| 問題 | 放哪裡 |
|---|---|
| 這是我個人的習慣嗎? | ~/.claude/settings.json |
| 這是團隊每個人都應該遵守的規則嗎? | 專案/.claude/settings.json |
| 這只是我在這台電腦的臨時設定嗎? | 專案/.claude/settings.local.json |
| 裡面會不會出現本機路徑、私人 token、實驗 allowlist? | 不要放共享設定 |
很多權限問題不是 Claude Code 壞掉,而是設定放錯地方。
例如你把只適合自己電腦的 allowlist commit 進 repo,其他人可能根本不能用。
或者你以為全域設定會覆蓋一切,但專案裡還有更具體的設定在影響結果。
為什麼 settings.json 設了還是一直問?
常見原因有 4 個:
| 原因 | 怎麼檢查 |
|---|---|
| 放錯檔案 | 確認是全域、專案共享,還是 local |
| 指令不符合 allow 規則 | Bash(git status) 和 Bash(git *) 是不同粒度 |
| 專案有更具體設定 | 檢查 .claude/settings.json 和 .claude/settings.local.json |
| 你執行的是高風險動作 | Claude Code 仍可能要求確認 |
我的做法是先從最小 allowlist 開始。
例如先只允許:
{
"permissions": {
"allow": [
"Bash(git status)",
"Bash(npm run build)",
"Bash(npm test)"
]
}
}
等你確認專案流程真的固定,再慢慢放寬。
常見問題 FAQ
Claude Code settings.json 在哪裡?
使用者全域設定在 ~/.claude/settings.json,專案共享設定在 專案/.claude/settings.json,專案個人設定在 專案/.claude/settings.local.json。
settings.local.json 可以 commit 嗎?
不建議。它比較適合放你個人的本機偏好、實驗 allowlist 或不適合團隊共享的設定。
permissions.defaultMode 要放哪裡?
放在 settings 檔的 permissions.defaultMode 裡。若是個人偏好,放 ~/.claude/settings.json;若是團隊共識,才放專案 .claude/settings.json。
Claude Code 一直問權限,是 settings.json 沒生效嗎?
不一定。可能是設定放錯層級、allow 規則沒有命中、專案有其他設定覆蓋,或目前動作仍被判定為高風險。
資料來源
資料最後查核日期:2026-05-24
- Claude Code Docs: Settings:https://code.claude.com/docs/en/settings
- Claude Code Docs: Configure permissions:https://code.claude.com/docs/en/permissions
- Claude Code Docs: Explore the .claude directory:https://code.claude.com/docs/en/claude-directory
想讓網站為你帶來更多商機嗎?
瘦桑與 茉設計 同步提供專業的網站升級服務:
前 5 名諮詢客戶享免費效能報告
延伸閱讀

Claude Code allowTools 與 disallowedTools 怎麼設?常用權限規則範例
Claude Code 權限設定不是把所有工具打開,而是把每天安全重複的動作放行,把會刪檔、推送、讀 secrets 的動作擋下來。

Claude Code 權限怎麼設?permission modes、allowlist 與安全設定完整整理(2026)
Claude Code 權限不是麻煩,是你和 AI agent 之間的安全邊界。這篇用 Why / What / How 整理 permission modes、allowlist、settings.json 與實務設定範例。

Claude Code Telegram 教學:用官方 Channels 從手機操作本機專案(2026)
Claude Code Telegram 教學怎麼開始?這篇整理官方 Channels 的前提、BotFather 建 bot、plugin 安裝、pair、allowlist、permission relay 與常見卡點,帶你用手機操作本機專案。
訂閱 MO Stories
獲得最新的網頁設計趨勢、Headless CMS 技術洞察與數位變現策略。