PaPoo
cover

exit code 137 で Claude Code のプロセスが残り続けるときに見ること

まず、この症状に当てはまるかを切り分けます。
issue #90889 では、macOS の Claude デスクトップアプリにバンドルされた Claude Code の headless 実行が、仕事自体は終えているのに claude プロセスだけが終了せず、放置すると OOM や swap 枯渇に進むと報告されています。コメントでは、残っているプロセスに対して kill -TERM <pid> を送るとおよそ 1 秒で正常終了したとも書かれています。つまり、少なくともその報告では「壊れて固まっている」というより、「自力で終わらないまま残留している」状態です。

報告の実例では、対象はデスクトップアプリの local-agent-mode サービスから起動される headless 実行でした。引数も claude --output-format stream-json --input-format stream-json --permission-prompt-tool stdio … という形です。配布版の Claude Code はデスクトップアプリに同梱されたビルドで、最初の診断時は 2.1.229、その後も 2.1.247 で再現していたとあります。別途入っていた standalone CLI 2.1.220 は、このリーク経路ではなかったとされています。

もう一つの issue #100973 は別の症状です。こちらは desktop の Code タブでメッセージを撤回・編集すると、背後で動いていたタスクまでまとめて SIGKILL されるという報告です。terminal 側の rewind では background shell や subagent が残るのに、desktop app ではそうならない、という対比が書かれています。
つまり、同じ「途中で止まる/消える」でも、#90889 は「終わったのに残る」、#100973 は「編集すると全部落ちる」で、切り分けるべき別件です。

手元で取得できた実測出力は環境確認だけでした。

[env_summary]
OS          : Linux 3.10.0-1160.76.1.el7.x86_64 (x86_64)
Python      : 3.8.13
検証日時    : 2026-10-12T08:52:35+09:00

このため、こちらで再現確認まではできていません。少なくとも現時点で言えるのは、あなたのケースが次のどちらに近いかです。

前者なら #90889 の線が濃いです。報告上は、残ったプロセスは SIGTERM に素直に応答し、手で終わらせることはできました。なので、運用上は「自動で終わらないプロセスを後始末する」対処が当面の現実解になります。ただし、どういう条件でその残留が起きるのか、issue だけでは分かりません。

後者なら #100973 を見るべきです。これは exit code 137 そのものの話ではなく、desktop app 側の rewind 操作が background task を巻き添えにする話です。症状は近く見えても、原因の切り分けは別です。

もし exit code 137 を見ているなら、少なくともこのクラスタで確認できるのは「プロセスが SIGKILL で落ちた」という結果だけで、なぜそうなったかまでは断定できません。今回の issue 群で実際に語られているのは、むしろ「終わるべきものが終わらない」「編集すると全部殺される」という周辺事情です。
したがって、ログがあるなら、まずは headless 実行が終わった直後に claude が残っていないか、残るなら手動の SIGTERM で消えるかを見てください。そこまで確認できると、#90889 にかなり寄せて読めます。


検証環境

OS          : Linux 3.10.0-1160.76.1.el7.x86_64 (x86_64)
Python      : 3.8.13
検証日時    : 2026-10-12T08:52:35+09:00

参照した Issue(anthropics/claude-code): #100973, #90889

同じ著者の記事