Skip to content

原文(日本語に翻訳)

ファイル全体の読み込みがトークン制限を超えた場合、ハードエラーを返す代わりに「PARTIAL view」の通知付きで最初のページを切り詰めて返すよう、Readツールを改善しました

原文(英語)

Improved the Read tool to return a truncated first page with a "PARTIAL view" notice instead of a hard error when a whole-file read exceeds the token limit

概要

Claude Code v2.1.145では、Readツール(ファイル読み込みツール)の動作が改善されました。これまでは大きなファイルを全体として読み込もうとした際にトークン制限を超えるとエラーが発生し処理が中断していましたが、今後は「PARTIAL view」(部分的なビュー)という通知付きで、ファイルの先頭ページ分のコンテンツが返されるようになりました。これにより、大きなファイルでも読み込み処理が完全に止まることなく、利用可能な情報を最大限に活用できます。

基本的な使い方

Readツールの動作変更はClaude側で自動的に処理されます。大きなファイルを参照すると、以下のような形式で部分的なコンテンツが返されます。

# 大きなファイルを読み込む際のReadツールの応答例

[PARTIAL view - file exceeds token limit. Showing first N lines of M total lines]

1  import os
2  import sys
3  # ... (ファイルの先頭から読み込める範囲のコンテンツ)
...
500 # (ここでカットオフ)

[Note: This is a partial view. Use offset parameter to read additional sections.]

実践例

大きなログファイルの部分読み込み

大規模なログファイルから先頭部分を取得して状況を把握できます。

# Claudeへのプロンプト例
「application.log ファイルを読んでエラーを探してください」

# 以前の動作(v2.1.144以前):
# エラー: "File exceeds token limit" → 処理中断

# 新しい動作(v2.1.145以降):
# [PARTIAL view - Showing first 500 lines of 50,000 total lines]
# 1 [2026-05-19 10:00:01] INFO: Application started
# 2 [2026-05-19 10:00:02] INFO: Database connected
# ...
# → Claudeが先頭部分を分析してエラーを探す

offsetパラメーターとの組み合わせ

PARTIALビューの通知後に、offsetを使って残りの部分を段階的に読み込めます。

# 最初の読み込み: 先頭部分
「large_file.py を読んでください」
→ [PARTIAL view: lines 1-500 of 10,000]

# 次のセクションを読み込む
「続きを読んでください(500行目以降)」
→ offsetパラメーターを使用して次のセクションを取得

# または特定の範囲を指定
「large_file.py の1000行目から1200行目を読んでください」

大きなデータファイルの分析ワークフロー

python
# 大きなCSVファイルを分析する際のClaude活用例

# Claudeへのプロンプト:
"""
data/large_dataset.csv を読んで、
データの構造と先頭のサンプルを確認してください。
"""

# Claudeの動作:
# 1. Readツールでファイルを読み込み
# 2. トークン制限超過 → PARTIAL viewを受け取る
# 3. 先頭部分(ヘッダー行と最初の数行)を分析
# 4. データ構造を理解して報告
# 5. 必要に応じてoffsetを使って追加データを読み込む

プロジェクト全体の大きなファイルへの対応

bash
# 大きなファイルを含むプロジェクトでの作業例

# 以前のワークフロー(エラーが発生していた場合):
# 1. 大きなファイルを読もうとする
# 2. トークン制限エラーで中断
# 3. ユーザーが手動でファイルを分割して再試行が必要だった

# 新しいワークフロー(v2.1.145以降):
# 1. 大きなファイルを読もうとする
# 2. PARTIAL viewで先頭部分を取得
# 3. 利用可能な情報で作業を継続
# 4. 必要に応じて追加部分をoffsetで読み込む

# 環境変数でトークン制限を調整することも可能
export CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS=10000

PARTIAL viewの検出と対応

python
# カスタムスクリプトでPARTIAL viewを検出する例(MCPサーバーなど)

def handle_read_result(content: str) -> dict:
    """Readツールの結果を解析してPARTIALビューを検出"""
    is_partial = "[PARTIAL view" in content
    
    if is_partial:
        # 部分的な読み込みであることを記録
        print("警告: ファイルが大きすぎるため部分的に読み込まれました")
        print("offsetパラメーターを使って続きを読み込むことができます")
        
        return {
            "content": content,
            "is_partial": True,
            "recommendation": "Use offset parameter to read additional sections"
        }
    
    return {
        "content": content,
        "is_partial": False
    }

注意点

  • 「PARTIAL view」はファイル全体を読み込もうとした際(offset指定なし、かつファイルがトークン制限を超えた場合)に表示されます
  • 表示される行数はトークン制限と内容によって異なります
  • 残りのコンテンツを読み込むには、offset パラメーターを使用して次のセクションを指定してください
  • CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS 環境変数でトークン制限を調整できます
  • PARTIAL viewはエラーではないため、Claudeは処理を中断せずに利用可能な情報で作業を継続します
  • バイナリファイルや非テキストファイルに対するこの動作は未定義の場合があります

関連情報