factsClaude Codecontext-window

stable4 日前 · 2026-08-09

Explore the context window

概要

Claude Code のコンテキストウィンドウに何が入るか、compaction で何が残るか、auto-compact window の設定方法。

仕様

セッション中にコンテキストへ入るもの

  • 入力前に読み込まれるもの: CLAUDE.md、auto memory、MCP のツール名、skill の description。output style や --append-system-prompt のテキストも同様にシステムプロンプトへ入る
  • Claude の作業中: ファイル読み取りごとにコンテキストが増える。paths: の付いた path-scoped rule は一致するファイルを読んだときに自動で読み込まれる。PostToolUse hook は各編集の後に発火する
  • subagent: 自分の別のコンテキストウィンドウで動くため、大きなファイル読み取りはメイン側に入らない。戻るのは要約と小さなメタデータのトレーラのみ
  • /compact: 会話を構造化された要約に置き換える。起動時のコンテンツの大半は自動で再読み込みされる

compaction で何が残るか

  • v2.1.198 以降、要約リクエストはセッションの extended thinking 設定を継承する。セッションで有効なら thinking 有りで推論し、無効なら無効のまま。thinking は要約の作られ方にのみ影響し、セッション設定は後で変わらない
仕組みcompaction 後
システムプロンプトと output style変わらない(メッセージ履歴の一部ではない)
プロジェクトルートの CLAUDE.md と scope 無しの ruleディスクから再注入される
Auto memoryディスクから再注入される
paths: frontmatter を持つ rule一致するファイルを再度読むまで失われる
サブディレクトリのネストした CLAUDE.mdそのサブディレクトリのファイルを再度読むまで失われる
呼び出した skill の本文再注入される。1 skill あたり 5,000 トークン、合計 25,000 トークンで打ち切り、古いものから落とされる
Hooks該当しない(hook はコンテキストではなくコードとして動く)
  • path-scoped rule とネストした CLAUDE.md は、トリガーファイルを読んだときにメッセージ履歴へ入るため、compaction で他と一緒に要約される。compaction をまたいで保持したい rule は paths: frontmatter を外すか、プロジェクトルートの CLAUDE.md へ移す
  • skill 本文の打ち切りはファイル先頭を残すため、重要な指示は SKILL.md の先頭近くに置く

コンテキストが埋まったとき

  • 上限に近づくと自動で compact されるため、コンテキストが満杯になってもセッションは終わらない
  • 自動処理の前に取れる手段
    • /compact focus on the auth bug fix のように focus 付きで実行する
    • /autocompact 500k のようにトークン数を指定して自動処理が走る閾値を設定する
    • 無関係な作業に切り替えるときは /clear
    • 大きな読み取りは subagent に委譲する
  • より大きなウィンドウが必要な場合、Fable 5、Sonnet 5、Opus 4.6 以降、Sonnet 4.6 が 1 million token のコンテキストウィンドウに対応する。Sonnet 5 は選択する [1m] variant なしで 1M で動く。compaction は大きい上限でも同じように働く

auto-compact window の設定

設定できる 3 箇所:

  • このセッションと以降: /autocompact <value>(例: /autocompact 500k)。user settings の autoCompactWindow に保存し、現在のセッションにも適用する。managed settings など優先度の高い settings スコープがこのキーを設定している場合、コマンドは値を保存するがセッションはそのスコープのウィンドウを使い、その旨を表示する。/autocompact auto でモデルに合わせたウィンドウへ戻す
  • 1 回の起動のみ: --autocompact。保存された設定を変えずにその起動だけ上書きする。claude --autocompact auto は保存設定に値があっても調整済みウィンドウで動く。/autocompact と違い、managed settings など優先度の高いスコープに先取りされない
  • スクリプト・クラウド環境: CLAUDE_CODE_AUTO_COMPACT_WINDOW。設定されている間はコマンド・フラグ・設定より優先され、/autocompact はウィンドウを変えずに override を報告する

受け付ける値(コマンドとフラグ、100K〜1M トークン):

  • 素のトークン数(200000

  • k または M 接尾辞(500k1M

  • 100〜1000 の素の数値(千単位。200 は 200,000)

  • 環境変数は素のトークン数のみを受け付ける

  • ウィンドウはモデルのコンテキストウィンドウで上限が切られる

どこにもウィンドウサイズを設定していない場合、会話がモデルのコンテキスト上限に達したときに compact する。ただし次のセッションはより早く compact する。

  • cloud session はモデルの上限に近づいた時点
  • extended context 無しの Sonnet 4.6 と Opus 4.6 は 200K の境界。200K のコンテキストウィンドウで動く Opus 4.8 と Opus 5(Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry など)も同様
  • Sonnet 5 はモデルの既定閾値

自分のセッションの確認

  • /context でカテゴリ別のライブな内訳と最適化提案を表示する。読み込まれた CLAUDE.md と auto memory のファイルも分かる
  • /memory でそれらのファイルを開いて編集する

関連

  • facts/claude-code/memory.md
  • facts/claude-code/skills.md
  • facts/claude-code/sub-agents.md
  • facts/claude-code/hooks.md
  • facts/claude-code/model-config.md
  • facts/claude-code/costs.md
  • facts/claude-code/commands.md
  • facts/claude-code/settings.md
  • facts/claude-code/env-vars.md
  • facts/claude-code/mcp.md