Claude Code 2.0で何が変わったか — 1.xからの移行点
Claude Code 2.0は設定ファイル移行やSDK刷新などbreaking changeを含みます。Plugin System・Skillsまで、59バージョンの変更点を移行の勘所ごとにまとめました。
Claude Codeのv2.0.0からv2.0.76までは59バージョンです。この区間で設定・SDK・ツール名まわりが4件破壊的に変わり、Plugin System・Skills・Bashサンドボックスという3つの新しい仕組みが入りました。1.xから上げる際に何が壊れ、何が新しく使えるようになるかを59バージョン分のchangelogから追います。
2.0系のchangelogを数えると
番号の幅
77
v2.0.0〜v2.0.76
見出しがある版
59
この記事が「59バージョン」と呼ぶ数
見出しがない番号
18
2.0.2〜2.0.4・2.0.6・2.0.7 など
見出しのない番号は、changelogに項目が立っていないだけです。「v2.0.10からv2.0.20まで」と数えても11個ぴったりにはならないので、版の間隔を測るときはchangelogにある番号で見ます。
2.0.0自体は新機能が少ない — メジャー番号と機能追加のタイミングはずれる
v2.0.0のchangelogを見ると、目立つのはネイティブVS Code拡張の刷新・/rewind・/usage・スティッキーなThinkingトグルです。もう1つの柱が、claude configコマンドの完全撤去でした。Plugin SystemもSkillsもまだありません。2.0.0はメジャーバンプでも中身は主に整理でした。
Plugin Systemが入るのは番号で12先のv2.0.12、Skillsはさらに番号で8先のv2.0.20です。メジャーバージョンの番号が上がったタイミングと、目玉機能が実際に使えるようになるタイミングは一致しません。2.0系を「Pluginsが目玉のリリース」と捉えるなら、そう呼べるのはv2.0.12以降からになります。
壊れるもの — 1.xから上げる前に確認する4点
| 変更 | バージョン | 何が壊れるか |
|---|---|---|
claude configコマンドの撤去 | バージョンv2.0.0 | 何が壊れるかv1.0.7で非推奨化されていたコマンド自体が使えなくなる。設定はセッション内の/configかsettings.jsonの直接編集で行う |
.claude.jsonの旧キー削除 | バージョンv2.0.8 | 何が壊れるかallowedTools・ignorePatterns・env・todoFeatureEnabledが読まれなくなる。settings.jsonへの移行が必須 |
| レガシーSDKエントリポイントの削除 | バージョンv2.0.25 | 何が壊れるかClaude Code側の旧SDKの入口が削除された。changelogは@anthropic-ai/claude-agent-sdkへの移行を求めている |
AgentOutputTool/BashOutputToolの廃止 | バージョンv2.0.64 | 何が壊れるか2つのツールがなくなり、TaskOutputToolに統合された。ツール名を直接書いている設定は読み替えが要る |
SDKの名称変更自体はv2.0.0で先に起きています(Claude Code SDK→Claude Agent SDK)。パッケージの実体が切り替わるのは、番号で25先のv2.0.25です。名前が変わった時点とインポート先が変わる時点にずれがあるため、「名前が変わったから」だけでは移行漏れに気づけません。
なお、2.0系全体を通じて完全に撤去された機能(コマンドやフラグ単位)の一覧はClaude Code廃止機能の一覧にまとめています。上表は「1.xから上げるときに確認すべき互換性の壁」に絞った抜粋で、撤去済み機能の網羅はそちらが担当します。
新しく使えるようになったもの
2.0系で新機能が届いた順番
- v2.0.12Plugin System
commands・agents・hooks・MCPサーバーをマーケットプレイス経由で配布。
/plugin installと/plugin validateも同時に入りました。 - v2.0.20Claude Skills
SKILL.mdベースの技能パッケージに対応。 - v2.0.24Bashサンドボックス
BashToolのサンドボックスモードがLinuxとMacで提供開始。同じ版でWebからCLIへのteleportも入りました。
- v2.0.60バックグラウンドエージェント
エージェントが手元の作業と並行して動く。
- v2.0.74LSPツール
go-to-definitionや参照検索、hoverドキュメントなどのコードインテリジェンス。
Bashサンドボックスは権限モデルの歴史の中でも大きな転換点です。操作ごとに許可を判断するのではなく、先に安全な範囲を区切ってその内側では確認しない設計で、詳しい経緯はClaude Code権限モデルの変遷とClaude Codeのサンドボックス設計にまとめています。Plugin Systemは、1.xで先に生まれていたHooksとカスタムSub-agentsを配布可能な単位にまとめ直したものです。現行のpluginsドキュメントでも、スキル・サブエージェント・hooks・MCPサーバーを1つにまとめる単位と説明されています。この系譜はClaude Code 1.x系の変遷で扱っています。
v2.1.285のclaude --helpに2.0系の入口はどう残っているか
2.0系で入った仕組みが今のCLIでどう見えるかを、v2.1.285でclaude --helpとサブコマンドのヘルプを見て確認しました(ログインは行っていません。後述のclaude config listだけは、意図せずプロンプトとして送られました)。トップレベルのCommands:にはagents・attach・logs・stop・rm・respawn・plugin・mcp・doctorなどが並び、configはありません。v2.0.0で撤去されたclaude configは、v2.1.285でも戻っていません。
v2.1.285で見えた2.0系の子孫
プラグイン
claude pluginにinstall・enable・disable・update・uninstall・list・marketplace・validate・init・pruneがあります。v2.0.12のスラッシュコマンド/plugin validateは、シェルからも打てる形になりました。バックグラウンド
--bgで起動し、claude agentsで一覧、attach・logs・stop・rm・respawnで操作します。v2.0.60の「エージェントが並行して動く」は、claude agents(--helpでは"Manage background agents")という独立したセッション管理コマンドにまで育っています。エージェント指定
--agent <agent>(v2.0.59)と--agents <json-or-file>(v2.0.0)が両方残っています。前者はagent設定を上書きしてセッション全体のエージェントを決め、後者はJSONでカスタムエージェントを定義します。
一点、つまずきやすい挙動がありました。configはサブコマンドではありません。claude config listと打つと、claudeはconfig listをプロンプトとして受け取り、エラーにならずClaudeへの依頼として送ります(使用量も消費します)。claude configが使える前提のスクリプトは、終了コードで失敗を検知できない点に注意が要ります。設定の入口は、セッション内の/configかsettings.jsonの直接編集です。
サブエージェントとHooksも2.0で拡張された
Plugin SystemやSkillsほど目立ちませんが、1.xで生まれたサブエージェントとHooksも2.0系のあいだに機能を増やしています。サブエージェントはv2.0.17でHaiku搭載の「Explore」が標準搭載されました。v2.0.28では「Plan」サブエージェントが加わり、同時にClaudeが自分でサブエージェントを再開したり使用モデルを動的に選んだりできるようになっています。v2.0.59では--agentフラグでセッション全体のエージェント設定を切り替えられます。
Hooks側はv2.0.43でSubagentStartイベントが加わりました。v2.0.45では権限リクエストを自動承認・自動拒否できるPermissionRequestフックが入り、v2.0.54では「常に許可」の提案を処理して権限設定を更新できるようになりました。v2.0.37ではNotification系イベントにマッチャーが追加され、フックが反応できる場面がさらに細かくなりました。1.xで生まれた仕組みが土台のまま、2.0系でも継続して拡張され続けました。
配布形態も広がった
機能だけでなく、Claude Codeを使う場所そのものが増えたのも2.0系の特徴です。v2.0.51ではOpus 4.5の提供開始と同時にClaude Code for Desktopが公開されました。v2.0.72ではClaude in Chrome(ベータ)によるブラウザ操作も加わっています。CLIとIDE拡張が中心だった1.x時代から、Web・デスクトップアプリ・ブラウザ連携へと利用形態が枝分かれしました。デスクトップ版とCLI・Webの使い分けはClaude Code Desktopとはを参照してください。
さらにv2.0.64では名前付きセッション(/renameで命名し/resume <name>で復帰)と、.claude/rules/ディレクトリによるルール分割管理が加わっています。サードパーティ環境の対応も並行して進み、v2.0.45でMicrosoft Foundryのサポートが始まりました。同じv2.0.45では、メッセージの先頭に&を付けるだけでバックグラウンドタスクをClaude Code on the webへ送れるようにもなっています。ローカルとWeb版の作業を行き来する導線も、このバージョンで整えられました。
権限プロンプトの刷新と、ツール・実行範囲の制限
サンドボックスとは別に、日々目にする確認ダイアログはv2.0.27で新しいUIになりました。
ツールと実行範囲を絞る仕組みはv2.0.30にまとまっています。カスタムエージェント定義にdisallowedToolsフィールドが加わり、明示的にツールを禁止できます。サンドボックス側にはallowUnsandboxedCommands設定が入り、dangerouslyDisableSandboxという抜け道をポリシーで無効化できます。同じv2.0.30ではプロンプトベースのStopフックにも対応しました。
モデルのラインアップも2.0系で刷新された
機能追加と並行して、使えるモデル自体も2.0系のあいだに入れ替わっています。Haiku 4.5はv2.0.17でモデルセレクターに追加され、v2.0.21でProプランのユーザーにも開放されました。Opus 4.5はv2.0.51で公開され、v2.0.51時点のProは追加購入での利用でしたが、v2.0.58でサブスクリプションの範囲内に入りました。新機能の追加とモデル世代の切り替えが同じ59バージョンの中で同時並行に進んでいました。
一度撤回された変更 — Output stylesの非推奨化
すべての変更が最後まで残ったわけではありません。v2.0.30でOutput stylesは一度非推奨になり、代替として--system-prompt-fileやCLAUDE.md、pluginsの利用が案内されました。ところが2バージョン後のv2.0.32で「コミュニティの反応を受けて」非推奨が撤回されています。Output stylesという機能自体は生き残りました。/output-styleコマンドはv2.1.73で「/configを使う」として非推奨になり、出力スタイルはセッション開始時に固定されるようになりました(プロンプトキャッシュのためと記載)。ところがv2.1.269のchangelogには/output-style [name]を追加し、スタイルの一覧表示と切り替えができる旨があります。v2.1.251以降はセッション途中の切り替えも次のメッセージから効くようになりました(それ以前は/clearか新しいセッションの後でした)。現行の操作手順はClaude Code output styleの切り替えは/configで行うにまとめました。
1.x → 2.0早見表
| 観点 | 1.x(v1.0.0〜v1.0.126) | 2.0.x(v2.0.0〜v2.0.76) |
|---|---|---|
| 配布・拡張の単位 | 1.x(v1.0.0〜v1.0.126)Hooks・Sub-agentsが個別に存在 | 2.0.x(v2.0.0〜v2.0.76)Plugin Systemで一括配布 |
| 設定ファイル | 1.x(v1.0.0〜v1.0.126).claude.jsonの旧キーが一部残存 | 2.0.x(v2.0.0〜v2.0.76).claude.jsonの旧キー4つを削除しsettings.jsonへ移行(v2.0.8) |
| SDK | 1.x(v1.0.0〜v1.0.126)Claude Code SDK | 2.0.x(v2.0.0〜v2.0.76)Claude Agent SDK(パッケージも刷新、v2.0.25) |
| 実行形態 | 1.x(v1.0.0〜v1.0.126)対話・ヘッドレスが中心 | 2.0.x(v2.0.0〜v2.0.76)バックグラウンドエージェントが追加(v2.0.60) |
| 権限モデル | 1.x(v1.0.0〜v1.0.126)allow/ask/denyルールが中心 | 2.0.x(v2.0.0〜v2.0.76)Bashサンドボックスが追加(v2.0.24) |
| 利用場所 | 1.x(v1.0.0〜v1.0.126)CLI / IDE拡張が中心 | 2.0.x(v2.0.0〜v2.0.76)+ Web(v2.0.24〜)・Desktopアプリ・Claude in Chrome |
よくある質問
Plugin SystemとSkillsはどちらから触るといいですか
配布・共有が目的ならPlugin System、個別の技能を定義するだけならSkillsから触る選択肢があります。プラグインはスキルやサブエージェント、hooks、MCPサーバーをまとめて運ぶ単位で、スキル単体でも使えます。それぞれの書き方はClaude Codeプラグイン完全ガイドとClaude Code Skills完全ガイドにまとめています。
Bedrock・Vertex経由の利用でも2.0の新機能は使えますか
機能によります。確認できている範囲では、Haiku 4.5のモデル自動アップグレードはv2.0.17時点でBedrock・Vertex(3P)は対象外で、ANTHROPIC_DEFAULT_HAIKU_MODELによる手動設定が必要でした。v2.0.8ではBedrockの既定Sonnetモデルが更新され、v2.0.31ではVertexでのWeb検索対応が追加されています。Bashサンドボックスなどそれ以外の機能がプロバイダごとにどう扱われるかはchangelogに個別記載がなく、本稿では確認できていません。サードパーティ経由で使う場合は、プロバイダ別の注記も合わせて確認してください。
各バージョンの全項目はどこで見られますか
本稿は移行の勘所に絞った横断視点です。1バージョンずつの全変更点はv2.0前期総まとめ・v2.0後期総まとめに分けて記録しています。
まとめ
1.xから上げるなら、先に見るのは.claude.jsonに残った旧キーと、SDKのimport元です。Pluginsを使う前提なら、起点は2.0.0ではなくv2.0.12以降です。