作業の途中で Claude Code が急に重くなり、固まり、落ちる。進行中の作業がそのまま飛ぶ。再起動すると直るのに、しばらくするとまた遅くなる——これは利用者から繰り返し報告されている問題です。原因の多くは、セッションのログや一時ファイルの蓄積です。
現象1: 一時ファイル・ログの蓄積で本当に遅くなる/落ちる
長いセッションでは、会話のログ(JSONL)や一時ファイルが積み上がります。これがディスクや一時領域を圧迫すると、動作が重くなり、最終的に落ちます。再起動で直るのは、溜まった状態が一度リセットされるからで、これは蓄積が原因である証拠です。git の対象範囲が広すぎる(巨大なディレクトリを抱えている)と、これがさらに悪化します。
現象2: ディスクは空いているのに「容量がない」と誤報される
ディスクに十分な空きがあるのに、Bash が temp filesystem ... is full (0MB free) / ENOSPC で止まる事例があります(#65915)。報告では実際には100GB以上の空きがあり、これは本当の容量不足ではなく、一時的な書き込みの失敗が「容量ゼロ」と誤って表示されたものです。これは Anthropic 側の問題で、利用者の側では回避策で凌ぎます。
順に試してください。どれもデータを壊さない安全な操作です。
claude --resume で直前のセッションに戻れます(会話の続きから再開)。> ~/out.txt でファイルに書き出してから読むと、ほぼ確実に回避できます(#65915 の報告で確認された回避策)。CLAUDE_CODE_TMPDIR を空きの多いディスク上のディレクトリに向けるのも有効です。.gitignore に入れ、Claude が抱える範囲を小さくします。claude doctor で環境の問題を点検します。原因の多くは「気づかないうちに溜まる」ことなので、予防が効きます。cc-safe-setup には、まさにこの種の蓄積と誤報に対応する hook が含まれています。
temp-file-cleanup — セッションの一時ファイルを掃除するtmp-output-size-guard — 一時領域に書き出す出力の大きさを見張るfalse-disk-full-guard — 実際の空きを確かめ、容量の誤報(現象2)と本当の不足を区別するsession-health-monitor — セッションの健康状態を監視し、肥大を早く知らせるunbounded-output-guard — 無限に出力するコマンドが一時領域を枯らす前に止めるnpx cc-safe-setup
一時ファイルとログの肥大を見張り、破壊的なコマンドや秘密の漏洩も止めます。885の hook 9,200以上のテスト
現象1(蓄積)は、掃除と予防の hook で十分に防げます。現象2(容量の誤報)は Anthropic 側のバグで、上の回避策(出力をファイルへ逃がす・再起動)で実用上は凌げますが、根本の修正は Anthropic 側の対応を待つ必要があります。確実に直せる部分と、回避でしのぐ部分を分けて扱ってください。
cc-safe-setup はオープンソースで、依存はなく、グローバルには何も入れません。すべての hook はローカルで動きます。GitHub でソースを見る。
さらに詳しく: 事故防止の実践ガイド(Zenn) · 全ツール