要約
Claude Codeのインストール直後に設定しておくと開発効率が大幅に向上する7項目を、優先度順に解説する。言語設定やステータスラインといった即効性の高い基本設定から、パーミッション・CLAUDE.md・モデル選択・フックまで、段階的に環境を整えていく方法を網羅した。
対象読者: Claude Codeをこれから使い始める開発者、または使い始めたばかりで設定を見直したい開発者
この記事を読むことで得られるメリット
この記事を読むことで以下のことが分かる:
- Claude Codeの言語・ステータスライン・プライバシーの基本3設定を即座に完了できる
- パーミッションのallow/deny設定で「承認疲れ」を解消するオススメ構成が分かる
- CLAUDE.mdの書き方と効果的な構成(WHAT・WHY・HOW)を理解できる
- モデル・Effort Level・Output Styleをタスクに応じて使い分ける判断基準が分かる
- フックによる高度な自動化の始め方が分かる
この記事を読むのにかかる時間
約15分
環境
- MacOS Apple M4 Max Sequoia 15.1
- Claude Code 2.x系
Claude Code初期設定の全体像
Claude Codeは高機能なAIコーディングアシスタントだが、デフォルト状態では能力の一部しか活用できていない。適切な初期設定を行うことで、応答の品質・作業効率・安全性が大きく変わる。
本記事では以下の7項目を優先度順に解説する。
優先度 | 設定項目 | 効果 | 手間 |
|---|---|---|---|
1 | 言語設定 | 応答が日本語に | 低 |
2 | ターミナル表示設定 | 作業状況を常時把握 | 低 |
3 | プライバシー設定 | モデル学習不使用を確認 | 低 |
4 | CLAUDE.md作成 | プロジェクト理解の向上 | 低 |
5 | パーミッション設定 | 承認疲れの軽減 | 低〜中 |
6 | モデル・Effort・出力スタイル | パフォーマンス最適化 | 低 |
7 | フック設定 | 高度な自動化 | 中〜高 |
最初からすべてを設定する必要はない。まず優先度1〜3の基本設定を済ませ、使いながら段階的に環境を育てていくアプローチがオススメである。
1. 言語設定
手順
- Claude Code内で
/configコマンドを実行 languageの項目を選択Japaneseに変更
何が変わるか
設定後、Claude Codeの応答がすべて日本語になる。コード内のコメント提案、エラーメッセージの説明、質問への回答などが日本語で返ってくるため、英語に不慣れでもストレスなく利用できる。
最も簡単で効果の大きい初期設定であり、同セッション内から即座に反映される。
2. ターミナル表示設定(ステータスライン)
常時表示できる項目
ターミナルのステータスバーに以下の情報を常時表示できる。
項目 | 内容 |
|---|---|
モデル名 | 使用中のモデル(Opus、Sonnet等) |
作業ディレクトリ | 現在のパスとGitブランチ |
コンテキストサイズ | トークン消費量と使用率 |
コスト | セッションの推定費用 |
レートリミット | 5時間/7日の使用率 |
バージョン | Claude Codeのバージョン番号 |
コンテキストがどれだけ消費されているか、どのモデルで動いているかが一目で分かるため、作業の見通しが立てやすくなる。
設定方法
Claude Codeに「ステータスラインを設定して」「statuslineに何が表示できるか教えて」と聞くだけで、設定スクリプトを自動生成してくれる。
3. プライバシー設定
手順
- Claude Code内で
/privacy-settingコマンドを実行 - 現在のプライバシー設定を確認
- モデルトレーニングへのデータ利用がオフになっていることを確認
Claude Codeはデフォルトでモデルトレーニングにデータを使用しない設定になっている。しかし、業務コードやプロプライエタリなコードベースを扱う場合は、念のため確認しておくと安心である。
4. CLAUDE.md -- プロジェクトの文脈をClaude Codeに伝える
Claude Codeは各セッションがフレッシュなコンテキストウィンドウで始まる。CLAUDE.mdファイルを配置することで、プロジェクトの構造・コーディング規約・ビルドコマンド等の「永続的な指示」を毎回自動的にClaude Codeに伝えられる。毎セッションで同じ説明を繰り返す必要がなくなるため、生産性が大きく向上する。
配置場所と使い分け
スコープ | 配置場所 | 用途 |
|---|---|---|
プロジェクト共有 |
| チーム共有のプロジェクト指示(Git管理) |
個人ローカル |
| Git管理外の個人用メモ |
グローバル |
| すべてのプロジェクト共通の個人設定 |
ルール分割 |
| トピック別のモジュラーなルール |
基本は./CLAUDE.mdをGit管理してチーム全員で共有する。個人的な設定は./CLAUDE.local.mdに書くとよい。
/initコマンドは使わず手動作成を推奨
/initコマンドを実行するとClaude Codeがコードベースを分析してスターターCLAUDE.mdを自動生成する。しかし、自動生成された内容は汎用的すぎて実用性が低いケースが多い。
手動で作成し、プロジェクトに本当に必要な情報だけを書くのが効果的である。/initで雛形を作り、そこから不要な部分を削って洗練する方法もあるが、最終的には手動での精査が不可欠である。
WHAT・WHY・HOWの3視点で構成する
効果的なCLAUDE.mdは以下の3視点で構成するとよい。
WHAT -- プロジェクト構造
- ディレクトリ構成と各ディレクトリの役割
- 主要ファイルの説明
- 使用技術スタック
WHY -- 設計原則と決定事項
- アーキテクチャ上の判断とその理由
- コーディング規約・命名規則
- 「なぜこうなっているか」をコードから読み取れない情報
HOW -- コマンド集
- ビルド・テスト・デプロイコマンド
- lint / formatの実行方法
- 開発サーバーの起動手順
推奨テンプレート
# プロジェクト名
Next.js 16 ECアプリ。App Router、Turbopack、Stripe決済使用。
## コマンド
- `pnpm dev`: 開発サーバー
- `pnpm test`: Vitest実行
- `pnpm test:e2e`: Playwright実行
## コードスタイル
- TypeScript strictモード
- named exportを使用
## アーキテクチャ
- `/app`: ページとレイアウト
- `/app/api`: APIルート(`/api/v1`プレフィックス)
- `/components/ui`: UIコンポーネント
## 注意事項
- Stripe webhookは署名検証必須
- 詳細は @docs/auth-flow.md を参照サイズの目安
100行前後が理想である。長すぎるとコンテキスト消費が増え、指示の遵守率が低下する。最悪の場合、AI自体の精度に悪影響を及ぼす。
各行について「これを削除するとClaude Codeが間違いを犯すか?」と自問し、そうでなければ削除する。少なく・的確に書くほど効果が高い。
@インポート構文と.claude/rules/
情報量が多い場合は、@path/to/fileで外部ファイルをインポートできる(最大5ホップの再帰インポートが可能)。
See @README for project overview.
Git workflow: @docs/git-instructions.md大規模プロジェクトでは.claude/rules/ディレクトリにトピック別のMarkdownファイルを配置し、YAMLフロントマターのpathsフィールドで特定のファイルパターンにのみルールを適用することも可能である。
---
paths:
- "src/api/**/*.ts"
---
# API開発ルール
- すべてのAPIエンドポイントに入力バリデーションを含める
- 標準エラーレスポンスフォーマットを使用5. パーミッション設定 -- 承認疲れを解消する
なぜ設定すべきか
Claude Codeはデフォルトで、ファイル編集やコマンド実行のたびに許可を求める。安全だが、繰り返しの承認操作(いわゆる「承認疲れ」)が生産性を下げる。パーミッション設定を適切に行うことで、安全性を保ちながら作業の流れを止めないワークフローが実現できる。
allow/deny/askの3層制御
settings.jsonのpermissionsオブジェクトで3層制御する。評価順序はdeny → ask → allowで、denyが常に最優先される。
{
"permissions": {
"allow": [
"Bash(npm run lint)",
"Bash(npm run test *)"
],
"deny": [
"Bash(curl *)",
"Read(./.env)"
]
}
}オススメのパーミッション設定
グローバル設定(~/.claude/settings.json)の推奨例:
{
"permissions": {
"allow": [
"Bash(git log *)",
"Bash(git diff *)",
"Bash(git status *)",
"Bash(git branch *)",
"Bash(* --version)",
"Bash(* --help *)"
],
"deny": [
"Bash(curl *)",
"Bash(wget *)",
"Bash(rm -rf *)",
"Bash(sudo *)",
"Bash(chmod 777 *)",
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)"
]
}
}プロジェクト設定(.claude/settings.json)の例(Node.jsプロジェクト):
{
"permissions": {
"allow": [
"Bash(npm run lint)",
"Bash(npm run test *)",
"Bash(npm run build)",
"Bash(npx prettier *)"
],
"deny": [
"Bash(git push *)",
"Bash(npm publish *)"
]
}
}ワイルドカード*は引数部分にマッチする。ただし、シェル演算子(&&等)を含むコマンドは安全のためマッチしない。セキュリティ上重要な制御にはdenyルールやサンドボックスとの併用が推奨される。
Shift+Tabでモード切替
セッション中にShift+Tabで以下のモードを切り替えられる。
モード | 説明 | オススメ場面 |
|---|---|---|
default | 毎回許可を要求 | 初期設定、慎重な作業 |
acceptEdits | ファイル編集は自動承認 | コード修正のイテレーション |
plan | 読み取り専用。変更しない | コードベース探索、設計検討 |
auto | 分類器モデルが安全性を判断し自動承認 | 長時間タスク |
初心者はまずdefaultで操作に慣れ、慣れたらacceptEditsに移行するのがよい。"Yes, don't ask again"を選ぶことで、よく使うコマンドが自動的にallowリストに追加される。
autoモード -- dangerously-skip-permissionsの安全な代替
autoモードは2026年3月24日にAnthropicが発表した新しいパーミッションモードである。別の分類器モデル(Claude Sonnet 4.6)が各アクションをレビューし、安全なものは自動承認する。
比較項目 | autoモード | dangerously-skip-permissions |
|---|---|---|
安全性チェック | 分類器がバックグラウンドで評価 | なし。すべて即座に実行 |
プロンプトインジェクション対策 | あり | なし |
エスカレーション | 3回連続ブロックで人間に委譲 | なし |
プラン要件 | Teamプラン以上 | なし(全プラン) |
モデル要件 | Sonnet 4.6 / Opus 4.6のみ | 全モデル |
autoモードの分類器は2段階で動作する。
- Stage 1(高速フィルタ): 単一トークンでyes/no判定。高速だがブロック寄りに調整
- Stage 2(思考連鎖推論): Stage 1でフラグされたもののみ詳細評価。偽陽性を0.4%に削減
分類器はClaudeの推論テキストとツール結果を意図的に見ない設計になっている。これにより「エージェントが分類器を説得する」攻撃や、ファイル内の敵対的コンテンツが分類器を操作するリスクを防いでいる。
**dangerously-skip-permissionsは使用しない**ことを強く推奨する。過去にはrm -rfがルートから実行されたり、ホームディレクトリ全体が削除されたりするインシデントが報告されている。
セキュリティの注意点
パーミッション設定はClaude Codeの「意思決定」を制御するソフトウェア層であり、OSレベルの強制ではない。たとえばRead(./.env)のdenyルールはReadツールをブロックするが、Bash(cat .env)は別途ブロックしなければ防げない。真のセキュリティが必要な場合はサンドボックスとの併用が推奨される。
6. モデル・パフォーマンス・出力スタイル設定
モデル選択
Claude Codeでは複数のモデルを切り替えて使用できる。
選択肢 | モデル | API料金(入力/出力) | コンテキスト | 特徴 |
|---|---|---|---|---|
Default(推奨) | Opus 4.6 | $5 / $25 | 1M | 最高の推論力 |
Sonnet | Sonnet 4.6 | $3 / $15 | 200K | 日常タスクに最適 |
Sonnet (1M) | Sonnet 4.6 | $3 / $15 | 1M | 大規模コードベース向き |
Haiku | Haiku 4.5 | $1 / $5 | 200K | 最速・最安 |
切り替え方法は/modelコマンド、起動時のclaude --modelオプション、または/configのmodelフィールドで行える。
タスク別推奨モデル:
タスク | 推奨モデル | 理由 |
|---|---|---|
日常的なコーディング | Sonnet 4.6 | SWE-benchでOpusに迫る性能でコスト40%減 |
複雑なアーキテクチャ設計・難解なデバッグ | Opus 4.6 | 深い推論が必要な場面で差が出る |
ファイル検索・構文確認 | Haiku 4.5 | 最速・最安。定型的な操作に十分 |
Effort Level -- 思考の深さ制御
Effort Levelは、Claude Codeが各応答にどれだけ深く考えるかを制御するパラメータである。
レベル | 推奨タスク | トークン消費 |
|---|---|---|
low | ファイル名変更、変数リネーム、構文確認 | 最小 |
medium(デフォルト) | 日常のコーディング、関数作成、テスト生成 | 中程度 |
high | 複雑なデバッグ、複数ファイルのリファクタリング | 多い |
max(Opus 4.6専用) | 最も難しい分析、100+ファイルの大規模変更 | 最大 |
/effort low〜/effort maxで切り替えられる。タスクの複雑さに応じて使い分けるだけで、全てhighで実行する場合と比べてコストを約40-60%削減できるとの報告がある。
Fast Mode -- 高速推論
/fastコマンドでOpus 4.6の高速推論モードを有効化できる。同じモデル品質で最大2.5倍速のレスポンスを得られる。
モード | 入力(MTok) | 出力(MTok) | 速度 |
|---|---|---|---|
Standard Opus 4.6 | $5 | $25 | 標準 |
Fast Mode Opus 4.6 | $30 | $150 | ~2.5倍 |
出力トークンコストが約6倍のため、対話的デバッグや締め切り作業など時間的価値がコストを上回る場面で有効である。セッション途中で有効化すると会話コンテキストがfast mode価格で再計算されるため、セッション開始時に有効化するのが最もコスト効率的である。
Output Style -- 出力スタイル
Claude Codeの応答方法・トーン・問題解決アプローチを切り替える機能である。
スタイル | 特徴 | 適した場面 |
|---|---|---|
Default | 簡潔で効率重視 | 日常開発、経験豊富な開発者 |
Explanatory | 実装理由やトレードオフの解説を提供 | 新規コードベース参加、設計判断の理解 |
Learning | ステップバイステップ指導、 | 新言語の習得、教育 |
/output-styleで切り替え可能。/output-style:new [要件]でカスタムスタイルも作成できる。変更は次のセッションから有効になる点に注意が必要である。
開発フェーズ別の推奨構成
フェーズ | モデル | Effort | Output Style |
|---|---|---|---|
プロトタイプ・検証 | Haiku 4.5 | low | Default |
メイン開発 | Sonnet 4.6 | medium | Default |
設計→実装 | Opus(Plan Mode)→ Sonnet | medium | Explanatory |
品質保証・レビュー | Opus 4.6 | high | Explanatory |
学習・オンボーディング | Sonnet 4.6 | medium | Learning |
高速イテレーション | Opus 4.6 + Fast | medium | Default |
7. フック設定 -- 高度な自動化
Claude Codeのフックは、ライフサイクルの特定のポイントで自動実行されるユーザー定義のシェルコマンドである。LLMの判断に依存せず決定論的な制御を提供する点が最大の特徴である。
フックのハンドラーには4タイプがある。
タイプ | 説明 |
|---|---|
| シェルコマンド実行(もっとも一般的) |
| HTTPエンドポイントへPOST |
| LLMによる単一ターン判定 |
| マルチターン検証(サブエージェント起動) |
設定例1: 禁止コマンドのブロック
PreToolUse(Bash)で特定コマンドの実行を阻止する。
{
"hooks": {
"PreToolUse": [{
"matcher": "Bash",
"hooks": [{
"type": "command",
"command": "if echo \"$CC_BASH_COMMAND\" | grep -qE 'rm -rf|sudo|curl'; then exit 2; fi"
}]
}]
}
}exit 2でツール実行をブロックできる。パーミッション設定のdenyルールと組み合わせることで、より堅牢な防御層を構築できる。
まとめ
Claude Codeの初期設定は、一度に完璧を目指す必要はない。以下のステップで段階的に整えていくのがオススメである。
まず最初に(5分で完了):
- 言語設定を日本語に変更
- ステータスラインを設定
- プライバシー設定を確認
使い始めたら(30分程度):
- CLAUDE.mdを手動で作成(WHAT・WHY・HOWの3視点)
- パーミッションのallow/denyを設定(git読み取り系のallow、破壊的コマンドのdeny)
慣れてきたら(必要に応じて):
- モデル・Effort Level・Output Styleをタスクに応じて使い分け
- フックで高度な自動化を実現
重要なのは使いながら育てていくアプローチである。操作中に承認が煩わしいと感じたコマンドをallowリストに追加し、繰り返し発生する問題をフックで自動対処する。Claude Codeの設定は、自分の開発スタイルに合わせて継続的に最適化していくものである。