Skip to content

PDFエラーによるセッションロック問題の修正

原文(日本語に翻訳)

大きすぎるPDFエラーがセッションを完全にロックする問題を修正しました。これにより、新しい会話を開始する必要がなくなりました。

原文(英語)

Fixed PDF too large errors permanently locking up sessions, requiring users to start a new conversation

概要

Claude Codeで大きなPDFファイルを読み込もうとした際に発生する「PDF too large」エラーが、セッション全体をロックしてしまう重大なバグが修正されました。以前は、一度このエラーが発生すると、その後のすべてのコマンドが無視され、セッションを再起動する必要がありましたが、この問題が解消されました。

基本的な使い方

修正後は、PDFエラーが発生してもセッションを続行できます:

bash
# Claude Codeでセッションを開始
claude

# 大きなPDFファイルを読み込もうとする
> "large-document.pdfを読み込んで要約して"

# エラーメッセージが表示される
# "PDF too large. The file exceeds 100 pages or 20MB limit."

# 以前:セッションがロックされ、すべての入力が無視される状態に
# 修正後:エラー後も通常のコマンドを実行可能

> "別のタスクを実行して" # ← 正常に動作する

実践例

複数PDFを扱う場合の安全な運用

bash
# プロジェクトで複数のドキュメントを処理する
claude

# 1つ目のPDF(サイズ不明)を試す
> "technical-spec.pdfを読み込んで"
# → エラー: PDF too large (120ページ)

# 修正後:セッションは継続可能
> "では、summary.pdfを代わりに読み込んで"
# → 正常に動作

# 別のタスクも問題なく実行できる
> "README.mdを更新して"
# → 正常に動作

PDFエラー後のリカバリー手順

bash
# 大きなPDFでエラーが発生した場合
claude

> "annual-report-2025.pdfを分析して"
# エラー: PDF too large (150ページ)

# 対処方法1:PDFを分割して再試行
# (別ツールで50ページずつに分割)
> "annual-report-2025-part1.pdfを読み込んで"
# → 成功

# 対処方法2:特定ページのみを指定
> "annual-report-2025.pdf の1-20ページを読み込んで"
# → 成功(Read toolのpagesパラメータ使用)

# 対処方法3:別のアプローチに切り替え
> "annual-report-2025.pdfをテキスト抽出してtxtファイルで保存して"
# → 外部ツールで処理後、テキストファイルを読み込み

エラー発生時の継続作業パターン

bash
# 作業中にPDFエラーが発生
claude

> "プロジェクトの仕様書.pdfをレビューして、その後コードを修正して"

# PDFが大きすぎる場合
# エラー: PDF too large

# 修正前:セッション全体が使用不可に → 再起動が必要
# 修正後:後続のタスクを継続可能

> "PDFは後で確認するので、先にコードの修正を進めて"
# → 正常に動作、作業を継続できる

注意点

  • PDFサイズ制限: Claude Codeでは、PDFファイルは100ページまたは20MBが上限です。この制限は変わりませんが、エラー発生時の挙動が改善されました。

  • エラーメッセージの改善: バージョン2.1.31では、エラーメッセージに実際の制限値(100ページ、20MB)が表示されるようになりました。

  • ページ指定の活用: 大きなPDFを扱う場合は、Read toolのpagesパラメータを使用して特定のページ範囲のみを読み込むことができます:

    bash
    > "large-document.pdf の1-10ページを読み込んで"
  • セッション復旧: 修正前のバージョンでこの問題が発生した場合は、claude --continue で新しいセッションを開始してください。

修正前の問題点(参考)

2.1.31以前のバージョンでは、以下のような深刻な問題がありました:

  1. 無限ループ状態: PDF too largeエラー後、すべての入力に対して同じエラーメッセージが返される
  2. セッションの完全ロック: Ctrl+Dやescキーでも復旧できず、強制終了が必要
  3. コンテキストの喪失: セッションを再起動すると、それまでの作業履歴が失われる
  4. 生産性の低下: エラー発生のたびに新しいセッションを開始する必要があり、作業が中断される

これらの問題が修正され、より安定した環境で作業できるようになりました。

関連情報