Coolkid mascot CoolkidLab Build in Public. Level up together.
首頁新手教學專欄免費工具AI 新聞GitHub 精選服務關於 Coolkid

新手教學 · 錯誤訊息排查

Claude Code 找不到 Git Bash?裝了一樣卡住

閱讀
摘要

短答:Windows 上的 Claude Code 說找不到 Git Bash,就算你真的裝好了也一樣。最快的解法是直接告訴它檔案在哪——在 Claude Code 的設定檔裡加一行,把 C:\Program Files\Git\bin\bash.exe 這個位置寫給它,再把 Claude Code 整個關掉重開。會找不到,是因為它其實不是在找 bash,而是照幾個固定的地方去找 Git;你的 Git 不在那幾個地方,它就一直說沒有。

這篇不重複「怎麼裝 Bash」的教學。做法是照你看到的錯誤訊息走:先看你自己撞到的是哪一句,再給你最快的修法。然後把兩件事拆開講清楚——「裝了為什麼還是找不到」,還有「重開到底要重到哪一層」。

Claude Code 顯示什麼錯誤?

在 Windows 上卡在 Git Bash 的時候,畫面上會出現三句話裡的其中一句。前兩句一出現,程式就直接關掉了。第三句不會關掉程式,只有你當下跑的那道指令會失敗。最常見的是下面這句。

Claude Code on Windows requires either Git for Windows (for bash) or PowerShell. Install one of:
  - Git for Windows: https://git-scm.com/downloads/win
  - PowerShell 7: https://aka.ms/powershell
Or set CLAUDE_CODE_GIT_BASH_PATH to your bash.exe location.

你也可能碰到另外兩句。第二句跟第一句一樣會讓程式直接關掉,差別在原因不同:是設定裡把 那條路也關掉了(寫著 CLAUDE_CODE_USE_POWERSHELL_TOOL=0)。

兩條路都不通,才會看到這句。第三句不一樣,只在開了 sandbox(把指令關進隔離環境跑的模式)的時候出現,而且只讓當下那道指令失敗,不會把整個程式關掉。

Claude Code on Windows requires a shell tool. Git Bash was not found and the PowerShell tool is disabled (CLAUDE_CODE_USE_POWERSHELL_TOOL=0).
Sandboxed bash on Windows requires Git Bash, which is not installed. Install Git Bash, or run this command unsandboxed (dangerouslyDisableSandbox).

如果你查到的舊教學寫著「requires git-bash」,這句話已經不在現在的版本裡了。LAB 2026-09-10 把 Claude Code 這個程式本身(218 MB 那一整支)整個掃過一遍,這句話出現 0 次。

Claude Code on Windows requires git-bash

差別不只是那句話換了,連出現的時機都變了。官方現在把 Git for Windows 列為選配。

沒裝 Git Bash,但 PowerShell 還在,Claude Code 一個字都不會印,直接改用 PowerShell 執行指令。你只會發現 Bash 工具不見了,不會看到任何錯誤訊息。

真的看到第一句,代表連 PowerShell 都用不了,問題比「沒裝 Git Bash」還要深一層。這個判斷順序,是 LAB 從 Claude Code 這個程式裡面寫的邏輯查到的。

網路上很多教學還寫「Windows 一定要裝 Git Bash」,那是舊說法。

怎麼樣可以快速修復?

下面五步是照順序試的,不是五件都要做。哪一步之後不再出現錯誤訊息,就停在那裡。

第一步:先把 Claude Code 完整關掉,再打開一次。什麼都不用改,先試這個。它找 Git Bash 只在打開的那一刻找一次,你要是在它開著的時候才把 Git 裝好,它不會回頭再看(原因在第四節)。

要注意什麼叫「完整關掉」:不是關掉對話,也不是關掉視窗。用的話,是關掉整個終端機視窗(打指令的那個黑底視窗),不是只結束 claude 這個指令。用桌面 App 的話,是真的把整個應用程式結束掉。

好了就到這裡,下面不用看。還是說找不到,再往下一步。

第二步:確認 bash.exe 在不在預設的位置。打開檔案總管,搜尋欄貼上這一串:C:\Program Files\Git\bin\bash.exe

看得到這支檔案,就把這一串路徑複製起來,下一步馬上要用。整個資料夾都找不到,代表你的 Git 裝在別的地方——下一步的路徑就不能照抄這一串,要換成你自己那一支的位置。

第三步:在設定檔裡直接告訴它路徑。打開 Claude Code 的設定檔 settings.json,加上 CLAUDE_CODE_GIT_BASH_PATH 這一項,值就是上一步那支 bash.exe 的位置。

{
  "env": {
    "CLAUDE_CODE_GIT_BASH_PATH": "C:\\Program Files\\Git\\bin\\bash.exe"
  }
}

要指的是 Git\bin\bash.exe 這支檔案本身,官方文件就是這樣寫的。不是 Git\cmd 那個資料夾,也不是 git-bash.exe。

我自己是在檔案總管把路徑複製起來,再貼進去。這樣最快,但中間有兩個地方會失敗,照這五步走就不會踩到:

  1. 先在檔案總管裡找到那支 bash.exe,通常在 C:\Program Files\Git\bin 底下。
  2. 按住 Shift,在檔案上按右鍵,選「複製路徑」。Windows 11 的右鍵選單裡,這個選項也可能叫「複製檔案位址」。
  3. 把複製到的內容,貼進設定檔裡。
  4. 刪掉貼上去的內容前後那兩個雙引號。複製過來會長這樣:"C:\Program Files\Git\bin\bash.exe",要改成 C:\Program Files\Git\bin\bash.exe。複製路徑會自己幫你加上那兩個引號,留著不刪,這行設定就會失效。
  5. 把路徑裡每一個「\」都改成「/」。這樣就不用再算反斜線要打成一條還是兩條。

存完檔,開一個新對話就會生效,不用整個重開——設定檔的內容,是每次開一個新的小程式時重新讀的。好了就到這裡,下面不用看。還是說找不到,再往下一步。

第四步:設了還是一樣,先看你那一行是不是被默默忽略了。這一步最容易卡住,因為設定寫錯的時候,畫面上不會告訴你,錯誤訊息跟你根本沒設過一模一樣。對照下面這張表,看你貼進去的是哪一種。

你貼進去的樣子電腦讀到的檔名名字合不合格檔案在不在結果
C:/Program Files/Git/bin/bash.exebash.exe合格會用
C:\Program Files\Git\bin\bash.exebash.exe合格會用
"C:\Program Files\Git\bin\bash.exe"bash.exe"不合格不在(多了引號,變成另一個檔名)不會用,錯誤訊息跟沒設一樣
C:/Program Files/Git/git-bash.exegit-bash.exe不合格不會用,錯誤訊息跟沒設一樣

前兩種會用,後兩種會被忽略。最常見的是第三種:直接複製路徑,前後會多帶一組雙引號,那組引號會讓它把檔名讀成 bash.exe" 而不是 bash.exe,於是判定成另一個檔案。

還有一個更早就失敗的情形:路徑裡的反斜線「\」照原樣貼進去,整個設定檔會壞掉、根本讀不進去。LAB 實測過,這時候系統回報的錯誤是 Invalid \escape。最省事的作法就是上一步第五點——把每個「\」都改成「/」。

好了就到這裡,下面不用看。還是說找不到,再往下一步。

第五步:五步都試過還是不行,那就先別修了。沒有 Git Bash,Claude Code 一樣能用,只是少了 Bash 工具這一項。值不值得繼續弄下去,看完第五節再決定。

為什麼裝了 Git Bash 還是找不到?

Claude Code 找 Git Bash,是分三層、一層一層往下找的。裝了還是找不到,通常就是卡在其中一層。

這不是官方文件寫的,是 LAB 直接讀 Claude Code 這個程式裡面寫的邏輯查出來的。2026-09-10 在這台電腦上看到的版本是 2.1.258。以下講的是這個版本的行為,以後改版可能就不一樣了。

  1. 先看你自己寫的那行設定。但它會挑檔名:你指過去的那個檔案,名字必須剛好是 bash.exe、sh.exe、bash 或 sh。而且檔案要真的在那裡。指到 git-bash.exe 這種名字,它不收。只要有一項不合,它就默默改去下一個地方找——而且不會告訴你設定寫錯了,你看到的失敗訊息,跟根本沒設過一模一樣。
  2. 第二層:兩個寫死在程式裡的固定位置:C:\Program Files\Git\bin\bash.exe,還有 C:\Program Files (x86)\Git\bin\bash.exe。
  3. 第三層:反過來去找 git 裝在哪裡。在終端機打 where.exe git(這是去問電腦,git 裝在哪),再往上兩層資料夾找 bin\bash.exe。

它找的是 git,不是 bash。電腦知不知道 bash 裝在哪,一點都不重要。重要的是電腦知不知道 git 裝在哪。而且 git 的安裝資料夾底下,要有 bin\bash.exe 這支檔案。

在終端機打得開 bash,不能當作證據。因為你打下去實際叫到的那一支,可能跟 Claude Code 要找的,根本是兩支不同的檔案。

你打的指令實際叫到的東西
where.exe bashC:\Users\你的帳號\AppData\Local\Microsoft\WindowsApps\bash.exe
where.exe gitC:\Program Files\Git\cmd\git.exe

這是 LAB 用登錄檔裡真正那份「哪個指令放在哪裡」的清單查出來的結果,等於從開始選單開一個全新視窗會拿到的那一份。

第一支 bash.exe,大小是 0,裡面根本沒東西,是 Windows 放的一個空殼捷徑,指向 的啟動器,不是 Git Bash。

但 Claude Code 根本不看這一支,看的是 git 裝在哪裡,再往上推算出 bash.exe 的位置。

自己在家怎麼測:在終端機打一次 where.exe git,看回來的路徑,往上兩層,有沒有 bin\bash.exe。有,Claude Code 就找得到;沒有,這就是會踩雷的原因。這只是自己測試用的方法,不是官方指令。

真正會踩雷的情形,是 Git 裝在你自己選的位置,而且在安裝精靈裡選了「只從 Git Bash 使用 Git」。

這樣一來,git 不會被加進電腦知道要去哪裡找程式的那份清單,第三層當然也反推不出來。另一種情形,是用 scoop 或可攜版這類工具裝的,資料夾擺放的方式跟官方不一樣。

自己手動指定路徑,也有一個問題:CLAUDE_CODE_GIT_BASH_PATH 指到的檔案,如果不是 bash 或 sh 那種檔案,Claude Code 不會告訴你設定錯了,而是悄悄改回自動去找

你看到的錯誤訊息,跟根本沒設定時一模一樣。這就是「我明明設了啊」這種困惑的由來。

claude doctor 這個檢查指令,也幫不上這一題。LAB 實際跑過一次,畫面上列出安裝方式、版本、搜尋功能、自動更新狀態,完全沒有 Git Bash 這一項。

最後印出「No installation issues found」,看起來一切正常,其實只是根本沒檢查到這一塊。

重開 Claude Code 要做到哪一層?

第二節第一步叫你把 Claude Code「完整關掉」,這一節講的就是為什麼要講得那麼囉嗦。「重開 Claude Code」有三種深度,大多數人只做到第一種。

  1. 只關掉對話或分頁,再開一個新的。沒有用。
  2. 把整個程式完整結束掉,再重新打開。終端機的話,是關掉整個終端機視窗,不是只結束 claude 這個指令。桌面 App 的話,是真的結束整個應用程式,不是只關掉視窗。這一種才有用。
  3. 重開機。一定有效,但多數情況不必做到這一步,第二種就夠了。

第一種沒用,是因為它找 Git Bash 只在程式打開的那一刻找一次,找到的答案就定住了。你在它開著的時候才把 Git 裝好,它不會回頭再檢查。

但「只算一次」只解釋一半。你每開一個新對話,其實都是開了一個新的小程式,那份記住的答案會重算。真正甩不掉的是另一件事:Windows 在程式打開的那一刻,會塞給它一張「哪個指令放在哪裡」的清單,之後就不再更新了。新對話是新的沒錯,可是那張清單是跟最上層那個 Claude Code 拿的——而它從你早上打開之後就沒關過,手上還是舊清單。所以它照樣找不到 Git。

function P$(){ if(PH.gitBashPath===void 0) PH.gitBashPath=ue(); return PH.gitBashPath }

LAB 2026-09-10 在這台電腦上數了一次當時開著的程式,證實了這件事。總共有 20 支 claude.exe,全部掛在同一支最上層的程式底下,只有那一支(早上 8 點多就開著的桌面 App 本體)有視窗。

其餘的都是它開出來的小程式,開開關關的其實只是這些小程式,最上層那支沒死。拿到的「哪個指令放在哪裡」的清單,當然還是舊的。

「重開 Claude 是完整重開,不是只把 或桌面 App 關掉再打開」,這是我後來才想通的一句話。也應該就是我當初卡住的原因,最後才只能去重新開機。

我當初沒有留下畫面或紀錄,不能斷言當時到底做了什麼。只能說事後照這段程式邏輯回頭看,最可能就是停在第一種深度。

這大概是這篇最值得記的一點:網路上的教學幾乎都寫「重開之後就恢復正常了」,卻很少講清楚,到底要做到哪一層。

沒有 Git Bash,Claude Code 就不能用嗎?

沒有 Git Bash,Claude Code 不是不能用。官方現在把 Git for Windows 列為選配,沒裝就退回 PowerShell 執行指令,一樣能跑,只是少了 Bash 工具這一項。

這也是為什麼你可能從頭到尾沒看過任何錯誤訊息,只是覺得哪裡怪怪的:沒裝 Git Bash 但 PowerShell 在,Claude Code 一個字都不印,直接換一條路走。真的印出那三句的其中一句,代表兩條路都不通了。

網路上多數舊教學還寫「Windows 上一定要先裝 Git Bash」,那是舊版必裝年代留下的說法。照抄之前,先看一眼自己踩到的是哪一句錯誤訊息,再決定要不要裝。

Claude Code 在 Windows 上找不到 Git Bash,現在的錯誤訊息有三句:前兩句一出現,程式就直接關掉;第三句只讓當下那道指令失敗。反過來,沒裝 Git Bash 但 PowerShell 還在的時候,Claude Code 一個字都不印,直接悄悄改用 PowerShell,只是少了 Bash 工具這一項。舊版那句「requires git-bash」已經從現在的版本拿掉了。最快的修法:在 settings.json 加一行 CLAUDE_CODE_GIT_BASH_PATH,指到真正的 Git\bin\bash.exe,存檔後把 Claude Code 整個關掉重開。自己複製路徑常踩兩個雷:前後多帶一組引號,還有反斜線讓設定檔整個壞掉——解法是刪掉引號、把「\」都改成「/」。裝了還是找不到,是因為找 Git Bash 分三層:先看你手動設的路徑(但要通過檔名檢查),再看兩個寫死的固定位置,最後從電腦知道的 git 位置反推。找的是 git,不是 bash,在終端機打得開 bash 不能當證據,claude doctor 也不檢查這一項。重開也有深淺之分:只關掉對話或重打一次 claude,找到的答案會重算,但「哪個指令放在哪裡」那份清單,還是最上層那支程式的舊清單;要把整個程式關掉,或乾脆重開機,才會拿到新的一份。我當初沒留下紀錄,不能斷言自己踩在哪一層,只能說照程式邏輯回頭看,最可能是重開得不夠徹底。

名詞解釋

Claude Code
Anthropic 推出的 AI 寫程式工具,裝在自己電腦的終端機裡,能直接讀寫你的檔案、跑指令,把你用中文描述的需求做成真的網站或工具。
終端機(terminal)
「用文字指令操作電腦的視窗」的統稱。Mac 叫 Terminal,Windows 上就是 PowerShell,兩者角色相同。
PowerShell
Windows 內建的指令視窗:用打字下指令的方式操作電腦,Claude Code 在 Windows 上就在這裡面跑。按 Win + X 可以叫出來。
PATH(環境變數)
系統的「去哪裡找程式」清單。指令打了卻顯示找不到,九成是程式所在的資料夾沒被加進這份清單。
環境變數(environment variable)
放在系統層、不寫進程式碼的設定值,最常用來放 API 金鑰等機密,避免跟著程式碼被公開。
Git
程式碼的版本紀錄系統:每次改動存成一個「存檔點」(commit),隨時可以回溯、比對、還原,不怕改壞。
WSL(Windows Subsystem for Linux)
微軟提供的功能:在 Windows 裡面跑一個 Linux 子系統,像電腦裡再開一台小電腦。需要 Linux 環境的工具靠它就能在 Windows 上用,但檔案與工具分屬兩個世界,混用容易踩坑。
命令列(CLI, Command Line Interface)
用打字指令操作電腦的方式,沒有按鈕跟視窗。Claude Code 就是命令列工具。

全站名詞表 · 166 條 →

不想錯過 Lab 的新文章?
訂閱後有新文章上線,就寄信通知你,
點有興趣的進來看就好。

填 email 就完成訂閱(信由 Substack 代寄)、隨時取消、不轉賣 email。

如果內容對你有用就太好了
隨喜斗內

請我喝咖啡
NEXT CHAPTER ▸ Claude Code Windows 安裝:4 步驟+錯誤排除

相關文章

常見問題FAQ

Claude Code 說找不到 Git Bash,看到的三種訊息是同一件事嗎?

不完全一樣。前兩句一出現,程式就直接關掉,分別對應「Git Bash 和 PowerShell 都用不了」與「你自己把 PowerShell 那條路關掉了」;第三句是 sandbox 模式,只讓當下那道指令失敗,不會把程式關掉。舊版那句「requires git-bash」已經拿掉了。

找不到 Git Bash,最快怎麼修?

打開 settings.json,加上 CLAUDE_CODE_GIT_BASH_PATH,指到 Git\bin\bash.exe。複製路徑記得刪雙引號、把「\」改成「/」。存檔後整個關掉重開。

Git Bash 明明已經裝好了,Claude Code 為什麼還是說找不到?

Claude Code 找 Git Bash 分三層:先看你手動設的路徑、再看兩個固定位置、最後從 git 的位置反推。Git 裝在自己選的位置又沒被電腦記住,三層都可能踩空。

在終端機打 bash 打得開,為什麼 Claude Code 還是說找不到?

打得開不能當證據,因為 Claude Code 找的是 git,不是 bash。LAB 實測發現,終端機叫到的 bash.exe 是 Windows 的空殼捷徑,指向 WSL,大小是 0,跟 Git Bash 無關。

claude doctor 可以拿來檢查這個問題嗎?

不行。claude doctor 的畫面上有安裝方式、版本、自動更新狀態,但完全沒有 Git Bash 這一項,照樣印出「No installation issues found」。得改看三層邏輯。

重開 Claude Code 沒用,是不是就得重開機?

不一定。只關對話或重打一次 claude,找到的答案會重算,但那份「哪個指令放在哪裡」的清單還是舊的;裝在預設位置的人這樣就夠。要整個關掉程式才會拿到新清單,連這樣都沒用,重開機一定有效。

沒有 Git Bash,Claude Code 還能用嗎?

能。官方把 Git for Windows 列為選配,沒裝 Git Bash 但 PowerShell 在,不會報錯,會悄悄改用 PowerShell,只是少了 Bash 工具。很多舊教學還寫「一定要先裝」,那是舊說法。

看完這篇之前先確認:

適合你
  • Claude Code 在 Windows 上跳出訊息,說找不到 Git Bash,或要你裝 Git for Windows/PowerShell
  • 明明已經裝了 Git Bash,Claude Code 還是說找不到,或者設了 CLAUDE_CODE_GIT_BASH_PATH 還是一樣
  • 搞不清楚重開之後到底要重到哪個程度才有效,只重開對話沒用
不適合
  • 還沒開始安裝 Claude Code(先看安裝那篇)
  • 已經能正常使用,只是想知道要不要另外裝 WSL
  • 遇到的是中文變亂碼,不是找不到 Git Bash

← 回新手教學 · 看「卡住了、報錯了」這個主題

⚠ 本站所有內容僅供教育與研究用途,不構成投資建議,不保證任何獲利。投資有風險,使用者須自行判斷並承擔結果。
TAO 道 · Hikari Zen YouTube ↗
音樂透過 YouTube 播放
♪ TAO 道 · Hikari Zen — Japanese Zen Music(YouTube)