Skip to content

原文(日本語に翻訳)

  • バックグラウンドタスクやフックの応答が遅い場合の終了の遅さを修正

原文(英語)

  • Fixed slow exits when background tasks or hooks were slow to respond

概要

Claude Codeの終了時に、バックグラウンドタスクやフック(hooks)の応答待ちで長時間ハングする問題が修正されました。以前はバックグラウンドで実行中のエージェントやbashタスク、あるいはフックの処理完了を待ってから終了していたため、これらの応答が遅い場合にClaude Codeの終了が大幅に遅延していました。

基本的な使い方

この修正はClaude Codeの内部動作の改善であり、特別な設定は不要です:

bash
# Claude Codeを終了する際、バックグラウンドタスクがあっても素早く終了
claude
> 大きなプロジェクトのテストをバックグラウンドで実行して
> /exit  # 以前は終了に時間がかかることがあったが、修正済み

実践例

フック実行中の終了

PostToolUseフックなどが設定されている場合でも、素早く終了できます:

json
// settings.json のフック設定例
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Bash",
        "command": "slow-logging-script.sh"
      }
    ]
  }
}

フックのスクリプトが重い処理を行っている場合でも、Ctrl+Cや/exitでの終了がブロックされなくなりました。

バックグラウンドエージェント実行中の終了

バックグラウンドでエージェントタスクが実行中でも、メインセッションを素早く閉じられます:

claude
> バックグラウンドでリファクタリングを進めて
> /exit  # バックグラウンドタスクの完了を待たずに終了

注意点

  • バックグラウンドタスクは終了時にキャンセルされるか、別途管理されます
  • フックの実行が遅い場合、フック自体は中断される可能性があります
  • この修正はClaude Codeプロセスの終了動作のみに影響し、タスクの実行自体には影響しません

関連情報