Tech BlogAWSツール & 技術ブログ

Claude Code & API 開発チートシート 2026年版——日常的に使うコマンド・設定・APIパターン集

この記事について

Claude CodeとClaude APIは、アップデートの頻度が高く機能も多い。個人開発をしていると「あの設定どこだっけ」「APIのパラメータ何だっけ」と調べ直すことが多く、その都度公式ドキュメントを開くのが地味に時間を食う。そこで、自分が日常的に使っているコマンド・設定・APIパターンを手元のチートシートとしてまとめた。網羅性は狙わず、自分が実際に繰り返し使うものに絞っている。

そもそもこのブログ自体、記事の執筆からツールの実装、ビルド、デプロイまでの全工程をClaude Codeで進めている。なかでもCLAUDE.mdの整備とHooksによるコミット前レビューの自動化は、ひとりで開発・運用する上での品質維持に効いている。本記事の設定例の多くは、その運用の中で実際に使っているものだ。

2026年4月時点の情報に基づいている。Claude Code v2.1.x系、Claude API(Opus / Sonnet 4.6)が対象。モデルIDなどは執筆時点のものなので、最新の値は公式ドキュメントで確認してほしい。

なお、本記事は「日常的に使うもの」を広く浅く並べたリファレンスなので、個々のトピックの深掘りはしていない。MonitorツールやHooksの実装パターンといった掘り下げが必要なテーマは、それぞれ別記事で詳しく扱っている(該当箇所にリンクを置いた)。また、AWS CLIやAWS固有の操作コマンドはこのシートには含めず、AWS開発チートシートに分けてまとめているので、AWS周りはそちらを参照してほしい。


Claude Code — 起動オプション

# 通常起動
claude

# セッションに名前をつけて起動
claude -n "機能Aの実装"

# 前回のセッションを復元
claude --resume

# 特定のセッションを復元
claude --resume <session-id>

# ワークツリーで隔離して起動
claude -w

# 自動承認モード(全ツール許可)
claude --permission-mode auto

# プロンプトを直接渡して非対話実行
claude -p "このリポジトリの構成を説明して"

# パイプで入力を渡す
cat error.log | claude -p "このエラーの原因を教えて"

# モデルを指定して起動
claude --model claude-opus-4-8

Claude Code — スラッシュコマンド

セッション管理

コマンド 説明
/clear コンテキストをクリア。無関係なタスク間で使う
/compact コンテキストを要約して圧縮。長い作業中に
/model 使用モデルを切り替える
/fast 高速モードのON/OFF切り替え
/effort モデルの思考レベルを設定

開発ワークフロー

コマンド 説明
/plan プランモード。コードを変更せず分析・設計のみ
/execute プランモードを解除して実装に入る
/simplify 変更したコードを3つの並列エージェントでレビュー
/batch 大規模リファクタ用。5〜30の並列ワークツリーエージェント

情報・デバッグ

コマンド 説明
/insights 利用統計を確認
/debug デバッグログを有効化
/help ヘルプを表示

Claude Code — キーボードショートカット

ショートカット 動作
Enter メッセージ送信
Shift+Tab モード切り替え(default → acceptEdits → auto → plan)
Option+Enter 改行を挿入(送信せずに)
Ctrl+C 実行中の処理をキャンセル
Ctrl+R プロンプト履歴を逆検索(fuzzy)
Ctrl+T タスクリスト表示
Esc 現在の入力を破棄 / ツール承認を拒否

Ctrl+Rはセッションを跨いでプロンプト履歴を検索できる。同じ指示を繰り返し使う場合に特に便利。


Claude Code — CLAUDE.md の書き方

プロジェクトルートに CLAUDE.md を置くと、毎回の会話で自動的に読み込まれる。

# プロジェクト名

## Tech Stack
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS 4

## Commands
npm run dev        # 開発サーバー
npm run build      # ビルド
npm run lint       # リント

## Coding Conventions
- 新規ファイルは .tsx で作成
- コミットメッセージは日本語

配置場所と優先順位

場所 適用範囲
~/.claude/CLAUDE.md 全プロジェクト共通
<プロジェクトルート>/CLAUDE.md プロジェクト全体
<サブディレクトリ>/CLAUDE.md そのディレクトリ以下
.claude/rules/*.md ルールファイル(テーマ別に分割)

CLAUDE.mdは200行以内に抑えるのが推奨。長くなる場合は.claude/rules/にルールファイルとして分割する。


Claude Code — Hooks

特定のイベントで自動実行されるシェルコマンドやLLM判定を設定できる。settings.jsonに記述する。

主なイベント

イベント タイミング
SessionStart セッション開始時
PreToolUse ツール実行の直前
PostToolUse ツール実行の直後
Stop Claude が応答を完了した時
PostCompact コンテキスト圧縮の完了後
UserPromptSubmit ユーザーがプロンプトを送信した時
Notification 通知発生時

設定例(settings.json)

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "command": "echo 'Bashコマンド実行: $TOOL_INPUT' >> /tmp/claude-audit.log"
      }
    ],
    "Stop": [
      {
        "command": "afplay /System/Library/Sounds/Glass.aiff"
      }
    ]
  }
}

Claude Code — Skills(カスタムスラッシュコマンド)

.claude/skills/<スキル名>/SKILL.md にファイルを置くと、カスタムスラッシュコマンドとして使える。

---
name: deploy-check
description: デプロイ前のチェックリストを実行する
---

以下を順番に確認してください:
1. npm run lint がパスすること
2. npm run build がパスすること
3. 未コミットの変更がないこと
4. mainブランチからの差分を表示すること

使用時は /deploy-check で呼び出せる。


Claude Code — サブエージェントとワークツリー

サブエージェント(並列タスク)

Claude Codeは複数のサブエージェントを並列に起動して独立したタスクを同時に処理できる。

  • isolation: "worktree" でgitワークツリーを使った隔離実行が可能
  • 各エージェントは別ブランチで作業するため、ファイル競合が起きない
  • /batch コマンドで大規模な並列リファクタリングを自動化できる

Monitor ツール

v2.1.98で追加。バックグラウンドプロセスの出力をストリーミングで監視する。

「npm run devの出力をMonitorで監視して、エラーが出たら教えて」
「CIの完了を監視して、結果を報告して」

詳しくはClaude Codeの「Monitor」ツールのススメを参照。


Claude Code — 環境変数

# 画面のちらつきを防止(マウスカーソル移動も可能に)
export CLAUDE_CODE_NO_FLICKER=1

# マウスキャプチャのみ無効化(フルスクリーンは維持)
export CLAUDE_CODE_DISABLE_MOUSE=1

# プロキシ設定(社内ネットワーク等)
export HTTPS_PROXY=http://proxy.example.com:8080

# ログの出力先を指定
export CLAUDE_CODE_DEBUG=1

NO_FLICKERの詳細

CLAUDE_CODE_NO_FLICKER=1 はターミナルの代替スクリーンバッファ(vimやhtopと同じ方式)を使ったフルスクリーン描画モードに切り替える。自分は毎日これを使っていて、個人的に一番大きい恩恵は入力ボックス内でマウスカーソルが動かせること。長いプロンプトを修正したいとき、矢印キーの連打が不要になる。

メリット デメリット
画面のちらつき解消 ターミナルのスクロールバック不可
入力ボックスでマウスカーソル移動 tmuxコピーモードとの干渉あり
メモリ使用量の安定化(長時間セッション向き) 一部ターミナル環境で問題の可能性
ツール出力の展開・折りたたみがマウスで可能

まず CLAUDE_CODE_NO_FLICKER=1 claude でお試しして、合わなければ戻せばいい。tmuxユーザーは CLAUDE_CODE_DISABLE_MOUSE=1 を追加することでマウスの干渉を回避できる。


Claude API — 基本リクエスト

Messages API(Python SDK)

import anthropic

client = anthropic.Anthropic()  # ANTHROPIC_API_KEY環境変数を使用

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=4096,
    messages=[
        {"role": "user", "content": "TypeScriptのジェネリクスを簡潔に説明して"}
    ]
)
print(response.content[0].text)

システムプロンプト付き

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=4096,
    system="あなたはAWSのソリューションアーキテクトです。回答は日本語で行ってください。",
    messages=[
        {"role": "user", "content": "S3のコスト最適化について教えて"}
    ]
)

Claude API — Tool Use(関数呼び出し)

import anthropic, json

client = anthropic.Anthropic()

# ツール定義
tools = [
    {
        "name": "get_weather",
        "description": "指定都市の天気を取得する",
        "input_schema": {
            "type": "object",
            "properties": {
                "city": {
                    "type": "string",
                    "description": "都市名(例: Tokyo)"
                }
            },
            "required": ["city"]
        }
    }
]

# ツール呼び出しを含むリクエスト
response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    tools=tools,
    messages=[
        {"role": "user", "content": "東京の天気を教えて"}
    ]
)

# レスポンスからツール呼び出しを処理
for block in response.content:
    if block.type == "tool_use":
        tool_name = block.name
        tool_input = block.input
        # ここで実際のAPI呼び出しを行い、結果を返す

Claude API — Extended Thinking(拡張思考)

複雑な推論タスクでClaudeに「考える時間」を与える機能。基本形は下記の通り。

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=16000,
    thinking={"type": "adaptive"},  # 思考の深さはモデルが判断
    messages=[
        {"role": "user", "content": "このアーキテクチャの問題点を分析して"}
    ]
)

# 思考プロセスと回答を分離して取得
for block in response.content:
    if block.type == "thinking":
        print(f"思考: {block.thinking}")
    elif block.type == "text":
        print(f"回答: {block.text}")

思考の深さは output_configeffort でも調整できる。固定トークン数で上限を指定する旧来の budget_tokens 方式は新しいモデルでは使えなくなっているので注意。詳細な指定方法やTool Useとの併用条件は変化が早いため、公式SDKドキュメントで最新仕様を確認してほしい。


Claude API — Prompt Caching

同じシステムプロンプトやツール定義を繰り返し送る場合、キャッシュで最大90%のコスト削減が可能。

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    system=[
        {
            "type": "text",
            "text": "ここに長いシステムプロンプト...",
            "cache_control": {"type": "ephemeral"}
        }
    ],
    messages=[
        {"role": "user", "content": "質問"}
    ]
)

キャッシュの仕組み

項目 内容
キャッシュ対象 システムプロンプト、ツール定義、先頭のメッセージ
デフォルトTTL 5分
1時間キャッシュ "cache_control": {"type": "ephemeral", "ttl": "1h"}
コスト削減 キャッシュヒット時、入力トークン90%オフ
最低トークン数 1,024トークン以上のブロックのみキャッシュ可能
分離単位 ワークスペース単位(2026年2月〜)

よくあるミス

  • 短いブロックにキャッシュを付けてしまう: 1,024トークン未満のブロックはキャッシュ対象にならないため、cache_control を付けても効かない。効果が出ない時はまずブロックの長さを疑う。
  • TTLの取り違え: デフォルトのTTLは5分。それより長い間隔でしか呼ばないなら、ttl1h に指定しないとキャッシュが切れて毎回フルコストになる。

Claude API — Batch API

大量リクエストを非同期で処理。50%のコスト削減。

# バッチリクエストの作成
batch = client.messages.batches.create(
    requests=[
        {
            "custom_id": "request-1",
            "params": {
                "model": "claude-sonnet-4-6",
                "max_tokens": 1024,
                "messages": [
                    {"role": "user", "content": "質問1"}
                ]
            }
        },
        {
            "custom_id": "request-2",
            "params": {
                "model": "claude-sonnet-4-6",
                "max_tokens": 1024,
                "messages": [
                    {"role": "user", "content": "質問2"}
                ]
            }
        }
    ]
)

# バッチの状態確認
status = client.messages.batches.retrieve(batch.id)
print(status.processing_status)

コスト最適化の組み合わせ

Prompt Caching(90%オフ)+ Batch API(50%オフ)で最大95%のコスト削減が可能。大量の類似リクエストを処理する場合に有効。


Claude API — Managed Agents(2026年4月〜)

自社サービスにAIエージェントを組み込むためのマネージドインフラ。パブリックベータとして提供中。

# Managed Agentsヘッダーの設定(SDK が自動設定)
client = anthropic.Anthropic(
    default_headers={
        "anthropic-beta": "managed-agents-2026-04-01"
    }
)

# エージェントセッションの作成
session = client.agents.sessions.create(
    agent_id="agent_xxx",
    messages=[
        {"role": "user", "content": "このデータを分析して"}
    ]
)

Managed Agentsの特徴

項目 内容
料金 $0.08/セッション時間 + 通常のトークン料金
サンドボックス セキュアなコード実行環境を提供
セッション 長時間実行。切断しても再接続可能
チェックポイント 進捗が自動保存される
マルチエージェント 複数エージェントの協調(Research Preview)

詳しくはClaude Managed Agentsとは?を参照。


Claude API — モデル一覧と選び方(2026年4月時点)

モデル ID 特徴 用途
Opus 4.8 claude-opus-4-8 最高性能。複雑な推論 コード生成、設計、分析
Sonnet 4.6 claude-sonnet-4-6 バランス型。速度と品質 一般的な開発タスク
Haiku 4.5 claude-haiku-4-5 高速・低コスト 分類、要約、簡単な応答

出力トークン上限の拡張

Opus / Sonnetの上位モデルはBatch APIでベータヘッダーを使用すると最大300kトークンの出力が可能。

client = anthropic.Anthropic(
    default_headers={
        "anthropic-beta": "output-300k-2026-03-24"
    }
)

実践Tips

Claude Codeの効率的な使い方

  1. タスクの切り替え時に /clear — モデルは会話の文脈全体を踏まえて応答するため、無関係なコンテキストが残ると判断材料にノイズが混ざり精度が落ちる。話題が変わったら区切るのが安全。
  2. 長い作業中は /compact — 会話が長くなるほど毎ターンのトークン消費が増えるため、要約して圧縮することでセッションを長く使える。
  3. CLAUDE.mdを整備する — プロジェクト固有の前提(技術スタック・命名規則・コミット規約など)を毎回伝え直すのは手間。CLAUDE.mdに書いておけば自動で読み込まれ、指示の繰り返しがなくなる。
  4. /plan で設計してから /execute — 大きなタスクをいきなり実装させると方針がぶれやすい。先に全体像を固めることで手戻りを減らせる。
  5. サブエージェントで並列化 — 互いに依存しないタスクは、ワークツリーで隔離して並列に実行できる。ファイル競合を避けつつ待ち時間を減らせる。

Claude APIのコスト管理

  1. Prompt Cachingを必ず使う — システムプロンプトやツール定義など、毎回同じ内容を送る部分はキャッシュが効く。入力トークンの大半を占めるなら効果が大きい。
  2. 用途に応じたモデル選択 — モデルによって性能とコストが異なる。全タスクに最上位モデルは不要で、分類・要約のような軽いタスクはHaikuで十分なことが多い。
  3. 大量処理はBatch API — 即時応答が不要な大量リクエストは非同期処理でコストを抑えられる。Cachingと併用するとさらに下がる。
  4. max_tokensを適切に設定 — 出力上限を必要以上に大きくしても、生成が長引くだけで無駄が出やすい。タスクに見合った値にする。
  5. 思考の深さ(effort)を調整する — 思考に使うトークンはコストに直結する。難しいタスクほど深く考えさせ、簡単なタスクでは抑えるなど、タスクの複雑さに応じて調整する。

まとめ

Claude CodeとClaude APIは2026年に入って機能が急速に拡充された。特に大きな変化は以下の通り。

  • Claude Code: Hooks、Skills、サブエージェント、ワークツリーによる並列開発が実用レベルに。Monitorツールで待機系タスクも自動化可能に
  • Claude API: Managed Agentsでエージェント組み込みが容易に。Extended ThinkingとTool Useの併用、300kトークン出力、Prompt Caching + Batchで最大95%コスト削減

これらは日々アップデートされているので、公式ドキュメントも合わせて確認することをおすすめする。