Claudeは、Anthropicが定義したテキストエディタツールを使用してテキストファイルを表示・編集し、コードやその他のテキストドキュメントのデバッグ、修正、改善を支援できます。これにより、Claudeはファイルに直接操作を行い、変更を提案するだけでなく、実践的な支援を提供できます。
| モデル | ツールバージョン |
|---|---|
| Claude 4.x モデル | text_editor_20250728 |
| Claude Sonnet 3.7 (非推奨) | text_editor_20250124 |
Claude 4モデル用のtext_editor_20250728ツールにはundo_editコマンドが含まれていません。この機能が必要な場合は、Claude Sonnet 3.7(非推奨)を使用する必要があります。
古いツールバージョンは、新しいモデルとの後方互換性が保証されていません。常にモデルバージョンに対応するツールバージョンを使用してください。
テキストエディタツールを使用する例:
テキストエディタツールは以下の方法で使用できます:
Claudeにテキストエディタツールとユーザープロンプトを提供する
Claudeがツールを使用してファイルやディレクトリを確認する
viewコマンドを使用してファイルの内容を確認したり、ディレクトリの内容を一覧表示したりしますviewコマンドを含むtool_useコンテンツブロックが含まれますviewコマンドを実行して結果を返す
max_charactersパラメータが指定されている場合、ファイルの内容をその長さに切り詰めますtool_resultコンテンツブロックを含む新しいuserメッセージで会話を続けることにより、結果をClaudeに返しますClaudeがツールを使用してファイルを編集する
str_replaceなどのコマンドを使用して変更を加えたり、insertを使用して特定の行番号にテキストを追加したりする場合があります。str_replaceコマンドを使用する場合、古いテキストとそれを置き換える新しいテキストを含む適切にフォーマットされたツール使用リクエストを構築します編集を実行して結果を返す
Claudeが分析と説明を提供する
テキストエディタツールは、ファイルの表示と編集のためのいくつかのコマンドをサポートしています:
viewコマンドにより、Claudeはファイルの内容を確認したり、ディレクトリの内容を一覧表示したりできます。ファイル全体または特定の行範囲を読み取ることができます。
パラメータ:
command: "view"である必要がありますpath: 表示するファイルまたはディレクトリのパスview_range(オプション): 表示する開始行番号と終了行番号を指定する2つの整数の配列。行番号は1から始まり、終了行に-1を指定するとファイルの末尾まで読み取ります。このパラメータはファイルの表示時にのみ適用され、ディレクトリには適用されません。str_replaceコマンドにより、Claudeはファイル内の特定の文字列を新しい文字列に置き換えることができます。これは正確な編集を行うために使用されます。
パラメータ:
command: "str_replace"である必要がありますpath: 編集するファイルのパスold_str: 置き換えるテキスト(空白やインデントを含め、正確に一致する必要があります)new_str: 古いテキストの代わりに挿入する新しいテキストcreateコマンドにより、Claudeは指定された内容で新しいファイルを作成できます。
パラメータ:
command: "create"である必要がありますpath: 新しいファイルを作成するパスfile_text: 新しいファイルに書き込む内容insertコマンドにより、Claudeはファイル内の特定の位置にテキストを挿入できます。
パラメータ:
command: "insert"である必要がありますpath: 編集するファイルのパスinsert_line: テキストを挿入する行番号(その行の後に挿入。ファイルの先頭に挿入する場合は0)insert_text: 挿入するテキストundo_editコマンドにより、Claudeはファイルに対して行った最後の編集を元に戻すことができます。
このコマンドはClaude Sonnet 3.7(非推奨)でのみ使用可能です。text_editor_20250728を使用するClaude 4モデルではサポートされていません。
パラメータ:
command: "undo_edit"である必要がありますpath: 最後の編集を元に戻すファイルのパステキストエディタツールはスキーマレスツールとして実装されています。このツールを使用する際、他のツールのように入力スキーマを提供する必要はありません。スキーマはClaudeのモデルに組み込まれており、変更することはできません。
ツールタイプはモデルバージョンによって異なります:
type: "text_editor_20250728"type: "text_editor_20250124"エディタ実装の初期化
ファイルの読み取り、書き込み、変更などのファイル操作を処理するヘルパー関数を作成します。ミスからの復旧のためにバックアップ機能の実装も検討してください。
エディタツール呼び出しの処理
コマンドタイプに基づいてClaudeからのツール呼び出しを処理する関数を作成します:
def handle_editor_tool(tool_call, model_version):
input_params = tool_call.input
command = input_params.get('command', '')
file_path = input_params.get('path', '')
if command == 'view':
# ファイルの内容を読み取って返す
pass
elif command == 'str_replace':
# ファイル内のテキストを置換する
pass
elif command == 'create':
# 新しいファイルを作成する
pass
elif command == 'insert':
# 指定位置にテキストを挿入する
pass
elif command == 'undo_edit':
# Claude 4モデルかどうかを確認する
if 'str_replace_based_edit_tool' in model_version:
return {"error": "undo_edit command is not supported in Claude 4"}
# Claude 3.7の場合はバックアップから復元する
passセキュリティ対策の実装
バリデーションとセキュリティチェックを追加します:
Claudeのレスポンスの処理
Claudeのレスポンスからツール呼び出しを抽出して処理します:
# Claudeのレスポンス内のツール使用を処理する
for content in response.content:
if content.type == "tool_use":
# コマンドに基づいてツールを実行する
result = handle_editor_tool(content)
# 結果をClaudeに返す
tool_result = {
"type": "tool_result",
"tool_use_id": content.id,
"content": result
}テキストエディタツールを実装する際は、以下の点に注意してください:
テキストエディタツールを使用する際、さまざまなエラーが発生する可能性があります。以下にその処理方法のガイダンスを示します:
The text editor tool uses the same pricing structure as other tools used with Claude. It follows the standard input and output token pricing based on the Claude model you're using.
In addition to the base tokens, the following additional input tokens are needed for the text editor tool:
| Tool | Additional input tokens |
|---|---|
text_editor_20250429 (Claude 4.x) | 700 tokens |
text_editor_20250124 (Claude Sonnet 3.7 (deprecated)) | 700 tokens |
ツールの料金に関する詳細情報については、ツール使用の料金を参照してください。
テキストエディタツールは他のClaudeツールと併用できます。ツールを組み合わせる際は、以下を確認してください:
| 日付 | バージョン | 変更内容 |
|---|---|---|
| 2025年7月28日 | text_editor_20250728 | いくつかの問題を修正し、オプションのmax_charactersパラメータを追加した更新版テキストエディタツールのリリース。それ以外はtext_editor_20250429と同一です。 |
| 2025年4月29日 | text_editor_20250429 | Claude 4向けテキストエディタツールのリリース。このバージョンではundo_editコマンドが削除されましたが、その他のすべての機能は維持されています。ツール名はstr_replaceベースのアーキテクチャを反映するように更新されました。 |
| 2025年3月13日 | text_editor_20250124 | スタンドアロンのテキストエディタツールドキュメントの導入。このバージョンはClaude Sonnet 3.7向けに最適化されていますが、前バージョンと同一の機能を持っています。 |
| 2024年10月22日 | text_editor_20241022 | Claude Sonnet 3.5(廃止済み)でのテキストエディタツールの初回リリース。view、create、str_replace、insert、undo_editコマンドによるファイルの表示、作成、編集機能を提供します。 |
テキストエディタツールをより便利で強力な方法で使用するためのアイデアをいくつか紹介します:
テキストエディタツールを使用してアプリケーションを構築する中で、Claudeの機能を活用して開発ワークフローと生産性を向上させる方法を見られることを楽しみにしています。
Was this page helpful?