Claude Code入門 - インストールから基本操作まで
Anthropicが提供するAIコーディングエージェント「Claude Code」の導入から実践的な使い方までをまとめたリファレンス。ターミナル上で動作し、コードベースを理解しながら開発タスクを支援する。
Claude Codeとは
Claude CodeはAnthropicが開発した公式のエージェント型CLIツール。ターミナル内で動作し、プロジェクトのコードベースを直接読み書きしながら、自然言語の指示に基づいて開発タスクを実行する。
主な特徴:
- ファイルの読み取り・作成・編集を自律的に実行
- Git操作(コミット、ブランチ作成、PR作成など)の自動化
- コードベース全体を横断した検索・分析
- テストの実行とデバッグ支援
- シェルコマンドの実行
IDE拡張やWebエディタとは異なり、ターミナルネイティブで動作するため、SSH接続先やCI/CDパイプラインなど様々な環境で利用できる。
前提条件
| 項目 | 要件 |
|---|---|
| Node.js | v18.0.0以上 |
| OS | macOS、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
初回起動時の流れ:
- ブラウザが自動で開く
- Claudeアカウントでログイン
- Claude Codeへのアクセスを許可
- ターミナルに戻り対話開始
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 | アカウントやセッションの状態を確認 |
/doctor | Claude Codeの設定と接続を診断 |
/bug | バグレポートを送信 |
/quit | Claude 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(デフォルト) | プレーンテキスト | 人間が読む用途 |
json | JSON形式 | スクリプトでのパース |
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 found | Node.jsのグローバルbin PATHを確認。npm root -g の親ディレクトリの bin/ がPATHに含まれているか |
| 認証エラー | claude /logout でログアウト後、再度 claude で認証をやり直す |
| コンテキスト上限 | /compact で会話を圧縮するか、/clear で新しい会話を開始 |
| WSLで動作しない | WSL内にNode.js v18以上がインストールされているか確認 |
| 権限の問題 | /permissions で現在の権限設定を確認。settings.json の deny ルールも確認 |
診断コマンド
# 設定と接続の診断
claude /doctor
参考リンク
- Claude Code 公式ドキュメント - Anthropicによる公式リファレンス
- Claude Code GitHub リポジトリ - ソースコード・Issue
- Anthropic API ドキュメント - APIキーの取得や料金プラン