Write(ライト)

ツール
Write
ライト
指定パスに新規ファイルを書き出すツール。既存ファイルがある場合は上書きする。

Claude Codeのツール仕様を初めて確認する人向け(Read/Edit との違いを知りたい人歓迎)

新規ファイル作成、または既存ファイルの全面書き換え。部分修正は Edit / MultiEdit を使う。

指定パスに新規ファイルを書き出すツール。既存ファイルがあった場合は上書きする。

初心者がよく勘違いするのは「Write を使えばコードを直せる」と思うところ。Writeは全面書き換えなので、部分修正には向かない。1行直したいだけなら Edit、複数箇所をまとめて直すなら MultiEdit、ファイルを丸ごと作る・全置換するなら Write、と使い分ける。

噛み砕くと

ノート1ページに何か書くとして、Writeは「真っ白なページに最初から書き直す」、Editは「鉛筆で1行だけ直す」、MultiEditは「3箇所を一気に直す」という違い。新しいページを作るならWrite、既存ページの一部だけ直すならEdit。

使い分けを間違えると、Editで済むのにWriteで全消ししてしまう事故が起きる。「全部書き直すか?」「一部だけ直すか?」を毎回確認するのが安全運転。

具体的に何ができる?

  • 新規ファイルを指定パスに作成する
  • 既存ファイルがある場合は内容を完全に置き換える
  • 絶対パス(=ルートからの完全な住所)での指定が必須
  • 既存ファイル上書き時は事前に Read 必須(=意図しない上書きを防ぐガード)

使いどころ3シナリオ

シナリオ1: 新規ファイルを作りたい

「README.md(=プロジェクトの説明文ファイル)を新規作成して」「scripts/deploy.sh(=デプロイ用シェルスクリプト)を書いて」「.env.example(=環境変数のサンプル設定)を作って」など、空から作るタイプの作業。Editは事前にファイルが存在している必要があるので使えない。Write一択。

シナリオ2: ファイルを丸ごと書き換える

古い設計のコードを別アーキテクチャ(=全体の作り)で全面書き直す時。1行ずつEditで直すより、Writeで全置換する方が早い。事前にRead→構造を理解した上でWrite。

シナリオ3: 設定ファイルの雛形を量産する

「全リポジトリに同じ .github/workflows/ci.yml(=GitHub Actions の自動テスト設定)を入れて」みたいな展開作業。1ファイルだけWriteを書いておけば、AIに同じ内容を別ディレクトリに横展開させられる。

初心者が踏みやすい落とし穴

  • 既存ファイルを Read せずに Write すると消える。ガードで止まるはずだが、念のため Write 前は Read で内容確認する習慣をつける
  • 部分修正に Write を使うとファイル全体を書き直すことになる。1行直したいなら Edit、複数箇所なら MultiEdit が正解
  • 絶対パスでないと動かない./file.txt のような相対パスは受け付けない
  • ディレクトリは作ってくれない/path/to/new/dir/file.md を Write する前に、親ディレクトリの存在を確認する(Bashで mkdir -p しておく)

書き方

Write(file_path="<absolute-path>", content="<text>")

やってみるとこうなる

入力

Write(file_path="/path/to/new.md", content="# Hello")

出力例

指定パスに新規ファイルが作成される。既存ファイル上書き時は事前にReadが必要。

このページに出てきた言葉

パス
ファイルの場所を示す文字列の住所。
絶対パス
ルート <code>/</code> から始まる完全な住所。Claude Codeのツールは絶対パス必須が多い。
README.md
プロジェクトの説明文を書くMarkdownファイル。GitHub等で最初に表示される。
シェルスクリプト
シェル(ターミナル)で実行するコマンドを並べたファイル。<code>.sh</code>。
環境変数
OS側に保管される設定値。APIキー等の秘密情報を保管する用途で使う。
GitHub Actions
GitHub上で自動でテスト実行・デプロイ等を行うCI/CD(=自動化パイプライン)の仕組み。

関連項目

公式ドキュメント

https://code.claude.com/docs/en/tools-reference

-

← 戻る