テキストエディタツール
Claudeがテキストファイルを表示・編集するためのAnthropic定義のテキストエディタツールの使用方法
ClaudeはAnthropic定義のテキストエディタツールを使用してテキストファイルを表示・変更し、コードやその他のテキストドキュメントのデバッグ、修正、改善を支援できます。これによりClaudeはファイルと直接やり取りし、単に変更を提案するだけでなく実践的な支援を提供できます。
テキストエディタツールを使用する前に
互換性のあるモデルを使用する
Anthropicのテキストエディタツールは複数のClaudeモデルで利用できます:
- Claude Sonnet 4、Opus 4、Opus 4.1:
text_editor_20250728
- Claude Sonnet 3.7:
text_editor_20250124
- Claude Sonnet 3.5 (非推奨):
text_editor_20241022
Claude Sonnet 3.5 (非推奨)では、テキストエディタツールを使用する際にcomputer-use-2024-10-22
ベータヘッダーが必要です。
テキストエディタツールはClaude 4モデルとClaude Sonnet 3.7で一般利用可能です。
Claude 4モデル用のtext_editor_20250728
ツールにはundo_edit
コマンドが含まれていません。この機能が必要な場合は、それぞれのツールバージョンでClaude Sonnet 3.7またはSonnet 3.5を使用する必要があります。
ユースケースの適合性を評価する
テキストエディタツールを使用する場合の例:
- コードデバッグ: Claudeにコードのバグを特定・修正させる(構文エラーからロジックの問題まで)
- コードリファクタリング: Claudeに対象を絞った編集を通じてコード構造、可読性、パフォーマンスを改善させる
- ドキュメント生成: Claudeにコードベースにdocstring、コメント、READMEファイルを追加するよう依頼する
- テスト作成: 実装の理解に基づいてClaudeにコードのユニットテストを作成させる
テキストエディタツールを使用する
Messages APIを使用してテキストエディタツール(str_replace_based_edit_tool
という名前)をClaudeに提供します。
大きなファイルを表示する際の切り捨てを制御するために、オプションでmax_characters
パラメータを指定できます。
max_characters
はtext_editor_20250728
以降のバージョンのテキストエディタツールでのみ互換性があります。
Messages APIを使用してテキストエディタツール(str_replace_based_edit_tool
という名前)をClaudeに提供します。
大きなファイルを表示する際の切り捨てを制御するために、オプションでmax_characters
パラメータを指定できます。
max_characters
はtext_editor_20250728
以降のバージョンのテキストエディタツールでのみ互換性があります。
Messages APIを使用してテキストエディタツール(str_replace_editor
という名前)をClaudeに提供します:
Messages APIを使用してテキストエディタツール(str_replace_editor
という名前)をClaudeに提供します:
テキストエディタツールは以下の方法で使用できます:
Claudeにテキストエディタツールとユーザープロンプトを提供する
- APIリクエストにテキストエディタツールを含める
- 「コードの構文エラーを修正できますか?」など、ファイルの検査や変更が必要な可能性があるユーザープロンプトを提供する
Claudeがツールを使用してファイルやディレクトリを検査する
- Claudeは何を確認する必要があるかを評価し、
view
コマンドを使用してファイル内容を検査したりディレクトリ内容をリストしたりする - APIレスポンスには
view
コマンドを含むtool_use
コンテンツブロックが含まれる
viewコマンドを実行して結果を返す
- Claudeのツール使用リクエストからファイルまたはディレクトリパスを抽出する
- ファイルの内容を読み取るかディレクトリの内容をリストする
- ツール設定で
max_characters
パラメータが指定されている場合、ファイル内容をその長さに切り詰める tool_result
コンテンツブロックを含む新しいuser
メッセージで会話を続けることで結果をClaudeに返す
Claudeがツールを使用してファイルを変更する
- ファイルやディレクトリを検査した後、Claudeは
str_replace
などのコマンドを使用して変更を行ったり、insert
を使用して特定の行番号にテキストを追加したりする場合がある - Claudeが
str_replace
コマンドを使用する場合、Claudeは古いテキストと置き換える新しいテキストを含む適切にフォーマットされたツール使用リクエストを構築する
編集を実行して結果を返す
- Claudeのツール使用リクエストからファイルパス、古いテキスト、新しいテキストを抽出する
- ファイル内でテキスト置換を実行する
- 結果をClaudeに返す
Claudeが分析と説明を提供する
- ファイルを検査し、場合によっては編集した後、Claudeは発見したことと行った変更の完全な説明を提供する
テキストエディタツールコマンド
テキストエディタツールは、ファイルの表示と変更のためのいくつかのコマンドをサポートしています:
view
view
コマンドを使用すると、Claudeはファイルの内容を検査したり、ディレクトリの内容をリストしたりできます。ファイル全体または特定の行範囲を読み取ることができます。
パラメータ:
command
: “view”である必要がありますpath
: 表示するファイルまたはディレクトリのパスview_range
(オプション): 表示する開始行番号と終了行番号を指定する2つの整数の配列。行番号は1から始まり、終了行の-1はファイルの最後まで読み取ることを意味します。このパラメータはファイルを表示する場合にのみ適用され、ディレクトリには適用されません。
str_replace
str_replace
コマンドを使用すると、Claudeはファイル内の特定の文字列を新しい文字列に置き換えることができます。これは正確な編集を行うために使用されます。
パラメータ:
command
: “str_replace”である必要がありますpath
: 変更するファイルのパスold_str
: 置き換えるテキスト(空白とインデントを含めて正確に一致する必要があります)new_str
: 古いテキストの代わりに挿入する新しいテキスト
create
create
コマンドを使用すると、Claudeは指定された内容で新しいファイルを作成できます。
パラメータ:
command
: “create”である必要がありますpath
: 新しいファイルを作成する場所のパスfile_text
: 新しいファイルに書き込む内容
insert
insert
コマンドを使用すると、Claudeはファイル内の特定の場所にテキストを挿入できます。
パラメータ:
command
: “insert”である必要がありますpath
: 変更するファイルのパスinsert_line
: テキストを挿入する行番号の後(ファイルの先頭の場合は0)new_str
: 挿入するテキスト
undo_edit
undo_edit
コマンドを使用すると、Claudeは最後にファイルに行った編集を元に戻すことができます。
このコマンドはClaude Sonnet 3.7とClaude Sonnet 3.5(非推奨)でのみ利用可能です。text_editor_20250728
を使用するClaude 4モデルではサポートされていません。
パラメータ:
command
: “undo_edit”である必要がありますpath
: 最後の編集を元に戻すファイルのパス
例:テキストエディタツールで構文エラーを修正する
この例では、Claude 4モデルがテキストエディタツールを使用してPythonファイルの構文エラーを修正する方法を示します。
まず、アプリケーションはClaudeにテキストエディタツールと構文エラーを修正するプロンプトを提供します:
Claudeはまずテキストエディタツールを使用してファイルを表示します:
その後、アプリケーションはファイルを読み取り、その内容をClaudeに返す必要があります:
行番号
上記の例では、view
ツールの結果には各行に行番号が前置されたファイル内容が含まれています(例:「1: def is_prime(n):」)。行番号は必須ではありませんが、view_range
パラメータを使用してファイルの特定のセクションを検査したり、insert_line
パラメータを使用して正確な場所にコンテンツを追加したりするために不可欠です。
Claudeは構文エラーを特定し、str_replace
コマンドを使用して修正します:
その後、アプリケーションは編集を行い、結果を返す必要があります:
最後に、Claudeは修正の完全な説明を提供します:
この例では、Claude 4モデルがテキストエディタツールを使用してPythonファイルの構文エラーを修正する方法を示します。
まず、アプリケーションはClaudeにテキストエディタツールと構文エラーを修正するプロンプトを提供します:
Claudeはまずテキストエディタツールを使用してファイルを表示します:
その後、アプリケーションはファイルを読み取り、その内容をClaudeに返す必要があります:
行番号
上記の例では、view
ツールの結果には各行に行番号が前置されたファイル内容が含まれています(例:「1: def is_prime(n):」)。行番号は必須ではありませんが、view_range
パラメータを使用してファイルの特定のセクションを検査したり、insert_line
パラメータを使用して正確な場所にコンテンツを追加したりするために不可欠です。
Claudeは構文エラーを特定し、str_replace
コマンドを使用して修正します:
その後、アプリケーションは編集を行い、結果を返す必要があります:
最後に、Claudeは修正の完全な説明を提供します:
この例では、Claude Sonnet 3.7がテキストエディタツールを使用してPythonファイルの構文エラーを修正する方法を示します。
まず、アプリケーションはClaudeにテキストエディタツールと構文エラーを修正するプロンプトを提供します:
Claude Sonnet 3.7の例は上記のClaude 4の例と同じ形式に従いますが、text_editor_20250124
ツールタイプとstr_replace_editor
名を使用します。
テキストエディタツールを実装する
テキストエディタツールはスキーマレスツールとして実装されています。このツールを使用する際、他のツールのように入力スキーマを提供する必要はありません。スキーマはClaudeのモデルに組み込まれており、変更できません。
ツールタイプはモデルバージョンによって異なります:
- Claude 4:
type: "text_editor_20250728"
- Claude Sonnet 3.7:
type: "text_editor_20250124"
- Claude Sonnet 3.5 (非推奨):
type: "text_editor_20241022"
エディタ実装を初期化する
ファイルの読み取り、書き込み、変更などのファイル操作を処理するヘルパー関数を作成します。ミスから回復するためのバックアップ機能の実装を検討してください。
エディタツール呼び出しを処理する
コマンドタイプに基づいてClaudeからのツール呼び出しを処理する関数を作成します:
セキュリティ対策を実装する
検証とセキュリティチェックを追加します:
- ディレクトリトラバーサルを防ぐためにファイルパスを検証する
- 変更前にバックアップを作成する
- エラーを適切に処理する
- 権限チェックを実装する
Claudeのレスポンスを処理する
Claudeのレスポンスからツール呼び出しを抽出して処理します:
テキストエディタツールを実装する際は、以下の点に注意してください:
- セキュリティ: ツールはローカルファイルシステムにアクセスできるため、適切なセキュリティ対策を実装してください。
- バックアップ: 重要なファイルの編集を許可する前に、常にバックアップを作成してください。
- 検証: 意図しない変更を防ぐため、すべての入力を検証してください。
- 一意のマッチング: 意図しない編集を避けるため、置換が正確に1箇所にマッチすることを確認してください。
エラーを処理する
テキストエディタツールを使用する際、さまざまなエラーが発生する可能性があります。以下はそれらの処理方法のガイダンスです:
実装のベストプラクティスに従う
価格とトークン使用量
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) | 700 tokens |
text_editor_20250124 (Claude Sonnet 3.7) | 700 tokens |
text_editor_20241022 (Claude Sonnet 3.5 (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 コマンドを通じてファイルの表示、作成、編集機能を提供します。 |
次のステップ
テキストエディタツールをより便利で強力な方法で使用するためのアイデアをいくつか紹介します:
- 開発ワークフローと統合する: テキストエディタツールを開発ツールやIDEに組み込む
- コードレビューシステムを作成する: Claudeにコードをレビューして改善してもらう
- デバッグアシスタントを構築する: Claudeがコードの問題の診断と修正を支援するシステムを作成する
- ファイル形式変換を実装する: Claudeにファイルを別の形式に変換してもらう
- ドキュメント作成を自動化する: Claudeが自動的にコードを文書化するワークフローを設定する
テキストエディタツールでアプリケーションを構築する際、Claudeの機能を活用して開発ワークフローと生産性を向上させる方法を見るのを楽しみにしています。