ChatGPT Mac App 無限「Reconnecting, waiting for network」——一場三層嵌套的偵錯紀實

ChatGPT Mac 桌面版卡在「Reconnecting... waiting for network」無限循環?本文記錄從 SSH 遠端連線重試、網路層全面排查,到揪出 ~/.codex/config.toml 本機路由被第三方工具綁架的完整排錯歷程、診斷命令與心法檢查清單。
ChatGPT Mac App 連線診斷架構圖:SSH 遠端重試、網路排查與 ~/.codex/config.toml 路由綁架三層分析

作者手記:某天下午,我的 ChatGPT 桌面 App 突然壞了。畫面卡在「正在重新連線 5/5 → Reconnecting… waiting for network」無限循環,訊息發出去永遠回不來。這篇文章記錄了我從「以為是網路問題」到挖出真兇的完整過程。如果你也遇到一樣的症狀,可以直接跳到最後的檢查清單。


症狀

  • ChatGPT Mac 桌面 App 一直顯示「Reconnecting… waiting for network」
  • 輸入任何訊息都卡在「正在思考」,永遠沒有回覆
  • 重開 App、重開機都沒用
  • 但是:同一個帳號用瀏覽器開 chatgpt.com 完全正常

看到第四點就該警覺——這通常不是網路問題,是 App 本身的問題。


第一層:遠端連線的無限重試迴圈

重開 App 沒用之後,我開始看 App 的 log。ChatGPT 桌面版(Codex 架構的新版)會把 log 寫在:

~/Library/Logs/com.openai.codex/YYYY/MM/DD/*.log

一翻 log,畫面立刻不同了。裡面不是網路錯誤,而是:

[AppServerConnection] app_server_connection.reconnect_started
  hostId=remote-ssh-codex-managed:macmini reconnectAttempt=61
  errorMessage="[email protected]: Permission denied (publickey,password,keyboard-interactive)"

真相一:App 一直在嘗試 SSH 連到我的 Mac mini(當遠端主機用),而 SSH 認證失敗。App 每 20 秒重試一次,永遠失敗,永遠重試。介面上那些「Reconnecting」訊息,其實是遠端主機連不上的無限重試,跟網路一點關係都沒有。

修法:

  1. App 內「設定 → 連線 → SSH」把 macmini 的開關關掉,切回本機
  2. 修復遠端本身:在 ~/.ssh/config 補上 Mac mini 的 Host 區塊,並把公鑰裝過去
# ~/.ssh/config 補上這段
Host macmini aioss-mac-mini 100.x.y.z
    HostName 100.x.y.z
    User <username>
    IdentityFile ~/.ssh/id_ed25519_codex_macmini
    IdentitiesOnly yes

# 再把公鑰裝到 Mac mini(會問一次密碼)
ssh-copy-id -i ~/.ssh/id_ed25519_codex_macmini.pub [email protected]

關掉遠端開關、App 重啟後,log 裡的重試迴圈停了。但畫面還在 Reconnecting。


第二層:網路是清白的

接下來我把「網路壞了」這個假設徹底查了一遍,結論全部正常:

檢查 結果
curl chatgpt.com / openai.com ✅ 可達(403 是 Cloudflare 擋 curl,不是斷線)
api.openai.com ✅ 可達
系統 Proxy ✅ 無
macOS 防火牆 ✅ 關閉
DNS(Tailscale MagicDNS) ✅ 解析正常
OpenAI 狀態頁 ✅ All Systems Operational
App 的 TCP 連線 ✅ 對 chatgpt.com 有多條 ESTABLISHED

網路層是清白的。但 App 的模型請求一直「Timed out waiting for structured result」——請求送出去,回應永遠不來。

這階段的錯誤動作(我也踩了):重開 App、重置 App 資料(備份 ~/Library/Application Support/Codex 後刪掉重來)、登出重登。都沒用。因為根因不在 App 資料夾裡。


第三層:真兇——被綁架的路由

最後一個線索來自 App 內建 CLI 的健康檢查:

"/Applications/ChatGPT.app/Contents/Resources/codex" doctor

輸出:

✗ reachability  one or more required provider endpoints are unreachable over HTTP
    openai API inference URL = http://127.0.0.1:17841/v1/...  connect failed (required)
⚠ websocket     Responses WebSocket failed
    endpoint = ws://127.0.0.1:17841/v1/...

App 的模型請求全部被導向 127.0.0.1:17841——一個本機埠,而且上面沒有任何程式在聽。

沿著這個位址找,在 ~/.codex/config.toml 裡看到:

# Managed by codex-chatgpt-web: Responses use the local bridge; Voice stays on ChatGPT.
openai_base_url = "http://127.0.0.1:17841/v1"

真相三:我之前裝過一個叫「Codex Web GPT」的第三方工具,它會在 Codex 的設定檔裡把模型路由改成「本機橋接服務」。

ChatGPT 桌面 App 跟 Codex CLI 共用同一個設定檔~/.codex/config.toml),所以 App 的每一次模型請求都往 17841 送。橋接程式沒開 → Connection refused → App 顯示「Reconnecting」。

這完美解釋了所有現象:

  • 為什麼瀏覽器版正常?(瀏覽器不走這個設定檔)
  • 為什麼重置 App 資料沒用?(設定在 ~/.codex,不在 App 資料夾)
  • 為什麼重登也沒用?(登入沒問題,路線錯了)

修法:註解掉那兩行(先備份),重啟 App:

# openai_base_url = "http://127.0.0.1:17841/v1"

重啟後再跑一次 codex doctor

✓ websocket    connected (HTTP 101 Switching Protocols)
✓ reachability active provider endpoints are reachable over HTTP
    reachability mode  ChatGPT auth

App 恢復正常。


心法:這類問題的偵錯順序

以後遇到「某某 App 一直 Reconnecting/連不上」,照這個順序查,可以少走很多彎路:

  1. 先二分法:同一個服務,瀏覽器版正常嗎?
  2. 正常 → 問題在 App,不在網路,別浪費時間查網路
  3. 不正常 → 才開始查網路(DNS → IPv4/IPv6 → proxy → 防火牆)

  4. 看 log,不要猜

  5. ChatGPT 桌面版:~/Library/Logs/com.openai.codex/YYYY/MM/DD/*.log
  6. App 內建 CLI 健康檢查:codex doctor(很多 App 有類似 doctordiagnose 指令)

  7. 注意共用設定檔:ChatGPT App 與 Codex CLI 共用 ~/.codex/config.toml。任何第三方 wrapper(Codex Web GPT、Codex++、CC Switch 等)都可能改寫 openai_base_url,而且它們互相搶路由。這類工具「一次只能有一個」在管路由。

  8. 改任何設定前先備份。所有操作都要可逆。

  9. 「Reconnecting, waiting for network」是結果,不是原因。它只代表「App 連不上它想連的東西」,那個東西可能是遠端主機、本機橋接服務,或真的網路——得靠 log 才知道是哪個。


附錄:本次用到的關鍵指令

# App log 位置
ls -t ~/Library/Logs/com.openai.codex/$(date +%Y/%m/%d)/*.log | head -1

# 看重試迴圈
grep -E "reconnect_started|transport_connect_failed" <log檔案> | tail

# App 內建引擎健檢
"/Applications/ChatGPT.app/Contents/Resources/codex" doctor

# 看某個埠有沒有人在聽
lsof -nP -iTCP:17841

# 看模型路由被改成什麼
grep -n "openai_base_url" ~/.codex/config.toml

# App 強制重啟
pkill -9 -f "/Applications/ChatGPT.app" && open -a ChatGPT

環境備註:本文環境為 macOS 27、ChatGPT 桌面版 26.901.51231(Codex 架構)、Tailscale 網路。版本不同時 log 路徑與選單名稱可能略有差異,但診斷思路不變。

遇到 Mac 上的 AI 工具連線或環境配置卡關?

不管是 ChatGPT 電腦版、Codex、本機模型還是遠端主機串接,如果你的工作流也遇到詭異故障,歡迎預約諮詢或交流排錯心法。

聯絡蔡教練預約諮詢 →

蔡正信-數位教練

我是一位專精於數位轉型與AI應用的教練,致力於協助中高齡族群與企業主有效運用科技工具提升生產力。

  • 🔗 蔡教練聯繫方式:點此聯繫
  • 📱 手機:0988-515-413
  • 💬 Line官方帳號2.0 : @rd.coach 點此加入

專業領域:

  • 跨代際溝通 × AI賦能教學:擅長從0到1建構數位素養,專注於中高齡與中小企業轉型。
  • 實戰導向 × 客製培訓:15年教學經驗,服務逾500場講座與工作坊。
  • 工具整合 × 工作流設計:打造AI第二大腦與一元筆記系統。

「我不只是教你使用蘋果電腦,我是協助你抓住你的靈感、管理你的數位資料的數位人生管理教練。」


蔡正信-數位教練

我是一位專精於數位轉型與AI應用的教練,致力於協助中高齡族群與企業主有效運用科技工具提升生產力。

蔡教練聯繫方式:https://rdcoach.pse.is/62uqz2

手機:0988-515-413

Line官方帳號2.0 : @rd.coach https://lin.ee/n4T9CGA
群英企業管理顧問股份有限公司
資訊顧問電子郵件:[email protected]

跨代際溝通 × AI賦能教學:
結合AI應用、數位工具教學與熟齡學習經驗,專注於中高齡與中小企業的數位轉型輔導,擅長從0到1建構數位素養。

實戰導向 × 客製培訓:
15年數位教學經驗,服務鴻海、1111人力銀行、台南大學、瓦城集團等,設計實用導向的教學模組,強調易學、可複製。

工具整合 × 工作流設計:
善用Evernote、Heptabase、Telegram等多款工具,打造AI第二大腦與一元筆記系統,協助學員從資訊收集到知識轉化。

行動導向 × 教學有感:
500+場講座與工作坊,專注學員實作與成果回報,推動「數位生活力」與「AI生活實驗室」教學風格。

預見未來 × 實踐智慧:
關注生成式AI與數位倫理發展,推動AI工具於科研、商業、教育場域的實作應用,擘劃AI助理與智慧工作未來藍圖。