import { BlogInternalLink } from "../../app/components/blog/blog-internal-link"; import { BlogLessonLink } from "../../app/components/blog/blog-lesson-link"; import { BlogCtaBanner } from "../../app/components/blog/blog-cta-banner";
Claude Code の使い方完全ガイド|基本操作・コマンド・ベストプラクティスまで
「Claude Code をインストールしたけれど、何から始めればいいかわからない」「もっと効率よく使いこなしたい」「コマンドやベストプラクティスをまとめて知りたい」——そんな悩みを一気に解消するため、本記事は Claude Code の使い方の決定版 として、基本操作からコマンドリファレンス、効果的なプロンプト術、CLAUDE.md による設定、CLI・パイプ活用、コスト最適化、トラブル対策までを一本にまとめました。
Claude Code は Anthropic が開発したターミナルベースの AI コーディングアシスタントです。自然言語で指示を出すだけでコードの生成・編集・デバッグ・Git 操作まで、開発に必要なあらゆる作業を自動で実行できます。しかし、その力を最大限に引き出すには「正しい使い方」と「実践のコツ」を知っておくことが重要です。
この記事を読み終えるころには、Claude Code を日常の開発ワークフローに自信を持って組み込み、チーム全体でも効率化できる状態になっているはずです。
Claude Code とは——30 秒で理解する
Claude Code は、Anthropic の Claude モデルをターミナル上で直接利用できる エージェント型コーディングツール です。一般的な AI チャットボットとは違い、開発作業そのものを実行できるのが最大の特徴です。
- ファイルシステムに直接アクセスできる — プロジェクト内のファイルを読み書きし、実際にコードを変更する
- ターミナルコマンドを実行できる — テスト実行、パッケージインストール、Git 操作などをそのまま行う
- プロジェクト全体を理解する — コードベース全体の構造を把握し、複数ファイルにまたがる変更も一括で処理する
- 対話的に修正できる — 結果を確認しながら「ここを直して」と追加指示が出せる
- GUI 不要・どのエディタでも使える — ターミナルがあれば SSH 先のサーバーや Docker コンテナでも動作する
つまり Claude Code は、ターミナルに常駐する「何でもできるペアプログラマー」です。IDE に依存しないため、Vim / Emacs / VSCode / JetBrains 系など、どのエディタを使っていても活用できます。
Claude Code の全体像や導入方法について詳しく知りたい方は、以下の記事も参考にしてください。
インストールから初回起動まで
インストール
Claude Code は npm パッケージとして配布されています。Node.js 18 以上の環境でグローバルインストールします。
npm install -g @anthropic-ai/claude-codeインストール手順を OS 別に詳しく知りたい方は次の記事を参照してください。
初回起動
ターミナルを開き、作業したいプロジェクトのルートディレクトリに移動して claude を実行します。
cd ~/projects/my-app
claudeこれだけで対話セッションが始まります。プロンプトが表示され、自然言語で指示を入力できる状態になります。起動時のカレントディレクトリが作業ディレクトリとして認識される ため、必ずプロジェクトのルートで起動してください。
初回起動時には認証が求められます。Anthropic Console のアカウント、または Claude Pro / Max サブスクリプションでログインしましょう。
起動直後に Claude Code は自動的にプロジェクトの構造を把握しようとします。フレームワークの種類、設定ファイル、ディレクトリ構成などを読み取った上で応答を始めるため、開始してすぐに的確な提案が得られます。
CLAUDE.md でプロジェクト固有のコンテキストを与える
プロジェクトのルートに CLAUDE.md を置くと、Claude Code はセッション開始時に自動的に読み込みます。/init コマンドでひな形を自動生成できます。
/init生成された CLAUDE.md をベースに、プロジェクト固有のルールやコーディング規約を書き加えるのが最も効率的です。詳細は本記事後半の「CLAUDE.md で Claude Code をカスタマイズする」で解説します。
基本的な使い方——5 ステップ
Claude Code の操作は非常にシンプルです。次の 5 ステップを押さえれば、すぐに日常の開発に取り入れられます。
ステップ 1. 起動する
プロジェクトルートで claude を実行するだけです。CLAUDE.md があれば自動で読み込まれ、プロジェクト固有のコンテキストが反映された状態で対話が始まります。
ステップ 2. プロジェクトを開く
Claude Code は起動時のカレントディレクトリをプロジェクトとして認識します。複数のフォルダにまたがって作業したい場合は --add-dir フラグで追加ディレクトリを指定できます。
claude --add-dir ../shared-libステップ 3. 指示を出す
プロンプトに自然言語で指示を入力します。日本語でも英語でも問題ありません。
ユーザー登録フォームのバリデーションを追加して。
メールアドレスの形式チェックとパスワードの最低 8 文字チェックを入れたい。Claude Code は指示を受け取ると、関連ファイルの特定 → コードの理解 → 変更計画の立案 → コードの生成・編集を自動的に実行します。変更が行われる前にはプレビュー(差分)が表示される ため、予期しない変更が適用される心配はありません。
ステップ 4. 結果を確認する
Claude Code が変更を提案すると、差分(diff)が表示されます。
- 変更されたファイル — 意図したファイルが変更されているか
- 変更内容 — 追加・削除・修正された行が期待通りか
- 副作用 — 関係のないファイルが変更されていないか
変更を承認すると、実際にファイルに書き込まれます。承認前であれば変更はまだ適用されていないため、安心して内容を精査できます。動作確認も直接依頼できます。
変更したバリデーションのテストを実行してステップ 5. 修正を依頼する
結果に満足できない場合は、そのまま追加の指示を出します。Claude Code は前のやり取りのコンテキストを保持しているため、「さっきの変更」について自然に会話を続けられます。
パスワードのバリデーションに大文字・小文字の混在チェックも追加してエラーメッセージを日本語に変えてバリデーションのロジックをカスタムフックに切り出して一度に完璧な指示を出す必要はありません。 「まず大まかに作って、細部を調整する」というアプローチが最も効率的です。
日常使いのコマンド・ショートカット一覧
Claude Code にはスラッシュコマンドとキーボードショートカットが多数用意されています。これらを使いこなすことで、操作効率が格段に上がります。
スラッシュコマンド
| コマンド | 機能 |
|---|---|
/init | CLAUDE.md を自動生成する |
/compact | 会話履歴を要約してコンテキストを圧縮する |
/cost | 現在のセッションのトークン消費量とコストを表示する |
/clear | 会話履歴をクリアして新しいセッションを開始する |
/help | 使い方のヘルプを表示する |
/model | 使用するモデルを切り替える(Sonnet / Opus など) |
/permissions | パーミッション設定を確認・変更する |
/resume | 過去の会話を選択して再開する |
/continue | 直前の会話を再開する |
特に重要なのが /compact と /cost です。/compact は長い会話の要点を保持したまま履歴を圧縮し、コンテキストウィンドウの空きを取り戻します。/cost を定期的に確認する習慣をつけると、API 従量課金でも安心して使えます。
スラッシュコマンドの全リストと詳しい使い方は次の記事にまとめています。
キーボードショートカット
| ショートカット | 機能 |
|---|---|
Escape | 現在の生成を中断する |
Ctrl+C | 入力中のプロンプトをキャンセル(2 回で終了) |
Up / Down | 過去のプロンプト履歴をナビゲートする |
Tab | 入力の補完を行う |
==生成の中断(Escape)は覚えておくと便利== です。意図と違う方向に進んでいると感じたらすぐに中断して、指示を修正できます。中断しても会話コンテキストは保持されるため、やり直しのコストは最小限です。
CLI フラグ一覧
claude コマンドには多くのフラグがあります。よく使うものは次の通りです。
| フラグ | 短縮形 | 説明 |
|---|---|---|
--print | -p | 非対話モードで実行。結果を出力して終了 |
--model | 使用するモデルを指定(例: claude-sonnet-4-20250514) | |
--output-format | 出力形式を指定(text / json / stream-json) | |
--verbose | 詳細なログを出力 | |
--max-turns | エージェントのターン数上限を設定 | |
--continue | -c | 直前の会話を再開 |
--resume | -r | 過去の会話を選択して再開 |
--allowedTools | 使用を許可するツールを指定 | |
--disallowedTools | 使用を禁止するツールを指定 | |
--permission-mode | パーミッションモードを指定(default / plan / bypasstool) | |
--add-dir | 追加の作業ディレクトリを指定 |
非対話モード(-p フラグ)の活用
-p(--print)フラグを使うと、対話セッションを開始せずに単発のタスクを実行できます。シェルスクリプトや CI/CD への組み込みに最適です。
claude -p "package.json の依存関係を確認して、セキュリティ上の問題がないかチェックして"出力はテキスト形式がデフォルトですが、JSON 形式やストリーミング JSON 形式にも切り替えられます。
# JSON 形式で出力
claude -p "このプロジェクトの構造を説明して" --output-format json
# リアルタイム出力(ストリーミング JSON)
claude -p "テストを実行して結果を報告して" --output-format stream-jsonパイプとリダイレクトで他のツールと連携
Claude Code は Unix のパイプとリダイレクトを自然に活用できます。これにより、他のコマンドラインツールとシームレスに連携できます。
標準入力からデータを渡す
# ファイルの内容を渡してレビューを依頼
cat src/utils.ts | claude -p "このコードのバグを見つけて"
# Git diff を渡してレビュー
git diff main | claude -p "この差分をレビューして、問題があれば指摘して"
# エラーログの原因分析
cat error.log | claude -p "このエラーログの原因を分析して"結果をファイルに保存する
# レビュー結果を Markdown ファイルに保存
git diff main | claude -p "コードレビューを実施して" > review.md
# 設計ドキュメントの自動生成
claude -p "src/ ディレクトリのアーキテクチャドキュメントを生成して" > architecture.md他コマンドとの連携例
# テスト失敗の原因を自動分析
npm test 2>&1 | claude -p "失敗しているテストの原因と修正方法を教えて"
# TypeScript の型エラーを分析
npx tsc --noEmit 2>&1 | claude -p "これらの型エラーを修正する方法を教えて"
# ESLint の警告をまとめて分析
npx eslint src/ 2>&1 | claude -p "これらの ESLint エラーの修正方針をまとめて"CSV の分析・変換
CSV ファイルの分析や加工も claude -p とパイプの組み合わせで一発実行できます。
# CSV を分析して月別の売上推移をまとめる
cat sales_data.csv | claude -p "この CSV データを分析して、月別の売上推移をまとめて"
# CSV を JSON に変換するスクリプトを生成
claude -p "data.csv を読み込んで JSON 形式に変換する Python スクリプトを作って。文字コードは Shift_JIS 対応にして"シェルスクリプトとの組み合わせ
複数ファイルへのバッチ処理や定期実行も簡単です。
#!/bin/bash
# 全コンポーネントの JSDoc を自動生成
for file in src/components/*.tsx; do
echo "Processing: $file"
claude -p "このファイルに JSDoc コメントを追加して: $(cat "$file")" \
--output-format json \
--max-turns 3
doneGitHub Actions などの CI/CD と組み合わせれば、PR 自動レビューやドキュメント自動生成も実現できます。詳しくは次の記事を参照してください。
効果的なプロンプト術
Claude Code の出力品質は プロンプトの質に大きく左右されます。ここでは、精度の高い回答を引き出すための実践的なコツを紹介します。
1. 具体的に書く
曖昧な指示は曖昧な結果を生みます。ファイル名・関数名・現在の動作・期待する動作の 4 つを明示するのが鉄則です。
ログイン機能を作ってReact Router のアクションを使ったログインフォームを作って。
- メールアドレスとパスワードのフィールド
- バリデーション: メール形式チェック、パスワード 8 文字以上
- エラー時はフォーム上にエラーメッセージを表示
- 成功時は /dashboard にリダイレクト
- API エンドポイントは POST /api/v1/auth/signin具体的であればあるほど、Claude Code は正確な実装を生成します。「何を」「どこに」「どのように」を明確にすることが鍵です。
2. コンテキストを与える
Claude Code はプロジェクト全体を読めますが、あなたの意図までは読めません。背景情報を添えると、より適切な実装が得られます。
このプロジェクトでは FormInput コンポーネント(@blueai/ui)を
標準のフォーム部品として使っている。
新しいフォームを作るときもこのコンポーネントを使って。
users テーブルにステータスカラムを追加したい。
既存ユーザーはすべて active にして、
退会済みユーザーは inactive で管理する想定。既存のパターンを示すことで、プロジェクト全体の一貫性を保った実装が得られます。
3. 段階的に指示する
大きなタスクを一度に依頼すると、Claude Code が途中で方向を見失ったり、コンテキストウィンドウを使い切ったりすることがあります。タスクを分割して段階的に進めるのがベストプラクティスです。
まず app/lib/api.ts の fetchUsers 関数を調査して、
現在のエラーハンドリングの実装を教えて調査結果を確認してから、次のステップに進みます。
では、fetchUsers にリトライロジックを追加して。
最大 3 回、指数バックオフで再試行する実装にして「まず調査 → 次に実装」のように順序を明示することで、Claude Code はステップごとに集中して作業できます。
4. 制約を明示する
「既存のコードスタイルに合わせて」「新しい依存を追加せずに」「型安全性を維持して」のような制約を伝えると、期待に沿った出力が得られやすくなります。特にやってほしくないことを明示するのが効果的です。
utils/date.ts に formatRelativeTime 関数を追加して。
dayjs は使わず、Intl.RelativeTimeFormat を使うこと。
既存の formatDate 関数のスタイルに合わせて書いて5. フィードバックで磨き込む
一発で完璧を目指さず、対話を通じて理想に近づけましょう。
ここは良い。
ただし、エラーメッセージはユーザー向けの日本語に変えて。
あと、handleSubmit の中で console.log は残さないでCLAUDE.md で Claude Code をカスタマイズする
プロジェクトごとに繰り返し伝えたいルールは、CLAUDE.md に書いておくのが最も効率的です。Claude Code はセッション開始時に必ず CLAUDE.md を読み込む ため、毎回同じ指示を入力する手間がなくなります。
CLAUDE.md がないと起きること
- プロジェクトで使っていないライブラリのコードを提案される
- 命名規則やファイル配置のルールが無視される
- 既存のユーティリティ関数があるのに、同じ機能を一から実装される
効果的な CLAUDE.md の書き方
長すぎず、かつ必要十分な情報を含めるのがポイントです。
# CLAUDE.md
## プロジェクト概要
- React + TypeScript の SaaS アプリケーション
- パッケージマネージャ: pnpm
- フレームワーク: React Router v7(SSR)
## ディレクトリ構成
- app/routes/ — ルーティング
- app/components/ — 共通コンポーネント
- app/lib/ — ユーティリティ
## コーディング規約
- コンポーネントは関数コンポーネントで書く
- CSS は Tailwind CSS を使用する
- テストは Vitest + Testing Library
- API クライアントの関数名は use + リソース名(例: useUsers, useInvoices)
- エラーハンドリングは try-catch ではなく Result 型で行う
## 開発コマンド
- pnpm dev — 開発サーバー起動
- pnpm test — テスト実行
- pnpm lint — リント実行「開発コマンド」セクションは見落とされがちですが、Claude Code がビルド・テスト・lint を実行する際に正しいコマンドを使ってくれるようになる ため、必ず記載することを強く推奨します。
.claudeignore で不要なファイルを除外する
.gitignore と同じ構文で、Claude Code が読み込まないファイルを指定できます。コンテキストの無駄遣いとセキュリティ事故の両方を防げます。
# .claudeignore
node_modules/
dist/
.next/
coverage/
*.min.js
*.lock
data/fixtures/
# セキュリティ関連
.env
.env.*
*.pem
*.key
credentials.json
secrets/.claudeignore に追加したファイルは検索・読み取りの対象外になるため、万が一「.env を見せて」と指示しても Claude Code はアクセスできません。
permissions の設定
.claude/settings.json で許可・拒否するコマンドを明示的に制御できます。
{
"permissions": {
"deny": [
"Bash(rm -rf *)",
"Bash(git push --force)",
"Bash(curl*)",
"Bash(wget*)"
]
}
}必要なコマンドだけを許可するホワイトリスト方式 が最も安全です。設定の全体像は次の記事で詳しく解説しています。
よく使うワークフロー例
ここでは、日常の開発で頻繁に使うワークフローを紹介します。
ファイル作成・編集
app/components/user-profile.tsx にユーザープロフィールの
表示コンポーネントを作って。名前、メールアドレス、
アバター画像を表示する。app/routes/dashboard.tsx のローダーに、
未読通知の件数を取得する処理を追加して。複数ファイルの一括変更
Claude Code の強みは「複数ファイルの一括変更」にあります。型定義を変えたら関連する全ファイルが自動的に更新されるため、修正漏れが起きません。
User 型の定義に phoneNumber フィールドを追加して、
関連するすべてのファイル(型定義、フォーム、API、テスト)を
一括で更新して。Git 操作
今の変更をコミットして。コミットメッセージは変更内容から自動生成して。feature/user-profile ブランチを作って、そこに切り替えて。main ブランチとの差分を確認して、コンフリクトがあれば解消して。特に便利なのがコミットメッセージの自動生成です。Claude Code は変更内容を理解しているため、変更の本質を捉えた適切なメッセージを生成してくれます。
コード検索・リファクタリング
このプロジェクトで fetch を直接呼んでいる箇所をすべて探してutils/format.ts の関数を、日付関連とテキスト関連に
ファイルを分割して。既存のインポートも全部更新してリファクタリングでは、Claude Code が依存関係を追跡して関連ファイルまで一括で修正してくれるため、手動で行うよりも安全かつ高速です。
テスト作成・実行
app/lib/validators.ts のユニットテストを作成して。
正常系と異常系の両方をカバーしてテストを実行して、失敗しているものがあれば原因を特定して修正してテストが失敗した場合、Claude Code はエラーメッセージを分析して原因を特定し、修正案を提示します。「テスト実行 → 失敗確認 → 修正」のサイクルを自動で回せるのが大きな魅力です。
Git とのセーブポイント運用
handleSubmit のバリデーションを修正したら、
変更内容を説明するコミットメッセージ付きでコミットして機能単位でこまめにコミットしておけば、Claude Code が意図しない変更を行っても git revert で簡単に巻き戻せます。「動く状態」をこまめにセーブポイントとして残す感覚で運用しましょう。
コスト最適化のコツ
Claude Code は API トークンに基づく従量課金(または Claude Pro / Max の月額制)で動きます。意識的にコントロールするだけで、コストを大きく抑えられます。
/cost で定期的に確認する
/cost を実行すると、現在のセッションのトークン消費量と推定コストが表示されます。==作業の区切りごとに /cost を打つ習慣== をつけましょう。
/compact でコンテキストを圧縮する
長い会話が続くと、コンテキストウィンドウの肥大化とともにトークン消費も増えます。次のタイミングで /compact を使うと効果的です。
- 長い調査や議論を経て、これから実装に入るとき
- 「コンテキストウィンドウが 80% を超えました」という警告が表示されたとき
- 話題が大きく変わるとき(バグ修正 → 新機能の実装など)
Sonnet と Opus を使い分ける
/model でモデルを切り替えられます。すべてのタスクに最上位モデルを使う必要はありません。
| 種類 | 向いているタスク |
|---|---|
| Sonnet | 定型的なコード生成(CRUD、テスト追加)、軽いリファクタ、ドキュメント、コードレビュー |
| Opus | 複雑なアーキテクチャ設計、難しいバグの調査、大規模リファクタ、パフォーマンス最適化 |
日常作業は Sonnet、頭を使う作業は Opus という使い分けを意識するだけで、コストを大幅に抑えられます。
新しいセッションを始めるタイミング
完全に異なるタスクに切り替わるとき、Claude Code が以前の誤った方針を引きずっているとき、/compact でも十分な空きが確保できないときは /clear で会話をリセットするか、新しいターミナルセッションを開始しましょう。CLAUDE.md が再読み込みされるため、プロジェクトのルールは維持されます。
料金プランや上限設定の詳細は次の記事を参照してください。
CI/CD・自動化ワークフローでの活用
claude -p を CI/CD パイプラインに組み込むと、コードレビューやドキュメント生成を自動化できます。
GitHub Actions で PR を自動レビュー
PR が作成・更新されるたびに AI レビューを走らせる例です。anthropics/claude-code-action を使う方法と、CLI を直接呼ぶ方法の 2 種類があります。
name: AI Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}CLI を直接呼ぶ場合は、差分をパイプで渡して JSON 形式で結果を取得します。
git diff origin/main...HEAD | claude -p \
"このプルリクエストの差分をレビューしてください。
セキュリティ上の問題、パフォーマンスの懸念、
コーディング規約違反があれば指摘してください。" \
--output-format json複数リポジトリへの横断バッチ
複数プロジェクトに対して同じチェックを横断的に走らせるシェルスクリプトの例です。
#!/bin/bash
# 複数リポジトリの依存関係を一括チェック
for repo in ~/projects/*/; do
echo "=== $(basename "$repo") ==="
cd "$repo"
claude -p "package.json の依存関係で、セキュリティアップデートが必要なものを列挙して" \
--max-turns 1
cd -
done週次の品質レポート
cron や GitHub Actions のスケジュール機能と組み合わせれば、継続的な品質チェックを自動化できます。
#!/bin/bash
# 週次コード品質レポート
DATE=$(date +%Y-%m-%d)
claude -p "src/ ディレクトリのコード品質を分析して、
改善すべき点をレポートにまとめてください。
特にコードの重複、複雑度の高い関数、
テストカバレッジの低い領域に注目してください。" \
--output-format text > "reports/quality-${DATE}.md"CI/CD への組み込みについて詳しく知りたい方は次の記事も参考にしてください。
VSCode・他エディタとの組み合わせ
Claude Code はターミナルさえあれば動くため、エディタを選びません。==VSCode の統合ターミナル(Ctrl+`)から claude を起動するのが最も手軽== です。ファイルエクスプローラーでコードを確認しながら、ターミナルで Claude Code に指示を出すワークフローは、両方の強みを活かせます。
Vim / Neovim / Emacs / JetBrains 系の IDE でも同じ要領で使えます。Claude Code はファイルを直接書き換える形で動作するため、エディタは保存後に自動リロードするだけで変更を反映できます。
VSCode と Claude Code の連携を最大化したい方は次の記事もどうぞ。
Cursor との併用や使い分けについては次の記事で詳しく解説しています。
セキュリティ運用のポイント
Claude Code はファイルシステムに直接アクセスできるため、セキュリティを意識した運用が必須です。
機密ファイルを必ず .claudeignore に入れる
環境変数ファイルや認証情報は、いかなる場合でも Claude Code に読ませない設定にしておきましょう。
.env
.env.*
*.pem
*.key
credentials.json
secrets/危険なコマンドを deny list で塞ぐ
.claude/settings.json で、誤実行されるとダメージが大きいコマンドを拒否しておきます。
{
"permissions": {
"deny": [
"Bash(rm -rf *)",
"Bash(git push --force)",
"Bash(curl*)",
"Bash(wget*)"
]
}
}本番環境への直接操作は禁止する
- 本番データベースへの直接アクセスを禁止する
- デプロイコマンドの実行を権限で制限する
- 本番の API キーを含む
.envは必ず.claudeignoreに追加する
Claude Code はあくまで開発支援ツール として位置づけ、本番環境への操作は CI/CD パイプライン経由に統一しましょう。詳細は次の記事を参照してください。
チームでの活用
Claude Code はチームで使うと一段と効果を発揮します。
- CLAUDE.md を Git にコミットする — チーム全員が同じルールのもとで Claude Code を利用できる
- Skills をリポジトリ管理する —
.claude/skills/配下の Markdown を共有して、ワークフローを標準化 - コーディング規約を CLAUDE.md に明記する — ESLint / Prettier だけではカバーできない「プロジェクト固有の慣習」を Claude Code に守らせる
- PR チェックリストに含める — 「CLAUDE.md の更新が必要か?」を毎 PR で確認する文化を作る
Skills の作り方は次の記事で詳しく解説しています。
トラブルシューティング
Claude Code を使い始めた方がつまずきやすいポイントと、その解決策をまとめます。
パーミッションの承認を毎回求められて面倒
Claude Code がファイルの書き込みやコマンドの実行を行う際にはパーミッションの承認が求められます。これはセキュリティ上の重要な仕組みです。
- 信頼できるプロジェクトでは、セッション中の同種操作を自動承認する設定を使う
/permissionsコマンドでパーミッション設定を確認・変更する.claude/settings.jsonにプロジェクト単位の許可ルールを定義する
ただし、本番環境に影響するコマンドや機密情報を含むファイル変更については毎回確認する習慣を持つ ことを強く推奨します。
トークン消費が増えすぎる
大きなファイルを何度も読む、長い会話セッション、曖昧な指示の繰り返しが原因です。
/compactで定期的にコンテキストを圧縮する/costでモニタリングする- 大きなタスクを小さな単位に分割する
- 最初から具体的な指示を出してやり直しを減らす
- 必要に応じて
/clearで新しいセッションを開始する
API 従量課金の場合、Anthropic Console で 1 日のコスト上限を設定しておくと安心です。Claude Max プランは月額定額のためトークン消費量を気にする必要はありません。
ファイル変更を取り消したい
- Git を活用する — 変更前に必ずコミットしておけば、
git diffで確認しgit checkoutで戻せる - 差分をよく読む — Claude Code が提案した時点で注意深く確認する
- 段階的に進める — 大きな変更は一度に行わず、小さなステップに分けて確認しながら進める
作業開始前に Git でクリーンな状態にしておく ことを強く推奨します。コミットしていない変更がある状態で Claude Code に作業を依頼すると、元の変更と Claude Code の変更が混在して取り消しが困難になります。
# 作業前に現在の変更をコミットしておく
git add -A && git commit -m "WIP: 現在の作業を一時保存"
# Claude Code で作業開始
claudeコンテキストウィンドウの限界に達した
長時間のセッションや大規模プロジェクトでは、応答品質が低下したり以前の会話を忘れたりすることがあります。
/compactでコンテキストを圧縮する- タスクが完了したら
/clearで新しいセッションを開始する CLAUDE.mdに重要なルールを書いておけば再開時にも自動で読み込まれる- 一つのセッションで複数の無関係なタスクを処理しない
期待通りの結果が得られない
- 指示を具体的にする — 「いい感じに」ではなく具体的な仕様を伝える
- 既存コードを参照させる — 「この関数と同じパターンで」と既存のコードを指し示す
- 段階的に進める — 一度に全部作らせず、パーツごとに作って確認する
- フィードバックを具体的に与える — 「ここは良い、ここは違う」と明確に伝える
Claude Code は対話型のツールです。一発で完璧な結果を求めるより、対話を通じて段階的に理想に近づける アプローチが最も効果的です。
コンテナや SSH 先で使えない
Claude Code は GUI を必要としません。npm install -g @anthropic-ai/claude-code でインストールできれば、Docker コンテナや SSH 先のサーバーでも問題なく動作します。VSCode の統合ターミナルから使うのも快適です。
VSCode との連携については次の記事も参照してください。
よくある失敗パターンと回避法
最後に、Claude Code を使う際に陥りやすい失敗パターンを整理します。
- 一度に大きすぎるタスクを依頼する — コンテキストを使い切って品質が低下
- 出力を確認せずに次の指示を出す — 誤りが積み重なって手戻りが大きくなる
CLAUDE.mdを更新しない — 古い情報に基づいて作業されてしまう- コンテキスト肥大化を放置する — 30 分以上の連続作業では
/compactを必須化 - すべてを Opus で実行する — 単純なタスクには Sonnet で十分
- Git のセーブポイントを作らない — どの変更が原因か特定しにくくなる
- ファイル単位・関数単位に分割して段階的に進める
- 各ステップの出力を
git diffで確認してから次に進む - 技術スタックや規約の変更時に
CLAUDE.mdも合わせて更新する - 30 分ごと、または話題が変わるタイミングで
/compact - タスクの複雑さでモデルを切り替える
- 機能単位でこまめにコミットして「動く状態」を残す
関連プロンプトテンプレート
すぐに使えるプロンプトテンプレートも用意しています。
- CSV データクリーニング — CSV ファイルの整形・クレンジングを自動化
- Excel レポート生成 — データから見やすいレポートを自動生成
- バグ修正・デバッグ — エラーの原因特定から修正までを効率化
- Git PR 作成 — CLI からワンコマンドで PR を作成
おすすめスキル
Claude Code の使い方をさらに広げるスキル集です。
- Snifferly — Web ページの構造を分析してコーディングに活用するスキル
- Awesome Vibe Coding Guide — 効率的なバイブコーディングのベストプラクティス集
- Learn Faster Kit — 新しい技術の学習を加速するスキル
- Vibe Log CLI — 開発ログの自動記録と振り返り支援
まとめ
本記事では、Claude Code の使い方を「基本操作 → コマンド → プロンプト術 → 設定 → ワークフロー → コスト最適化 → トラブル対策」という流れで一気通貫に解説しました。ポイントを振り返ります。
- 起動はシンプル — プロジェクトのルートで
claudeを実行するだけ - 指示は具体的に — 「何を」「どこに」「どのように」を明確に伝える
- CLAUDE.md を活用する — プロジェクト固有のルールを記述して効率化
- 対話的に進める — 一発で完璧を目指さず、フィードバックを重ねる
- コマンドを使いこなす —
/compact/cost/modelを日常に組み込む - CLI とパイプを活用する —
claude -pで他ツールやスクリプトと連携 - Git と組み合わせる — 変更前のコミットで安全に作業する
- モデルを使い分ける — 日常は Sonnet、難所は Opus でコスト最適化
- チームで共有する —
CLAUDE.mdと.claude/skills/を Git で管理
Claude Code は 使えば使うほど使い方が上手くなるツール です。最初は小さなタスクから始めて、徐々に複雑な作業を任せていきましょう。
より体系的に学びたい方は、以下のレッスンで実践的な操作方法を学べます。


