Claude Code入門 - インストールから基本操作まで

Anthropicが提供するAIコーディングエージェント「Claude Code」の導入から実践的な使い方までをまとめたリファレンス。ターミナル上で動作し、コードベースを理解しながら開発タスクを支援する。

Claude Codeとは

Claude CodeはAnthropicが開発した公式のエージェント型CLIツール。ターミナル内で動作し、プロジェクトのコードベースを直接読み書きしながら、自然言語の指示に基づいて開発タスクを実行する。

主な特徴:

  • ファイルの読み取り・作成・編集を自律的に実行
  • Git操作(コミット、ブランチ作成、PR作成など)の自動化
  • コードベース全体を横断した検索・分析
  • テストの実行とデバッグ支援
  • シェルコマンドの実行

IDE拡張やWebエディタとは異なり、ターミナルネイティブで動作するため、SSH接続先やCI/CDパイプラインなど様々な環境で利用できる。

前提条件

項目要件
Node.jsv18.0.0以上
OSmacOS、Linux、Windows(WSL経由)
認証以下のいずれか

認証方法は3つある:

認証方法説明
ClaudeサブスクリプションClaude Pro / Max / Teamプランに加入していればOAuth認証で利用可能
APIキーAnthropic APIキーを環境変数 ANTHROPIC_API_KEY に設定
Amazon Bedrock / Google Vertex AIクラウドプロバイダー経由での利用

インストール

npm install -g @anthropic-ai/claude-code

グローバルインストール後、任意のプロジェクトディレクトリで claude コマンドが使える。

# バージョン確認
claude --version

# アップデート
npm update -g @anthropic-ai/claude-code

Windows環境の注意: Windows上では直接動作しない。WSL(Windows Subsystem for Linux)を使用する。

認証・初期設定

OAuth認証(サブスクリプション利用)

初回起動時にブラウザが開き、Claudeアカウントでログインする。

# プロジェクトディレクトリに移動して起動
cd /path/to/project
claude

初回起動時の流れ:

  1. ブラウザが自動で開く
  2. Claudeアカウントでログイン
  3. Claude Codeへのアクセスを許可
  4. ターミナルに戻り対話開始

APIキー認証

環境変数にAPIキーを設定する方法。

# 環境変数に設定
export ANTHROPIC_API_KEY="sk-ant-xxxxx"

# .bashrc や .zshrc に追記しておくと永続化される
echo 'export ANTHROPIC_API_KEY="sk-ant-xxxxx"' >> ~/.bashrc

Amazon Bedrock経由

export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION="us-east-1"
# AWS認証情報が設定済みであること

Google Vertex AI経由

export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION="us-east5"
export ANTHROPIC_VERTEX_PROJECT_ID="your-project-id"

基本的な使い方

起動と対話

プロジェクトのルートディレクトリで claude を実行すると対話モードに入る。

claude

プロンプトが表示されたら、自然言語で指示を入力する。

> このプロジェクトの構成を説明して
> src/components/Header.tsx のバグを修正して
> ユニットテストを追加して
> READMEを更新して

Claude Codeはプロジェクト内のファイルを自動的に読み取り、コンテキストを理解した上で回答・操作を行う。

会話の再開

直前の会話を継続する場合:

claude --continue
# または
claude -c

過去の会話を選んで再開する場合:

claude --resume
# または
claude -r

スラッシュコマンド

対話モード中に使えるコマンド一覧。

コマンド説明
/helpヘルプを表示
/clear会話履歴をクリア
/compact会話を要約してコンテキストを圧縮
/model使用するモデルを変更
/cost現在のセッションのトークン使用量とコストを表示
/permissions権限設定を表示・変更
/config設定を表示・変更
/statusアカウントやセッションの状態を確認
/doctorClaude Codeの設定と接続を診断
/bugバグレポートを送信
/quitClaude Codeを終了(Ctrl+Cでも可)

/compact の活用

長い会話でコンテキストウィンドウが逼迫した場合、/compact で会話を要約して圧縮できる。カスタムの要約指示も可能。

/compact TypeScript関連の議論に焦点を当てて要約して

/model の切り替え

セッション中にモデルを変更できる。

/model claude-sonnet-4-20250514
/model claude-opus-4-20250514

ファイルの読み書き・編集

Claude Codeはプロジェクト内のファイルを操作するために、内部的に以下のツールを使い分ける。

ツール用途
Readファイルの内容を読み取る
Writeファイルを新規作成または上書き
Edit既存ファイルの一部を置換(差分編集)
Globファイル名パターンで検索
Grepファイル内容をパターン検索
Bashシェルコマンドを実行

ユーザーが「ファイルを読んで」「コードを修正して」と指示すると、Claude Codeが適切なツールを選択して実行する。各ツールの実行前に確認プロンプトが表示される(権限設定により自動許可も可能)。

操作の例

> src/utils/format.ts を読んで
  → Read ツールでファイルを表示

> 日付フォーマット関数のバグを修正して
  → Edit ツールで該当箇所を差分編集

> tests/ ディレクトリにテストファイルを作成して
  → Write ツールで新規ファイルを作成

> "TODO" を含むファイルを全て検索して
  → Grep ツールでプロジェクト全体を検索

> npm run build を実行して
  → Bash ツールでコマンドを実行

権限モード

Claude Codeはファイル操作やコマンド実行に対して権限管理を行う。ツール実行時にユーザーへ確認を求め、許可・拒否を選択できる。

権限の応答オプション

ツール実行の確認時に以下の選択肢がある:

選択肢動作
Yes今回のみ許可
Yes, and don’t ask again for this tool以降このツールを常に許可(セッション中)
Yes, and add to settings永続的な許可ルールとして保存
No拒否

settings.json による権限設定

許可・拒否ルールを設定ファイルで管理できる。設定ファイルは複数の階層がある。

ファイルスコープ
~/.claude/settings.jsonユーザー全体(全プロジェクト共通)
.claude/settings.jsonプロジェクト単位(リポジトリにコミット可能)
.claude/settings.local.jsonプロジェクト単位(ローカルのみ)

設定例:

{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test *)",
      "Bash(git commit *)",
      "Read(~/.zshrc)"
    ],
    "deny": [
      "Bash(curl *)",
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)"
    ]
  }
}

allow にはワイルドカード * が使える。パターンに一致するツール呼び出しは確認なしで自動許可される。deny に一致する呼び出しは常に拒否される。

CLAUDE.md(プロジェクト設定)

CLAUDE.md はプロジェクトのルートに配置する設定ファイルで、Claude Codeへのカスタム指示を記述する。会話開始時に自動的に読み込まれる。

# プロジェクト名

## コーディング規約
- TypeScriptを使用
- セミコロンなし
- シングルクォート

## テスト
- `npm run test` でテスト実行
- テストは `__tests__/` ディレクトリに配置

## コミット規約
- Conventional Commitsに従う
- メッセージは日本語で記述

CLAUDE.mdの配置場所

ファイルスコープ
CLAUDE.md(プロジェクトルート)プロジェクト全体に適用
CLAUDE.md(サブディレクトリ)そのディレクトリ以下で作業時に追加で適用
~/.claude/CLAUDE.md全プロジェクト共通(個人設定)

ワンショットモード

-p--print)フラグで非対話的に実行する。1つのプロンプトを処理して結果を出力し、即座に終了する。スクリプトやCI/CDパイプラインでの利用に適している。

# 基本的な使い方
claude -p "このプロジェクトの構成を説明して"

# JSON形式で出力
claude -p "全てのAPIエンドポイントを一覧にして" --output-format json

# ストリーミングJSON出力
claude -p "このログファイルを分析して" --output-format stream-json

パイプ入力

標準入力からデータを渡してClaude Codeに処理させることができる。

# ファイルの内容をパイプで渡す
cat src/index.ts | claude -p "このコードをレビューして"

# コマンドの出力を分析
git diff | claude -p "この差分を要約して"

# エラーログの分析
npm run build 2>&1 | claude -p "ビルドエラーの原因と修正方法を教えて"

出力フォーマット

フォーマット説明用途
text(デフォルト)プレーンテキスト人間が読む用途
jsonJSON形式スクリプトでのパース
stream-jsonストリーミングJSONリアルタイム処理
# JSON出力をjqで加工
claude -p "package.jsonの依存関係を一覧にして" --output-format json | jq '.result'

CLIオプション一覧

claude [options] [prompt]
オプション短縮形説明
--print-pワンショットモード(非対話)
--continue-c直前の会話を継続
--resume-r過去の会話を選択して再開
--output-format出力形式を指定(text, json, stream-json
--model使用するモデルを指定
--max-turns最大ターン数を制限(ワンショット時)
--allowedTools許可するツールを指定
--verbose詳細なログを表示
--versionバージョンを表示
--helpヘルプを表示

設定管理

claude config コマンドで各種設定を管理する。

# 設定の一覧表示
claude config list

# 設定の取得
claude config get <key>

# 設定の変更
claude config set <key> <value>

活用のヒント

コンテキストの与え方

Claude Codeはプロジェクト全体を把握しているわけではなく、必要に応じてファイルを読み込む。効率的に作業させるには、具体的な指示を出すとよい。

# 曖昧な指示(非推奨)
> バグを直して

# 具体的な指示(推奨)
> src/utils/date.ts の formatDate 関数で、月が0始まりになっているバグを修正して

大規模な変更の進め方

大きなリファクタリングや機能追加は、段階的に指示するとよい。

> 1. まず現在のディレクトリ構成を確認して
> 2. src/components/ 以下のコンポーネントをFeature別に再構成する計画を立てて
> 3. (計画を確認後)その計画で実行して

Git連携

Claude Codeはgitコマンドを実行できるため、一連の開発フローを自然言語で指示できる。

> 変更内容をコミットして。メッセージは「ログイン画面のバリデーション追加」で
> feature/login ブランチを作成して、そこに切り替えて
> mainブランチとの差分を確認して

トラブルシューティング

症状対処法
claude: command not foundNode.jsのグローバルbin PATHを確認。npm root -g の親ディレクトリの bin/ がPATHに含まれているか
認証エラーclaude /logout でログアウト後、再度 claude で認証をやり直す
コンテキスト上限/compact で会話を圧縮するか、/clear で新しい会話を開始
WSLで動作しないWSL内にNode.js v18以上がインストールされているか確認
権限の問題/permissions で現在の権限設定を確認。settings.jsondeny ルールも確認

診断コマンド

# 設定と接続の診断
claude /doctor

参考リンク