Hub Claude Code 教學

收尾 · 第 24 章

疑難排解、安全與資源管理

恭喜你一路走到這裡。最後這一章不教新招,而是給你三件「保命」的東西:當 Claude Code 怪怪的,先怎麼自救;用它的時候,怎麼守住安全底線、不讓它闖禍;以及之後想繼續學、遇到打不通的關,去哪裡找人、找答案。把這章當成你隨身的急救箱——平常用不到,出事時翻它最快。

24.1 遇到問題,先跑這一招:/doctor

用久了難免遇到「它今天怪怪的」「指令好像沒反應」這種狀況。先別急著重灌、也別急著放棄——九成以上的怪事,第一步動作都一樣:讓 Claude Code 自己做一次健康檢查

這就像人覺得不舒服先量個體溫。 是 Claude Code 內建的「自我體檢」,一次幫你看:安裝有沒有壞、設定有沒有寫錯、外接的工具(MCP)通不通、目前對話的上下文用量(佔了多少百分比、還剩多少)。它會把哪裡不對勁標出來,你照著它說的修就好,不用自己猜。

下面用三個步驟帶你做。請依你「現在卡在哪」對號入座:能進得去 Claude,就用第①步;連開都開不起來,跳第②步;懷疑是某個外掛在搗蛋,看第③步。

  1. 動手做

    能進 Claude → 在裡面打 /doctor

    如果你還能正常啟動 Claude Code(畫面有出現它的對話框),直接在輸入列打斜線指令 /doctor 按 Enter。它會跑一輪體檢,列出安裝、設定、MCP 連線、上下文用量的狀況。

    /doctor
    預期會看到
    # 它會列出一份健檢清單,大致像這樣(實際項目依版本略有不同):
    Installation    ✔ healthy
    Config          ✔ valid
    MCP servers     ✔ all reachable
    Context usage   42% used
    # 有問題的項目會標成 ✘ 或 warning,並附上修正建議
    想知道原理:/doctor 說「Config ✔ valid」,到底在驗哪份檔案?

    Claude Code 其實有兩份長得很像、卻管完全不同東西的設定檔,搞混是很多「明明改了設定,怎麼沒用」的根源。~/.claude/settings.json(以及專案層級的 .claude/settings.json)管的是權限、hook、環境變數這類行為設定;~/.claude.json(在你的使用者根目錄,注意名字裡沒有 .claude/ 那層資料夾)存的則是應用程式狀態——像是一些介面開關、MCP 連線紀錄這類東西。最容易踩的雷是把 hooksenvpermissions 這類欄位寫進 ~/.claude.json:不會報任何錯誤,但也完全不會生效,因為那份檔案根本不認得這些欄位。真的分不清楚,記一個口訣:想調整它的行為,用 settings.json;其他大小事才輪得到 .claude.json

    連帶一個常見的追加雷區:如果你是透過 .mcp.json 接外部工具(第 9 章),想讓某個 MCP 伺服器拿到專屬的環境變數,那組 env 得寫進 .mcp.json 那個伺服器自己的 env 欄位——寫進 settings.jsonenv 對 MCP 子行程完全沒有作用,這是兩條互不相通的環境變數注入路徑,別假設「反正都是 env,應該共用」。若是團隊或組織環境,另外還有一份優先權更高的「受管理設定」(managed settings,通常由 IT 統一部署),衝突時一律它說了算。

  2. 動手做

    claude 根本開不起來 → 在終端機打 claude doctor

    如果打 claude 連畫面都跑不出來、或一開就閃退,那就沒辦法用「裡面」的 /doctor 了。改成在直接打 claude doctor(注意:這是兩個字、中間有空格,不是斜線指令)。它一樣會做體檢,告訴你是哪裡裝壞了。

    claude doctor
  3. 動手做

    懷疑某個外掛在搗蛋 → 用 claude --safe-mode 開

    有時候裝了某個外掛(plugin)、某個外接工具(MCP)或某條自動化規則(hook)之後,Claude Code 才開始出怪。想知道是不是它們害的,就用啟動:它會暫時略過那些外加的東西,只跑最乾淨的核心。如果安全模式下一切正常,那兇手就是你某個外加設定,再回頭一個一個排查。

    claude --safe-mode
    想知道原理:安全模式到底「略過」了哪些東西?

    安全模式(--safe-mode)啟動時,會把你自己加上去的那一層設定整個暫時關掉,只跑 Claude Code 最原始的核心。最常見的兇手是這五類:① 你寫的 CLAUDE.md 規則(專案記憶);② 你裝的技能 skills;③ 你裝的外掛 plugin;④ 你接的外部工具 MCP;⑤ 你設的自動化 hook;除了這些,你自訂的指令與代理人(custom commands、agents)也會一併停用。換句話說,凡是「你自訂的」都先拿掉。所以如果安全模式下就正常了,問題就出在你某一項自訂設定上——接著你就能用刪去法,把它們一個一個開回來,找出真正的兇手。安全模式只是「排查用」的暫時狀態,不會刪掉你任何設定,關掉它再正常啟動,東西都還在。

safe-mode 也沒揪出兇手?再往下隔離一層

少數頑固的狀況,連安全模式都排查不出來——問題可能出在比外掛更底層的地方:使用者層級的個人設定本身。這時候可以把隔離做得更徹底:先設定環境變數 CLAUDE_CONFIG_DIR 指到一個全新的空資料夾,再從一個完全沒有 .claude.mcp.jsonCLAUDE.md 的資料夾啟動它,等於給自己一個從零開始的乾淨環境:

# 從一個乾淨資料夾、乾淨設定目錄啟動,排除所有使用者層級設定
cd /tmp && CLAUDE_CONFIG_DIR=/tmp/claude-clean claude

在這個「什麼都沒有」的環境下,問題還在,代表原因不在你任何一項個人設定,直接去下面 24.4 找地方回報;如果消失了,就確定是使用者層級的東西在搞鬼,回頭把設定一項一項加回來,抓出真正的兇手。要注意:這招在 🪟 Windows/🐧 Linux 上會強制你重新登入一次(帳號憑證存在設定資料夾底下),🍎 Mac 因為登入憑證走 Keychain,通常不用重登。

建議執行:對不上症狀時,讓它幫你開回報

翻遍下面 24.2 的表還是對不到你的狀況?在 Claude 裡打 /feedback,它會把你的對話記錄與描述送給 Anthropic,並順手幫你開一個預填好的 GitHub issue(碰到它「明顯做錯」的 bug,則用 /bug)。

# 找不到對應症狀、或想直接回報問題時:
/feedback     # 送出回饋,並可開好預填的 GitHub issue
/bug          # 回報明顯的程式錯誤

24.2 常見問題與解法

下面這張表收了新手最常撞到的幾種狀況。左邊是你看到的「症狀」,右邊是「為什麼會這樣、怎麼解」。先在左欄找跟你最像的那一列,再照右欄做。如果你是 🍎 Mac 或 🪟 Windows 使用者,有幾列特別標了你的系統,看清楚再動手。

症狀(你看到的) 可能原因與解法
裝完打 claude,卻說「找不到指令」(command not found) 多半是裝好後沒重新打開終端機,新路徑還沒生效;先把終端機整個關掉、重開一個再試。還是不行多半是 PATH 問題 → 去看官方的「安裝疑難排解」頁。
登入失敗、一直登不進去 兩個常見原因:①系統時鐘不準(登入驗證靠時間,差太多就過不了),把日期時間設成「自動」校正;②🍎 Mac 的 Keychain(鑰匙圈)被鎖住了。先跑一次 claude doctor 讓它幫你檢查。
它好像沒照我的 CLAUDE.md 你的 CLAUDE.md 可能太長或過時,把上下文塞爆、把指示稀釋掉了 → 跑 /doctor,它會標出過大的記憶檔,把它精簡(複習第 5 章 CLAUDE.md 記憶)。
一直跳網路錯誤、連不上 通常出在你這端的網路、代理(proxy)或防火牆,不是 Claude 本身。換個網路、關掉 VPN 再試;公司電腦可能要請 IT 幫忙設定 Proxy。
出現 API Error 500 / 529 / 429Prompt too long 前者是伺服器忙或塞車(529 / 429 稍等一下再試就好);看到「Prompt too long(對話太長)」代表這輪對話累積太多,用 /compact 壓縮、或 /clear 開新的一輪。
🪟 在 WSL 上跑很慢 把你的專案放到 Linux 的檔案系統(/home/ 底下),不要放在 /mnt/c/(那是從 Windows 借過來的,跨系統存取很慢);或者乾脆改用原生 Windows 版來跑。

對不到症狀?讓它幫你開好回報單

上面六種都對不上你的狀況也別卡住——在 Claude 裡打 /feedback,它會把這段對話記錄連同你的描述一起送給 Anthropic,還會幫你開一個預填好內容的 GitHub issue,你不用自己從頭寫。怎麼有效回報、去哪裡找社群,24.4 會完整說。

24.3 安全須知:最重要的一章,請務必讀完

前面教的都是「怎麼讓它做更多事」,這一節相反:教你怎麼守住底線、不讓它闖禍。Claude Code 很強,但「強」這件事是雙面刃——它能照你說的改一堆檔案,也就代表如果你沒看清楚就點頭,它可能照著一個壞指示把東西改壞。好消息是:只要記住一個核心原則、養成三個習慣,你就能放心地用。這節份量稍多,但每一段都關係到你的檔案安全,請慢慢讀完。

核心原則:Claude 只有「你給它的」權限

請把這句話刻在心裡:Claude Code 只有你給它的權限,沒有給的它一概碰不到。 它預設是「嚴格唯讀」——也就是預設只看不改,任何會動到你檔案、或對外連網的動作,它都會停下來問你,等你按下「同意」才做。

這代表一件很重要的事:在你核准之前,先看清楚它要做什麼,是你的責任,不是它的。 它內建了幾道防護幫你把關——敏感操作一定要你明確核准;會分析整個請求、揪出可疑的有害指令;擋下注入式攻擊();而會去抓網路內容的指令(像 curlwget預設一律不自動放行,每次都會先問過你。但這些防護是「幫手」,不是「保險箱」——真正的最後一道關,是你看清楚再點頭。

想知道原理:為什麼 curl、wget 這類指令不自動放行?

curlwget 這類指令的本事,是「去網路上把某個網址的內容抓回來」。問題就在這裡:被抓回來的內容可能藏著惡意指示(這就是下面要講的 prompt injection),一旦自動執行,等於讓外面來路不明的東西插隊指揮你的電腦。所以 Claude Code 把這類「會對外連網、把外部內容拉進來」的動作,預設全部設成「每次都要你點頭」,不自動放行。多按一次同意鍵很麻煩,但這一道手續,就是擋掉外部惡意內容最有效的閘門。

三個一定要養成的習慣

  1. 務必搭配 Git(第 6 章)。把 Git 當你的「時光機」——萬一它改壞了,你能一鍵還原到上一個好版本。業界真的發生過:開發者給了 AI 過大權限、又沒做備份,結果一夜之間弄丟大量工作。有 Git,這種事就不會發生在你身上。
  2. 新手請保持「逐項核准」。別一開始就為了省事開全自動。它每要做一件事,你看清楚「它要改哪個檔、做什麼」再答應;尤其是刪檔案、改系統設定這類危險動作,更要瞪大眼睛看。
  3. 絕不把密碼、金鑰寫死在程式碼裡。不要把帳號密碼、API 金鑰直接打在程式碼或會跟人共用的設定檔裡——這些東西一旦外流就麻煩了。

小心「提示注入」——最寬鬆的模式對它毫無防護

有心人可能在某個檔案、某個網頁裡偷偷藏一段惡意指示,想騙 AI 替他做壞事——這招叫「提示注入」(prompt injection)。所以對來路不明的內容、以及任何會「去抓網頁」的操作,都要多一分警覺。

這裡有個地雷一定要知道:Claude Code 有一個最寬鬆的模式叫 ,它會跳過所有的「問你一聲」直接動手。在這個模式下,上面講的那些防護幾乎全部失效,對提示注入毫無招架之力。所以這個模式只應該在跟你日常電腦隔離的環境裡用(例如一個用過即丟的容器或虛擬機 VM),絕對不要在你放著重要檔案的日常電腦上隨手開它。

想知道原理:bypassPermissions 為什麼只能在容器或 VM 裡用?

平常 Claude Code 每做一件危險事都會停下來問你,這道「問一聲」就是防火牆——它讓藏在檔案或網頁裡的惡意指示沒辦法直接得手,因為最後得你點頭。bypassPermissions 模式把這道防火牆整個拆掉,讓它不問就做。一旦遇到提示注入,惡意指示就能長驅直入、直接動你的真實檔案,沒有任何攔截。

那為什麼還留這個模式?因為在「容器」或「虛擬機(VM)」裡,它跑的是一個跟你日常電腦完全隔開的沙盒:就算裡面被搞壞、被惡意指令亂改,也波及不到你真正的檔案,大不了把整個沙盒丟掉重來。所以這個模式的安全前提,是「就算出事也燒不到本尊」。在沒有這層隔離的日常電腦上開它,等於把家門大開——這就是它只能在容器或 VM 裡用的原因。

記住:CLAUDE.md 是「建議」,不是「鐵則」

這點容易被誤會,特別提醒:你寫在 CLAUDE.md 裡的規矩,對 Claude 來說是「建議」,不是它一定會遵守的「鐵則」。模型大多時候會聽,但它有可能在某些情況下沒照做——所以別把 CLAUDE.md 當成安全鎖

如果你要強制禁止某個動作(例如「絕對不准刪這個資料夾」),請用真正由 Claude Code 程式本身執行、而非靠模型自覺的兩種界線:/permissionsdeny(拒絕)清單,或 PreToolUse hook(第 8 章)。這兩個才是硬性關卡——deny 清單直接擋掉,hook 則在動作真正執行「之前」攔下來檢查。寫進 CLAUDE.md(第 5 章)是「請它配合」,設 deny / hook 才是「鎖死不准」,兩者用途不同,別搞混。

24.4 遇到打不通的關,去哪裡回報與求助

自己試過、/doctor 也跑過,還是卡住怎麼辦?別一個人硬撐。Claude Code 背後有官方團隊和一大群同好,回報問題、找人求助都有正規管道。下面四個入口,依你的情況挑著用。

我想做的事 去哪裡 / 怎麼做 適合的情況
直接回報一個明顯的錯誤 在 Claude 裡打 /bug 它做了明顯不對的事、或當掉了,想讓官方知道。會自動附上對話記錄。
送出使用回饋、順便開 issue 在 Claude 裡打 /feedback 找不到對應症狀、有改進建議。它會幫你開一個預填好的 GitHub issue
自己開 GitHub issue 追蹤 anthropics/claude-code 開 issue 想完整描述問題、附截圖、追蹤後續處理進度。
找人聊、求助、看別人怎麼解 加入 Claude Developers Discord 社群 想跟其他開發者交流、即時求助、看別人踩過的雷。

回報前先跑一次 /doctor,省下來回問答

不管你走哪個管道回報,動手前先在 Claude 裡跑一次 /doctor,把它列出的健檢結果一起附上。這樣對方一眼就能看出你的環境哪裡不對,不用來回問你「你的版本多少」「設定長怎樣」,問題解得更快。

24.5 持續學習:最好的老師,就在你手邊

學到這裡,這份教學要陪你的部分告一段落了——但你的路才剛開始。好消息是:以後想學新功能、想查怎麼用,你不一定得翻文件或上網問人。最好的老師,其實就住在你的終端機裡。

想做的事 怎麼做
不確定某個功能怎麼用 可以先直接問 Claude。讓它用你目前情境解釋功能或建議下一步;但指令、旗標、方案與安全設定會更新,要採用具體做法前仍以官方文件與你本機的 --help/實際畫面為準。
想查完整、權威的官方說明 上官方文件總入口 code.claude.com/docs(完整連結清單見附錄 C)。
想看常用指令、名詞速查 翻本教學的附錄:附錄 A 指令速查、附錄 B 名詞對照、附錄 C 官方連結,隨時回來查。
想看中文實戰教學、看別人怎麼設定 你不是唯一一個在摸索的人。侯智薰(雷蒙)維護的 Claude Code 學習資源站(cc.lifehacker.tw,GitHub:Raymondhou0917/claude-code-resources)整理了一批中文實戰文章,還打包成幾份可以直接請 AI 動手設定的 Starter Kit,想看真人怎麼把 Claude Code 摸熟、抄一份現成的設定當起點,這裡是個好去處。達人 · 侯智薰(雷蒙)

恭喜你走完了

從打開終端機、把 Claude Code 請進電腦,到讓它替你寫程式、守住安全底線——你已經把新手該會的全走過一遍了。接下來最好的學法,就是真的去用它做一個你自己的小東西:一邊做、一邊卡、一邊問它。卡住了,記得回來翻這一章的急救箱。上表雷蒙的資源站也值得收藏,想看真人實戰時再回來翻。祝你用得順手,玩得開心。