この記事について
Claude Codeをはじめて触るエンジニア向けの入門記事です。
上から読めば自分の手で動かせるようになり、つまずいたときに何を調べればいいかも分かる状態を目指しました。
わかること
- インストールから最初のセッション
- 必ず出会うplanとautoのモード
- モデル選択
- effort(思考量)
- CLAUDE.md
- .claudeディレクトリまで
これらの内容について、公式ドキュメントに沿って順番に解説します。
記載内容はClaude Code 公式ドキュメントに準拠しています。
対象読者は、ターミナル操作に抵抗のないエンジニアです。
Claude Code自体は初見でかまいません。
前提としてはClaudeのサブスクリプション(Pro / Max / Team / Enterprise)またはAnthropic Consoleのアカウントが1つあることだけです。
読み終えるころには自分のプロジェクトでClaude Codeを起動して安全に編集を任せ、設定でプロジェクトに記憶を持たせて効率的に開発を進めることができるようになります。
Claude Codeとは
Claude Codeにできることは多岐に渡りますが一旦以下の理解でOKです。
- コードベースを読み取る
- ファイルを編集する
- コマンドを実行する
- 開発ツールと連携する
ChatGPTやClaude, GeminiのChat機能のような1リクエスト1レスポンスに遵守するAIツールとは異なり、自分で考えて行動するagentic AIです。
チャットに何をしたいかを書くと関係するファイルを自分で探し、変更案を作り、必要ならテストまで走らせることができます。
動く場所はターミナル、VS Code、JetBrains、デスクトップアプリ、ブラウザ、Slack、CI/CDなど複数あります。
どこで動かしても同じエンジンに接続するため、CLAUDE.mdや設定、MCPサーバーはすべての環境で共通して効きます。
この記事ではもっとも基本となるターミナルのCLIを軸に進めます。
Claude Desktopでも問題なく使えますが、VSCodeのようなエディタを使うことができるならCLIから始めましょう。
最初の一歩はここからで十分です。
まずはインストールして動かす
インストール
macOS / Linux / WSLなら、ネイティブインストーラが推奨です。
バックグラウンドで自動更新され、常に最新版に保たれます。
curl -fsSL https://claude.ai/install.sh | bash
WindowsならPowerShellから実行します。
irm https://claude.ai/install.ps1 | iex
HomebrewやWinGetでも導入できます。
しかしながらこちらは自動更新されないため、ときどき手動でアップグレードする運用になります。
特別な宗派に所属していないならまずはネイティブインストーラを選んでください。
起動とログイン
プロジェクトのディレクトリに移動してclaudeと打つだけで、対話セッションが始まります。
cd /path/to/your/project
claude
初回起動時にログインを促されるので、ブラウザで認証を済ませます。
一度ログインすれば認証情報は保存されるので、次回以降は不要です。
セッション中にアカウントを切り替えたいときは/loginと打ちます。
初めて使用するディレクトリの場合信頼するかどうかを聞かれます。
Pathを確認して問題がなければYesを選択しましょう。
十字キーで選択をしてEnterか、英語入力状態で1を入力することでも進めることができます。
最初に聞いてみること
プロジェクトで初めてClaude Codeを実行する場合、いきなり編集を頼むよりまずはコードベースを理解してもらうほうが安全です。
特別なプロンプトは不要なので、自然言語で入力しましょう。
このプロジェクトは何をするもの?
メインのエントリーポイントはどこ?
フォルダ構成を説明して
そのうえで小さな変更を頼んでみます。
メインファイルに hello world を返す関数を追加して
Claude Codeはプロンプトに従って該当ファイルを探し、変更案を提示し、承認を待ってから編集します。
後述する特別な設定をしていない限り勝手に書き換えることはありません。
この提案から承認、反映という流れが基本動作です。
次章の権限モードは、この承認の頻度を調整する仕組みになります。
よく使う起動コマンドとスラッシュコマンド
日々もっとも使う形はこの数個です。
| コマンド | 役割 |
|---|---|
claude |
対話モードで起動する |
claude "タスク" |
その場でタスクを一回実行する |
claude -p "質問" |
一回だけ実行して終了する(スクリプト向き) |
claude -c |
直前の会話を再開する |
claude -r |
過去の会話を選んで再開する |
セッション中はスラッシュコマンドが効きます。
| コマンド | 役割 |
|---|---|
/help |
コマンド一覧を出す |
/clear |
会話履歴をリセットする |
/init |
設定ファイルを自動生成する |
/usage |
利用料を確認する |
/context |
コンテキスト使用量を見る |
/model |
モデルを切り替える |
/memory |
記憶ファイルを確認する |
/resume |
過去の会話を選んで再開する |
/rewind |
編集や会話を巻き戻す |
/を打つと候補が出るので暗記する必要はありません。
迷ったらセッション内で/helpと打つか、Claude自身に日本語で聞けば教えてくれます。
Googleで調べる必要はありません。困ったときの最短ルートです。
権限モードで安全と速度を切り替える
Claudeがファイルを編集したりシェルコマンドを実行したりネットワークにアクセスしようとするとき、いったん止まって承認を求めます。
権限モードは、この止まって聞く頻度を決める設定です。
慎重に進めたい作業では頻繁に確認をさせて、信頼できる作業では中断を減らす。
状況に応じて臨機応変に調整ができます。
CLIではShift+Tabを押すたびにモードが循環します。
標準ではdefault→acceptEdits→plan→autoの順で切り替わります。
現在のモードはステータスバーに表示されます。
起動時のフラグや設定ファイルで既定値を決めることもできます。
主なモードを、確認なしで実行できる範囲とともに整理します。
| モード | 確認なしで実行できること | 向いている場面 |
|---|---|---|
default |
読み取りのみ | はじめての利用、慎重に進めたい作業 |
acceptEdits |
読み取りとファイル編集、mkdirやmvなどの基本操作 |
レビューしながらコードを回すとき |
plan |
読み取りのみ(編集せず計画を提示) | 変更前にコードベースを調査したいとき |
auto |
バックグラウンドの安全チェック付きでほぼすべて | 長時間タスク、確認疲れを減らしたいとき |
すべてのモードで.gitや.claudeなどの保護されたパスへの書き込みは自動承認されません。
リポジトリの状態やClaude自身の設定を事故から守る仕組みです。
ここからは最初に使いこなしたいplanと、強力なぶん理解が要るautoを詳しく見ます。
planモード
planモードは、変更を加えさせず調査と提案だけをさせるモードです。
ファイルを読み調査のためにコマンドを動かし、計画を文章で示します。
ファイルの編集はこのモードでは絶対に行われません。
Shift+Tabで入るか、単発ならプロンプトの先頭に/planを付けます。
claude --permission-mode plan
計画ができあがると、Claudeはそれを提示してどう進めるかを尋ねます。
ここで「autoで進める」「編集を承認しながら進める」「1つずつ手動で確認する」「フィードバックを返してさらに練る」などを選べます。
承認するとplanモードを抜け、選んだ進め方に応じた権限モードへ切り替わって編集が始まります。Ctrl+Gを押せば、提案された計画をエディタで直接編集してから進めることもできます。
大きめの変更や、いきなり書き換えられると不安な作業では、まずplanモードで全体像を握ってから実行に移すと安全です。最初のうちは、とりあえずplanで聞いてみるのを癖にするといいでしょう。Claudeの理解度を確認しながら進められます。プロジェクトの既定をplanにしたい場合は、.claude/settings.jsonにdefaultModeを設定します。
autoモード
autoモードは、権限プロンプトを出さずにClaudeを実行させるモードです。
accept edits onのようなただの全部許可ではありません。
実行前に別の分類器モデル(classifier)が各アクションを審査します。
依頼を超えてエスカレートする操作、見覚えのないインフラを対象にした操作、悪意あるコンテンツに誘導されたような操作をブロックします。
autoモードはプロンプトは減りますが、安全性を保証するものではありません。
方向性を信頼できるタスクで使うもので、機微な操作のレビューを置き換えるものではないと理解して使ってください。
利用には対応モデルやプロバイダーなどの条件があります。現在の要件は公式ドキュメントで確認してください。
classifierが既定でブロックするのは、curl | bashのようなコードのダウンロード実行、外部エンドポイントへの機微データ送信、本番デプロイやマイグレーション、クラウドストレージの大量削除、mainへの直接pushやforce pushなどです。
逆に、作業ディレクトリ内のローカルファイル操作、宣言済みの依存関係のインストール、読み取り専用のHTTPリクエスト、自分が始めたブランチへのpushなどは既定で許可されます。
覚えておくと便利なのは、会話の中で口頭で引いた線もclassifierが尊重する点です。
「pushはしないで」「レビューするまでデプロイは待って」と伝えれば、既定で許可される操作でもブロックされます。
この境界は、あとのメッセージで解除するまで有効です。確実に止めたいルールは、口約束ではなく権限のdenyルールとして書くのが堅実です。
ブロックが連続したり累積で一定回数に達したりすると、autoモードはいったん停止して通常の確認に戻ります。
承認すれば再開します。
頻繁にブロックされるのは、classifierがあなたのインフラの文脈を知らないサインです。
/feedbackで報告するか、管理者に信頼するインフラを設定してもらうと改善します。
初学者へのおすすめは明確です。まずはdefaultかacceptEditsでClaudeの挙動に慣れ、autoは信頼できる作業に限って後から使ってください。
モデルを選ぶ
Claude Codeでは、タスクに応じてモデルを選べます。バージョン番号を覚えずに済むよう、エイリアスが用意されています。
| エイリアス | 中身 | 用途 |
|---|---|---|
default |
プランに応じた推奨モデルに戻す特別値 | 迷ったらこれ |
sonnet |
最新のSonnet | 日々のコーディングやplanの作成 |
opus |
最新のOpus | 複雑な推論や設計 |
haiku |
高速で軽量なHaiku | 単純なタスク |
sonnet[1m] / opus[1m]
|
100万トークンのコンテキスト窓 | 巨大なコードベースの長時間セッション |
モデルの設定や料金形態は頻繁に切り替わります。
使用の際はこの記事のような二次情報ではなく、必ず一次情報を確認するようにしましょう。
https://code.claude.com/docs/ja/model-config
/modelコマンドで表示されるエイリアスは常に最新バージョンを指します。
特定のバージョンに固定したいときだけ完全なモデル名を使います。
執筆時点での最上位はOpus 4.8で、opusを選べばこれが使われます。
切り替え方は、優先度の高い順にセッション中の/model <エイリアス>、起動時の--modelフラグ、環境変数、設定ファイルのmodelフィールドの4通りです。
# Opusで起動する
claude --model opus
# セッション中にSonnetへ切り替える
/model sonnet
困ったらDefaultにすることを強くお勧めします。
感覚が麻痺していますがSonnet 4.6時点も十分過ぎるほどのClaudeは賢いので、大体のタスクは問題なく片付きます。
自分の中で何をやらせたいのかが明確な場合にのみOpusを使うことで利用上限に触れることを避けられます。
effortで思考量を調整する
effortは、Claudeがどれだけ深く推論するかを段階で指定する設定です。
低いほど速く安く、高いほど深く考えます。
段階は低いほうからlow、medium、high、xhigh、maxの5つです。
参考までにOpusの既定はhighで、品質と体験のバランスが良い水準とされています。
Anthropicはコーディングやエージェント用途ではxhighから始めることを推奨しています。
長時間の自律的な作業ほど効いてきます。
分類や抽出、整形、短い要約のような軽い作業ではmediumやlowに下げます。
maxはそれで明確に良くなると確かめた場面だけに取っておくのが賢明です。深く考え過ぎるあまり返ってあんまりな成果になることが多いです。
日常作業で常に上限へ張り付けると、ルーチンワークを考えすぎてかえって遅くなります。
設定方法は複数あります。
# セッション中にレベルを変更する(autoでモデル既定に戻す)
/effort xhigh
/effort auto
# 起動時に単発で指定する
claude --effort xhigh
/modelの選択画面では、左右の矢印キーでeffortスライダーを動かせます。
現在のeffortレベルはロゴやスピナーの横に表示されるので、/modelを開かずに確認できます。
迷ったら、コーディングはxhighを基準にして、軽い定型作業のときだけmediumに下げる。このメリハリが扱いやすいはずです。
セッション・プロジェクトの関係
次はエンジニアこそ押さえておきたいClaude Codeの専門用語についてです。ここではsessionとprojectの2つを覚えておけば問題ありません。
sessionはclaudeを起動してから終えるまでの一回の会話です。
claudeコマンドで実行すると毎回まっさらなコンテキストから始まります。
会話履歴は自動で保存されるので、先述したclaude -cやclaude -rで後から再開できます。
projectはあなたがclaudeを起動したディレクトリ、つまり作業ディレクトリです。
Claude Codeはこのプロジェクト単位で物事を整理します。
claudeを実行すると、その作業ディレクトリに対応するフォルダが~/.claude/projects/の下に作られ、そこに会話履歴や自動メモリ(後述)が保存されるわけです。
フォルダ名は実行ディレクトリのパスをもとに決まり、パスの区切りはハイフンに置き換わります。
この関係は、~/.claude/の中身を見るとそのまま形になっています。
~/.claude/
├── CLAUDE.md # 全プロジェクト共通の個人指示(毎セッション読まれる)
├── settings.json # 全プロジェクト共通の既定設定(権限・モデルなど)
├── projects/ # プロジェクト単位の作業履歴の保存先
│ └── -Users-you-dev-myapp/ # 実行ディレクトリのパス(区切りはハイフン)
│ ├── (session-id).jsonl # 会話履歴(claude -c / -r が読む)
│ └── memory/
│ ├── MEMORY.md # 自動メモリの索引(毎セッション読まれる)
│ └── debugging.md # トピック別メモ(必要なときだけ読まれる)
├── rules/ # 全プロジェクトに効く個人ルール
├── skills/ # 個人用スキル(/名前 で呼び出す)
├── commands/ # 個人用コマンド
├── agents/ # 個人用サブエージェント
└── output-styles/ # 出力スタイル
~/.claude/はマシンに1つだけ存在し、ここに置いたCLAUDE.mdやsettings.jsonはすべてのプロジェクトで読み取られ影響を及ぼします。。
一方でprojects/の下は、claudeを起動したディレクトリごとに1フォルダずつ作られます。session(一回の会話)はこのフォルダの中にJSONLとして積み上がり、自動メモリも同じフォルダのmemory/に溜まっていきます。
projectは記憶と履歴の入れ物で、sessionはその中に時系列で並ぶ一回ぶんの会話、という関係です。
CLAUDE.mdでプロジェクトに指示を持たせる
セッションが毎回まっさらから始まる以上、同じ説明を繰り返さないための仕組みが要ります。
その中心がCLAUDE.mdです。
毎セッションの開始時にClaudeが読み込むMarkdownファイルで、毎回伝え直していることを書き留める場所だと考えてください。
ビルドやテスト、lintのコマンド、コーディング規約、プロジェクト構成、常に守ってほしいルールなど、毎回Claudeに保持してほしい事実を置きます。
置き場所とスコープ
CLAUDE.mdはスコープごとに置き場所が分かれていて、広いスコープから順に読み込まれます。
| スコープ | 置き場所 | 用途 |
|---|---|---|
| ユーザー | ~/.claude/CLAUDE.md |
全プロジェクト共通の個人設定 |
| プロジェクト |
./CLAUDE.mdまたは./.claude/CLAUDE.md
|
チームで共有する規約(バージョン管理に含める) |
| ローカル | ./CLAUDE.local.md |
個人専用の設定(.gitignoreに入れる) |
例外はありますが、個人やチームの利用ではまず上の3つで足ります。
中身は人間が書くプレーンなMarkdownです。言語に依存しない最小例を示します。
# プロジェクト規約
## 言語
日本語
## コマンド
- ビルド: <build command>
- テスト: <test command>
- Lint: <lint command>
## 規約
- インデントはスペース2つ
- コミット前に必ずテストを実行する
- API ハンドラは src/api/handlers/ に置く
読み込まれる順序
Claude Codeは起動したディレクトリから親ディレクトリへとさかのぼり、各階層のCLAUDE.mdとCLAUDE.local.mdを探して読み込みます。
見つかったファイルは上書きされず、すべて連結されてコンテキストに入ります。
順序はファイルシステムのルート側から作業ディレクトリ側へと並び、起動した場所に近い指示ほど後に読まれます。
同じ階層ではCLAUDE.local.mdがCLAUDE.mdの後に置かれるので、個人のメモが最後に読み取られます。
作業ディレクトリより下のサブディレクトリにあるCLAUDE.mdは、起動時には読まれません。
Claudeがそのディレクトリのファイルに触れたときに読み込まれます。
initで雛形を作る
毎回ファイルをゼロから作成する必要はありません。
/initを実行すると、Claudeがコードベースを解析し、ビルドコマンドやテスト手順、見つけた規約を含むCLAUDE.mdのたたき台を自動生成します。
すでにファイルがある場合は、上書きせず改善案を提案してくれます。
Claude Codeを実行したらまず/initで土台を作り、Claudeが自力では気づけない事情を足していくのが近道です。
書き方のコツ
CLAUDE.mdはコンテキスト窓に丸ごと読み込まれてトークンを消費するので、要点を押さえた書き方が効果を発揮します。
「コードを整形して」ではなく「インデントはスペース2つ」。「テストして」ではなく「コミット前に決められたテストを実行」のように、検証できるレベルまで具体化してください。
Claudeが一貫して従いやすくなります。
CLAUDE.mdは1ファイル200行以内を目安にして、特定のタスクでしか要らない指示は別の仕組みに逃がすと毎回のコンテキストが軽く保てます。
ファイルが育ってきたら、@path/to/file.mdの記法で別ファイルを取り込んで整理することもできます。
強制ではなく指示である点
ぜひ覚えていただきたい性質として、CLAUDE.mdはシステムプロンプトの直後にユーザーメッセージとして渡される指示であって、強制される設定ではありません。
Claudeは読んで従おうとしますが、厳密な強制ではないので、曖昧だったり矛盾したりする指示には一貫して従えないことがあります。
コミット前に必ず走らせたい処理のように、確実に実行させたいものは後述のhookとして書くのが正解です。
いま何が読み込まれているかは/memoryで確認でき、そこからファイルを開いて編集もできます。
なお、CLAUDE.mdとは別に、Claudeが作業しながら学んだことを自分で書き溜める自動メモリという仕組みもあります。
ビルドコマンドやデバッグの知見などを、将来役立ちそうだと判断したときに~/.claude/projects/<プロジェクト>/memory/へ保存します。中身は英語ではありますがただのMarkdownなので、/memoryからいつでも読んで直して消せます。
.claudeディレクトリの全体像
CLAUDE.mdと自動メモリに慣れたら次は.claudeディレクトリです。
プロジェクト直下の.claude/とホームの~/.claude/の2階層があります。
前者は同じプロジェクトで作業するチーム内で共有する設定、後者はあなた個人の全プロジェクト共通の設定です。
プロジェクト側で最初に触るのは2つです。
settings.jsonは権限やhook、モデル既定、環境変数などを設定するファイルです。
CLAUDE.mdと違って実際に強制されます。
settings.local.jsonはその個人用オーバーライドでです。
settings.jsonでは、npm testなどを確認なしで許可してrm -rfをブロックする、といった制御ができます。(コマンド部分は各プロジェクトのツールに置き換えてください)
allowに配置したコマンドは実行時に許可を求められなくなり、denyに設定したコマンドは絶対に実行されなくなります。
askは毎回必ず聞かれるようなります。
{
"permissions": {
"allow": ["Bash(npm test *)", "Bash(npm run *)"],
"deny": ["Bash(rm -rf *)"]
"ask": ["Edit"]
}
}
denyに追加したコマンドについても、autoモードを実行している間などは
「deny」に設定されているコマンドなので他の方法で削除します。
のように抜け道を探そうとする場合があります。あくまでも禁止するのは記載したコマンドだけということに注意しましょう。
このほか.claude/には、指示をトピック別に分割するrules/、再利用可能なワークフローを置くskills/、独自のコンテキストを持つサブエージェントを定義するagents/などが入ります。
最初に触るのはCLAUDE.mdとsettings.jsonで十分です。残りは必要になってから足していけば問題ありません。
いま実際に何が読み込まれているかはセッション内のコマンドで確認できます。
/contextでカテゴリ別のトークン使用量、/memoryで読み込まれたCLAUDE.mdやルールと自動メモリ、/permissionsで現在の許可と拒否ルール、/doctorで導入と設定の診断が見られます。
まず/contextで全体像をつかみ、気になる領域を個別コマンドで掘ると効率的です。
hooks・skills・agentsでさらに拡張する
.claude/の本領はここから先の3つにあります。
この記事では、それぞれが何なのか。作ると何が嬉しいのかだけ短く押さえます。
skillsは、/名前で呼び出すか、文脈に応じてClaudeが自動で呼び出す再利用可能なワークフローです。よく使う一連の手順をパッケージ化してチームで共有でき、参照用の資料もいっしょに束ねられるのが利点です。
agents(サブエージェント)は独自のコンテキストとツール権限を持つ専用のエージェントです。
重い調査やレビューを本筋の会話から切り離して走らせたり、複数を並行させたり、使えるツールを絞って安全に任せたりできます。
hooksはツール実行の前後など決まった場面で自動的に走るシェルコマンドです。
CLAUDE.mdが指示にとどまるのに対し、hookはClaudeの判断に関係なく必ず実行されます。編集後の自動フォーマットやコミット前のlint、危険なコマンドの遮断といった、確実に効かせたい処理に向きます。
この3つは、Claude Codeを自分のチームの作法に合わせて育てていく中核です。
具体的な作り方は別記事で詳しくまとめる予定です。ここでは存在と役割を押さえておけば十分です。
1日の典型的な流れ
ここまでの要素を作業の流れに並べ直すと、初日からこう動けます。
プロジェクトでclaudeを起動し、まず/initでCLAUDE.mdのたたき台を作ります。次に「このコードベースは何をしているか」を質問して全体像を把握させます。少し大きめの変更を頼むときは、Shift+Tabでplanモードに入り、計画を確認してから承認します。承認後はacceptEditsで編集を回し、git diffで差分を後追いレビューします。難所にぶつかったら/effort xhighで思考量を上げ、必要に応じて/model opusに切り替えます。同じ修正を二度説明したと気づいたら、その内容をCLAUDE.mdに書き足す。この一連が回り始めれば、もうClaude Codeを一通り使える状態です。
次に読む公式ドキュメント
この記事は入り口です。手が動くようになったら、次の順で読み進めると理解が深まります。
- クイックスタートで最初の実タスクをひと通り
- 一般的なワークフローとベストプラクティスで価値の引き出し方を
- 権限モードと権限設定でplanとautoの詳細を
- メモリと.claudeディレクトリでCLAUDE.mdと自動メモリの全容を
- 設定でワークフローに合わせたカスタマイズを
まずは自分のプロジェクトでclaudeと打ち、/initから始めてみてください。読むより、一度動かすのが一番の近道です。




