Claude Media
Claude Code 1.x系の変遷 — 何が生まれ何が消えたか

Claude Code 1.x系の変遷 — 何が生まれ何が消えたか

Claude Code 1.xは82バージョンでHooksとSub-agentsという2つの中核機能を生みました。GA直後の姿から何が増え、何が消えたかをchangelog全バージョンから再構成します。

Claude Codeのv1.0.0からv1.0.126までは82バージョンあります。この区間で入ったのはHooks(v1.0.38)とカスタムSub-agents(v1.0.60)という、いまのClaude Codeの土台になっている2つの仕組みです。一方で/allowed-toolsコマンドやclaude configのようにこの区間で退場した機能もあります。公式changelogに載る82バージョンから、生まれたものと消えたものを両方並べ直します。

1.0.0の時点で何が無かったのか

v1.0.0のchangelogは2行だけです。「Claude Codeが一般提供(GA)になった」ことと、「Sonnet 4とOpus 4を導入した」こと。これがスタート地点でした。

この時点で無かったものを挙げるほうが、いまの感覚とのギャップが分かります。Hooksは無く、カスタムSub-agentsも無く、Output stylesも無い。Plugin System(v2.0.12)もSkills(v2.0.20)も、次のメジャーバージョンである2.0系で入ります。

MCP自体はすでにありました。0.2系のchangelogには、MCPのSSEトランスポート対応と、.mcp.jsonに書くprojectスコープが並んでいます。claude --mcp-config <path>での一時的なサーバー指定もあります。1.xで新設されたのはMCPそのものではなく、認証や接続方式の周辺です。

GA直後の動きも早く、v1.0.11でClaude Proサブスクリプションでの利用に対応しました。Opusはv1.0.69で4.1に上がっています。

数字で見る82バージョン

欠番も含めた1.x区間の姿を、changelogの項目を数えて出すと次のとおりです。

数字

1.0.0〜1.0.126のchangelog

  • 存在するバージョン

    82

    番号は127個で45個が欠番

  • 項目の総数

    266

    1バージョンあたり平均3項目強

  • 1項目だけのバージョン

    21

    最多は v1.0.51 の9項目

  • Windows関連

    12バージョン

    v1.0.51 から v1.0.119 まで

項目を数えた集計。1項目が複数のテーマに数えられることがあります

テーマ別では、MCPに触れる版が18、権限(permission)が17、Hooksが14、SDKが11です。Hooksは項目数こそ少ないものの、v1.0.38からv1.0.112まで間隔を空けて出続けています。

生まれた機能 — 1.xで新設された5本の柱

82バージョンの中から、いまも現役で使われている機能の初出だけを抜き出すと次のようになります。

機能初出バージョン何ができるようになったか
Hooks初出バージョンv1.0.38何ができるようになったかツール実行の前後に任意コマンドを差し込む仕組みが公開
カスタムSub-agents初出バージョンv1.0.60何ができるようになったか/agentsで専用コンテキストのサブエージェントを定義
Background commands初出バージョンv1.0.71何ができるようになったかCtrl-bでBashコマンドをバックグラウンド実行
Output styles初出バージョンv1.0.81何ができるようになったかシステムプロンプトの人格を差し替える仕組みが公開
SlashCommand tool初出バージョンv1.0.123何ができるようになったかClaude自身がスラッシュコマンドを呼び出せるように

Hooksはどう枝分かれしていったのか

Hooksは公開された版では終わらず、1.xの終盤まで少しずつ足されました。changelogから拾ったのが次の年表です。

あゆみ

Hooks関連の主な追加

  1. v1.0.38Hooks公開

    コミュニティの意見を受けて公開されたと、changelogに書かれています。

  2. v1.0.41StopとSubagentStopに分離

    コマンドごとの任意のタイムアウト指定と、入力へのhook_event_nameの追加も同じ版です。

  3. v1.0.48PreCompactを追加

    コンテキストの圧縮(compact)に関わるイベントです。

  4. v1.0.54UserPromptSubmitを追加

    フック入力にカレントディレクトリが加わりました。

  5. v1.0.62SessionStartを追加

    新しいセッションの初期化に使うイベントです。

  6. v1.0.85SessionEndを追加

    v1.0.112では、SessionEndフックがsystemMessageを返せるようになりました。

間にはv1.0.58のCLAUDE_PROJECT_DIRもありました。v1.0.59はPermissionDecision("ask"を含む)、v1.0.68はdisableAllHooks設定です。

カスタムSub-agentsも同じ流れです。v1.0.62でサブエージェントへの@メンション、v1.0.64でモデル指定が入っています。設定の詳細はClaude Code Hooks完全ガイドとClaude Code Sub-agents完全ガイドにあります。

消えた・置き換わった機能は今どうなっているのか

新設よりも見落とされがちなのが、この区間で終わったものです。本稿が扱うのは1.x区間(v1.0.0〜v1.0.126)の退場の記録です。Claude Code全体の廃止・削除機能を版をまたいだ一覧はClaude Code廃止機能の一覧にまとめています。

変更内容バージョン中身
/allowed-toolsの改名バージョンv1.0.7中身コマンド名を/permissionsに変更。allowedToolsとignorePatternsの保存先を.claude.jsonからsettings.jsonへ移行
claude configコマンドの非推奨化バージョンv1.0.7中身settings.jsonの直接編集を推奨する方針に転換
Proxy-Authorizationヘッダー設定の削除バージョンv1.0.37中身ANTHROPIC_AUTH_TOKENやapiKeyHelper経由で設定する手段をなくした
パイプ入力の非推奨化バージョンv1.0.113中身対話モードでのパイプ渡しを非推奨に
拒否時のツール一覧非開示バージョンv1.0.124中身権限が拒否されたとき、許可済みツールの一覧をClaudeに伝えなくなった

このうちclaude configは、非推奨のあとv2.0.0のchangelogに「Unshipped claude config command」とあり、2.0系で提供が終わっています。いまのコマンド一覧にconfigが残っているかを、v2.1.289で見てみます。

claude --version
claude --help | sed -n '/^Commands:/,$p' | awk '/^  [a-z]/{print $1}'
claude --help | grep -c -- '--allowed-tools'

出力は次のとおりです(v2.1.289で確認)。

2.1.289 (Claude Code)
agents
attach
auth
auto-mode
doctor
gateway
import
install
logs
mcp
plugin|plugins
purge
respawn
rm
setup-token
stop|kill
ultrareview
update|upgrade
1

サブコマンドにconfigはありません。一方、/allowed-toolsと同じ名前の--allowed-toolsは起動オプションとして今も残っています(最後の1がそのフラグの行です)。スラッシュコマンドは/permissionsに改名されても、フラグ側の名前は変わっていません。

名前だけが残って中身が変わった例がagentsです。v1.0.60では/agentsがサブエージェントを定義する入口でした。v2.1.289のclaude agentsは、ヘルプ上では「Manage background agents」、つまりバックグラウンドで動くセッションの管理コマンドです。同じ言葉でも、1.x時代の手順をそのまま打つと別の機能に当たります。

/allowed-toolsから/permissionsへの改名は呼び方の変更にとどまりません。いまのallow・ask・denyルールの設定先をsettings.jsonに寄せる節目でした。その後の変化はClaude Code権限モデルの変遷で扱っています。

周辺機能はどう育っていたか — MCP・SDK・Windows対応

中核機能の陰で、既存の周辺機能も1.xを通じて着実に強化されています。

MCPはv1.0.27でStreamable HTTPサーバーとリモートMCP(SSE/HTTP)のOAuth対応が入りました。続くv1.0.35ではOAuth Authorization Server discoveryに対応しています。v1.0.73で複数設定ファイルの同時指定、v1.0.110でOAuthトークンの期限前の自動更新が入りました。v1.0.119ではサーバーごとの動的ヘッダー(headersHelper)も使えます。

SDKはv1.0.23でTypeScript版とPython版が同時に公開されています。v1.0.59とv1.0.68でcanUseToolコールバックによるツール確認が入りました。v1.0.77はセッション管理と権限拒否の追跡、v1.0.109は部分メッセージのストリーミング(--include-partial-messages)です。Managed Agentsでは同種の役割をuser.tool_confirmationイベントへの応答が担っており、実装ポイントはManaged Agentsのツール確認リクエストに応答する実装にあります。

このSDKは名前も実体も変わりました。v2.0.0で「Claude Agent SDK」に改称され、v2.0.25でレガシーのエントリポイントが削除されています。1.x当時のコードはそのままでは動きません。

Windows対応はv1.0.51のネイティブ対応(Git for Windows前提)から始まりました。Windowsと明記された項目はv1.0.51からv1.0.119まで12バージョンにわたります。v1.0.54はOAuthポートとモード切り替えのキー、v1.0.56はShift+Tabの対応でした。v1.0.65はシェル環境、v1.0.68は権限チェック、v1.0.93はクリップボード画像貼り付け、v1.0.106はパス権限のPOSIX形式への統一と続きます。クロスプラットフォーム対応は、一度では終わらない作業でした。

地味だが便利になった機能たち

中核機能ほど目立ちませんが、日々の作業を軽くする追加も1.xの中で積み重なっています。v1.0.58でPDFファイルの読み取りに対応し、v1.0.71ではターミナルのプロンプトを自作できる/statuslineが入りました。v1.0.94では/memoryで読み込んだメモリファイルを直接編集でき、同時に/todosでタスク一覧を確認できるようになっています。

v1.0.77の「Opus Plan Mode」は、/modelの新設定で計画立案だけOpus・実行はSonnetに分けるものでした。v1.0.88ではANTHROPIC_DEFAULT_SONNET_MODELとANTHROPIC_DEFAULT_OPUS_MODELが入りました。opusplan・opus・sonnetのエイリアスの向き先を、環境変数で選べます。

HooksとSub-agentsは2.xでどう束ねられたのか

Hooks(v1.0.38)とカスタムSub-agents(v1.0.60)は、1.xの前半から中盤にかけてv1.0.38とv1.0.60という近い時期に入りました。2.0系で公開されたPlugin System(v2.0.12)は、配布の仕組みです。changelogには、対象が「custom commands, agents, hooks, and MCP servers」と書かれています。配布の対象に、1.xで先に固まったHooksとSub-agentsが並んでいます。

Output stylesは扱いがもっと不安定でした。v2.0.30で一度非推奨になり、v2.0.32で「コミュニティの反応を受けて」撤回されています。/output-styleコマンドはv2.1.73で非推奨になりましたが、v2.1.269で一覧表示と切り替えを行うコマンドとして戻りました。切り替え方の現行手順はClaude Code output styleの切り替えは/configで行うにまとめています。

欠番から読める1.xの進み方

v1.0.2・v1.0.3・v1.0.5のように、changelogに載らない番号が途中に散らばっています。v1.0.95からv1.0.105までは、v1.0.97だけが記録された区間です。

1項目だけのバージョンが多いことと合わせると、1.xは大きな機能を単発で足すバージョンと、小さな修正だけのバージョンが混在して進んでいました。Hooks(v1.0.38)やSub-agents(v1.0.60)のような大きな追加でも、その版の項目は1行です。changelogの行数で、機能の重さは測れません。

1バージョンずつの全変更点を追うなら、v1.0前半総まとめとv1.0後半総まとめ、1.0より前の0.2系はv0.2系の歩みに分けて記録しています。

まとめ

古い記事の手順が動かないときは、/allowed-toolsやclaude configのように名前が変わった操作か、agentsのように名前だけ残って中身が変わった操作を疑う価値があります。1.xから2.0系へ上げる際に何が壊れるかはClaude Code 2.0で何が変わったかにまとめました。

この記事を共有:XはてブLinkedIn