PaPoo
cover

Command did not complete within its 120s timeout and was moved to the background が出たときに確認したいこと

この文言が出たあと、セッションやバックグラウンドタスクの見え方が戻らない、あるいは別の場所で子プロセスだけが残るなら、今回の issue 群と重なっている可能性があります。少なくとも #87569 では、セッションのプロセスが生きたバックグラウンドタスクを抱えたまま終了すると、タスクの完了記録が書かれず、再度そのセッションを開くまで orphan reconciliation が走らない、と報告されています。結果として desktop app のセッション一覧では active のまま、タスク一覧では running のまま に見え続けるとのことです。

もう一つの #106742 は Windows 11 Pro 上の Claude desktop app で、Bash tool が Git for Windows の bash を使っている環境で起きた報告です。こちらでは、タイムアウトした、あるいは background task として止められた処理の子プロセスが残り続けたと書かれています。報告中では、長い正規表現を含む grep が終了せず、メモリ使用量が増え続けたケースが示されています。

報告内容だけを見ると、似ているようで少し違います。#87569 は「セッション側の状態がいつまでも active のまま残る」話、#106742 は「止めたつもりの子プロセスが残る」話です。ただ、どちらも Command did not complete within its 120s timeout and was moved to the background のあとに、片付けが最後まで終わっていないように見える点は共通しています。

参考までに、#106742 で実際に挙がっていたコマンドは次の形でした。

grep -o '.\{0,900\}server\.log' "<transcript>.jsonl" | head -1 | tail -c 1200

この issue では「grep never prints a match」とあり、長い bounded repeat を含むパターンが、数 MB ある行を相手にすると終わらない、と説明されています。ここから先は推測になりますが、少なくとも報告上は、Claude Code 側のタイムアウト処理に入ったあとも、実体のプロセスが完全には片付いていないケースがあるようです。

今回の二つの issue から、読者がまず切り分けるなら次の見方になります。セッション一覧でずっと active のまま残るなら #87569 に近いです。タイムアウトのあとに外側のセッション表示は進んでも、裏で grep のような子プロセスや background task が残るなら #106742 に近いです。どちらも、少なくとも issue 報告の範囲では恒久的な修正手順は出ていません。

コメント欄には、#87569 がいったん close されたものの、「reproduction steps and Claude version」があるのに bot により誤って閉じられた、という指摘もあります。あわせて、別 issue の #87647 がその bot behavior の追跡先として挙げられていました。現時点では、この症状そのものが解決済みとは言い切れません。

筆者の検証環境は次のとおりです。

[env_summary]
OS          : Linux 3.10.0-1160.76.1.el7.x86_64 (x86_64)
Python      : 3.8.13
検証日時    : 2026-11-03T08:56:19+09:00

検証環境

OS          : Linux 3.10.0-1160.76.1.el7.x86_64 (x86_64)
Python      : 3.8.13
検証日時    : 2026-11-03T08:56:19+09:00

参照した Issue(anthropics/claude-code): #106742, #87569

同じ著者の記事