Skip to content

原文(日本語訳)

claude agents からチャットを開こうとした際、まれに「currently running as a background agent(現在バックグラウンドエージェントとして実行中です)」というエラーが発生し、その後にワーカーのクラッシュとリスポーン(再起動)が繰り返されてしまう不具合を修正しました。

原文(英語)

Fixed opening a chat from claude agents sometimes failing with "currently running as a background agent" followed by a worker crash/respawn loop

概要

これはバグ修正です。claude agents(Agent View)でセッション一覧からチャット(セッション)にアタッチしようとしたとき、対象のセッションがすでにバックグラウンドエージェントとして稼働中であるという状態と競合し、「currently running as a background agent」というエラーで開けなくなることがありました。さらに悪いことに、この状態になるとバックグラウンドワーカープロセスがクラッシュしては自動的に再起動する、という無限ループに陥り、セッションに一切アタッチできなくなるケースがありました。今回の修正により、この競合状態が解消され、セッションへのアタッチが安定して行えるようになりました。

基本的な使い方

claude agents は、ローカルマシン上で動いているすべてのClaude Codeのバックグラウンドセッション(バックグラウンドエージェント)を一覧・管理するための画面(Agent View)を開くコマンドです。

bash
claude agents

実行すると、画面下部に入力欄、上部に「Working」「Needs input」「Completed」などの状態でグループ化されたセッション一覧が表示されます。

  • 一覧から矢印キーで行を選択し、Enter または を押すとそのセッションにアタッチして、通常の対話型セッションと同じようにフルの会話画面に入ることができます。
  • Space を押すと「peek panel(覗き見パネル)」が開き、アタッチせずに最新の出力や返信待ちの内容を確認・返信できます。
  • を押す、または /exit を実行するとアタッチを解除してAgent Viewの一覧に戻ります。セッション自体は停止せず、バックグラウンドで動き続けます。

バックグラウンドセッションは、ターミナルとは別に動くsupervisor(監督)プロセスによってホストされており、ターミナルやAgent Viewを閉じても処理は継続します。

実践例

複数タスクを並行して走らせ、あとから結果を確認する

claude agents を開いた状態で、下部の入力欄に依頼したいタスクを入力して Enter を押すと、新しいバックグラウンドセッションが起動します。同様に別のタスクをもう一つ入力すれば、2つのセッションが並行して動き出します。

bash
claude agents
# 入力欄に以下のように入力してEnter
# 1つ目: "flaky なテストを調査して修正する"
# 2つ目: "READMEのタイポを直すPRを作る"

しばらくして一覧に戻り、Needs input(入力待ち)や Completed(完了)になった行を選択して Enter または でアタッチすれば、途中経過や結果を確認できます。今回の修正前は、この「アタッチしてチャットを開く」操作のタイミングによっては「currently running as a background agent」というエラーで開けず、さらにバックグラウンドワーカーがクラッシュ→自動リスポーンを繰り返してしまい、対象セッションだけでなく他のセッションの操作にも支障が出ることがありました。修正後は、こうした競合が発生せずアタッチが安定します。

既存の対話セッションをバックグラウンド化してから再度開く

対話中のセッションで /background(エイリアス /bg)を実行すると、そのセッションはバックグラウンドセッションとしてAgent Viewの一覧に加わります。

text
/bg テストスイートを実行して失敗を修正しておいて

バックグラウンド化した直後や、supervisorがそのセッション用のワーカープロセスを起動し直した直後など、状態遷移中のタイミングで claude agents から素早く同じセッションを開こうとすると、まだセッションが「バックグラウンドエージェントとして稼働中」のステータスから完全に切り替わっておらず、開けない・クラッシュループに陥るという問題が起きやすい状況でした。今回の修正で、この状態遷移の直後にチャットを開いてもエラーにならず正しくアタッチできるようになっています。

注意点

  • Agent View(claude agents)はリサーチプレビュー機能であり、Claude Code v2.1.139以降が必要です。インターフェースやキーボードショートカットは今後変更される可能性があります。
  • 本修正が適用された後も、バックグラウンドセッションがしばらく応答しない場合は、supervisorがプロセスを再起動して続きから再開する仕様は変わりません(claude daemon status で監督プロセスの状態を確認できます)。
  • もし更新後も同様の「クラッシュ/リスポーンループ」やエラーに遭遇する場合は、claude daemon stop --any --keep-workers で監督プロセスを再起動し、実行中のバックグラウンドセッションを維持したまま新しいsupervisorに接続し直す方法が有効です。
  • claude respawn <id> を使うと、実行中/停止中のセッションを会話履歴を保ったまま明示的に再起動できます(例: バイナリ更新の反映など)。

関連情報