3.22は古いアーキテクチャを引き剥がし、基盤を作り直しました。12のBreaking Changes、新しいプラグインレジストリ、30のセキュリティパッチ。OpenClaw史上最大のリリースでした。
同時に、多くのものが壊れました。
3.23は、患者が手術を乗り越えたことを確認するリリースです。3つのBreaking Changes — すべて前向きなもの。40以上の修正 — そのほとんどが3.22で露出した問題の後始末です。リリース間隔はわずか1日。待てない問題があったからです。
Breaking Changes
今回は3つだけ。しかも、あなたが使っているものを削除するものは一つもありません。
Qwen に DashScope 標準エンドポイントが追加
Qwenプロバイダに、既存のCoding Planエンドポイントに加えて、中国およびグローバルのAPIキー向けDashScope標準(従量課金)エンドポイントが追加されました。プロバイダグループは Qwen (Alibaba Cloud Model Studio) に名称変更されています。
なぜこれが重要か。以前のQwen統合はCoding Planキーのみをサポートしていました — Alibaba Cloudの提供するサービスのごく一部です。中国国内でDashScope APIキーを使っている方や、グローバルキーで標準課金を利用している方は、回避設定なしでQwenモデルがそのまま動くようになりました。
Control UI の整理
ボタンプリミティブが統合されました(btn--icon、btn--ghost、btn--xs)。KnotテーマがWCAG 2.1 AAコントラスト比を満たす黒と赤のパレットに変更。設定セクション — Diagnostics、CLI、Secrets、ACP、MCP — に専用アイコンが追加。丸みスライダーは離散的なステップに置き換えられました。使用フィルタ全体にaria-labelsが追加され、アクセシビリティが向上しています。
古いボタンクラスやKnotテーマ変数をターゲットにしたカスタムCSSがある場合は、オーバーライドを確認してください。
CSP スクリプトハッシュ
配信されるindex.htmlのインライン<script>ブロックに対してSHA-256ハッシュが計算され、script-src CSPディレクティブに含まれるようになりました。インラインスクリプトはデフォルトでブロックされたままで、明示的にハッシュされたブートストラップコードのみが許可されます。Control UIにカスタムインラインスクリプトを注入していた場合、ハッシュを追加しない限りブロックされます。
認証・資格情報システムの全面修正
認証と資格情報システムで8件の修正。3.22以降で最も問題が多かった領域であり、その修正過程自体が一つの教訓です — 稼働中のシステムの下でインフラを再構築すると何が起きるか。
最重要の修正:ゲートウェイのauth-profileリアルタイム書き込みが、保存したばかりの資格情報をメモリ内の古い値に巻き戻していました。新しいOpenAIトークンを貼り付けて保存しても、期限切れのトークンに戻ってしまう。Configure、Onboard、トークン貼り付けのすべてのフローが同じ根本原因の影響を受けていました。修正済み。
Operatorスコープの保持:デバイス認証バイパスパスがoperatorスコープを暗黙的に破棄しており、operatorセッションが失敗したりread権限が必要なページが白紙になる問題がありました。キャッシュされた不十分なスコープのトークンは無視されるようになり、本当にreadスコープがない場合は明確なフォールバックメッセージが表示されます。
CLIチャンネル認証:単一チャンネル構成で、唯一のログイン可能なチャンネルが自動選択されるようになりました。Channel IDはプロトタイプチェーンおよび制御文字の悪用に対して強化されています。オンデマンドのチャンネルインストールはcatalogベースのインストールに適切にフォールバックします。
ClawHub macOS認証(3件の関連修正):ClawHubログイントークンがmacOS Application Supportパスから読み取れるようになり、XDG configパスもフォールバックとしてサポートされます。ゲートウェイのスキルブラウジングはログイン済みの認証状態を使用し、未認証モードへの暗黙的なフォールバックがなくなりました。browse-allリクエストはsearchに切り替わり、未認証の429レート制限への到達を回避します。
OAuthプロキシサポート:環境設定のHTTP/HTTPSプロキシディスパッチャがトークン交換およびプリフライトリクエストの前に初期化されるようになり、プロキシが必要な環境でもMiniMaxおよびOpenAI Codexのサインインフローを完了できます。以前は、プロキシ環境でCodex OAuthトークンが期限切れになると、ユーザーがロックアウトされていました。
スラッシュコマンド認可:チャンネルのallowFrom解決が未解決のSecretRefベースのアカウントにヒットした場合でも、認可がクラッシュしたり有効なallowlistを破棄しなくなりました。影響を受けるモデル推論パスのみがfail closedされます。
ブラウザの安定性:ハンドシェイクを急がない
2件の修正、1つのテーマ:ブラウザが本当に準備できる前に、状態を判定しないこと。
macOS Chrome接続:MCP経由で既存のChromeセッションにアタッチする際、初期ハンドシェイクの時点で「準備完了」と判定されていましたが、実際にはブラウザタブはまだ使用可能な状態ではありませんでした。これにより、macOSでユーザープロファイルのタイムアウトや認証確認の繰り返しポップアップが発生していました。修正では、アタッチ後にタブが完全に使用可能になるまで待機するようになりました。
ヘッドレスLinux CDP:低速なヘッドレスLinux環境で、CDP検出中の短い到達性失敗が即座にブラウザの完全再起動をトリガーしていました。これにより、2回目のブラウザ起動/オープンでリグレッションが発生していました。修正では、短い到達性ミスの後、再起動検出にフォールバックする代わりに、すでに実行中のループバックブラウザを再利用するようになりました。
両方のバグに共通するパターン:システムが状態遷移を判断するのに性急すぎました。応答の短い遅延が失敗として扱われ、コストの高いリカバリパスがトリガーされ、事態を悪化させていました。
プラグインエコシステム:ClawHub移行の後処理
3.22でプラグインエコシステムがClawHubに移行しました。3.23はその掃除を仕上げます。
- •バンドルランタイムsidecarが復活:WhatsApp
light-runtime-api.js、Matrixruntime-api.jsなどのプラグインランタイムエントリファイルがnpmパッケージから欠落していました。グローバルインストールでバンドルプラグインランタイムの欠如エラーが発生していました。修正済み。 - •ClawHubインストール互換性:プラグインAPI互換性がインストール時のアクティブなランタイムバージョンに対して解決されるようになりました。
>=2026.3.22ClawHubパッケージのインストールをブロックしていた古い1.2.0定数はリグレッションカバレッジに置き換えられました。 - •アンインストールがClawHub形式に対応:
openclaw plugins uninstall clawhub:<package>が、記録されたインストールがバージョン固定されていても正常に動作するようになりました。 - •LanceDBの初回使用時自動ブートストラップ:
memory-lancedbプラグインが、バンドルnpm installにLanceDBがない場合にプラグインランタイム状態にLanceDBを自動ブートストラップするようになりました。 - •古い設定が致命的でなくなった:不明な
plugins.allowIDは致命的エラーではなく警告として扱われるようになり、プラグインがローカルに存在しなくてもplugins install、doctor --fix、statusが実行可能です。 - •Doctorクリーンアップ:
openclaw doctor --fixがプラグイン削除後に残ったplugins.allowとplugins.entriesの参照を削除し、whatsappのような組み込みチャンネルIDをplugins.allowに追加しなくなりました。 - •MatrixとLINEランタイム修正:Jiti下でのruntime-apiの重複エクスポートがMatrixバンドルインストールの起動時クラッシュを引き起こさなくなりました。LINEはstar exportの前に重複するランタイムシンボルをプレエクスポートし、
TypeError: Cannot redefine propertyを回避します。
Agentの信頼性
Agentの動作をより予測可能にする6件の修正:
- •web_searchプロバイダ:Agentターンがデフォルトや古い選択ではなく、アクティブなランタイムの
web_searchプロバイダを使用するようになりました。特定の検索プロバイダを設定していた場合、実際にそれが使われるようになりました。 - •フェイルオーバー分類:汎用
api_errorは一時的な障害シグナルを含む場合のみリトライ可能として扱われます。MiniMaxスタイルのバックエンド障害は引き続きモデルフォールバックをトリガーしますが、課金、認証、フォーマットエラーはトリガーしなくなりました。 - •サブエージェントのタイムアウト精度:タイムアウトしたworkerの待機が完了イベント送信前に最新のランタイムスナップショットに対して再チェックされるようになり、高速で完了したworkerが誤ってタイムアウトとして報告されなくなりました。
- •Anthropic thinkingブロック:トランスクリプト画像のサニタイズ中にassistant thinkingと
redacted-thinkingブロックの順序が保持されるようになり、後続ターンがAnthropicのunmodified-thinkingバリデーションに抵触することを防止します。 - •リプレイ回復:不正なassistantトランスクリプトコンテンツがセッション履歴サニタイズ前に正規化されるようになり、レガシーまたは破損したターンがPiリプレイやサブエージェントの回復パスをクラッシュさせなくなりました。
- •スキル設定注入:埋め込みスキル設定と環境変数がアクティブな解決済みランタイムスナップショットを使用し、
skills.entries.<skill>.apiKeySecretRefが埋め込み起動時に正しく解決されるようになりました。
ゲートウェイの強化
ゲートウェイの信頼性を向上させる4件の修正:
- •プローブ精度:成功したゲートウェイハンドシェイクが、接続後の詳細RPCがまだロード中の間に「到達不能」としてタイムアウトしなくなりました。低速デバイスは、偽陰性の死んだゲートウェイではなく、到達可能だがRPC失敗として報告されます。
- •Supervision安定性:
launchdとsystemd下でのロック競合がクラッシュループを引き起こさなくなりました。重複プロセスは、健全なゲートウェイがまだロックを保持している間、エラー終了ではなくリトライ待機状態を維持します。 - •認証の強制:canvasルートに認証が必要になりました。Agent session resetにはadminスコープが必要です。匿名のcanvasアクセスと非adminのresetリクエストはfail closedされます。
- •OpenRouter価格設定:
openrouter/autoの価格更新がブートストラップ中に無限再帰しなくなり、autoルートがキャッシュされた価格とusage.costを再び取得できるようになりました。
チャンネル修正
Telegramで3件の修正:メインスレッドメタデータが欠落している場合のDMトピックのスレッドコンテキストが正しく設定されるようになりました。同一チャットの受信メッセージのデバウンス順序が保持され、古いビジーセッションの後続メッセージが滞留しなくなりました。画像とGIF送信でasDocumentがforceDocumentのユーザー向けエイリアスとして追加されました。
Discord:権限不足の場合、ネイティブスラッシュコマンドがDiscordの誤解を招く汎用完了メッセージを表示する代わりに、明示的な未認証応答を返すようになりました。
Plivo音声:リプレイキーが安定化され、webhookリトライとリプレイ保護が有効な後続配信で衝突しなくなりました。
外部チャンネルカタログが出荷されたフォールバックメタデータをオーバーライドし、チャンネルセットアップ中にオーバーライドされたnpm仕様を尊重できるようになりました。
その他の修正
- •Mistral:バンドルのmax-tokenデフォルトが安全な出力バジェットに引き下げられました。
openclaw doctor --fixがコンテキストサイズの出力制限を持つ古い永続化設定を修復し、確定的な422リジェクトを回避します。 - •CLI cron:
openclaw cron add|edit --at ... --tz <iana>がオフセットなしの一回限りの日時に対してリクエストされたローカル時刻を正しく尊重するようになりました(DST境界を含む)。 - •設定警告:同一ベースの修正リリース(例:
2026.3.23-2)が書き込んだ設定を2026.3.23が読み取った際に、紛らわしい「新しいOpenClaw」警告が表示されなくなりました。 - •Exec trust:shell-multiplexerラッパーバイナリがポリシーチェックで保持され、承認済みコマンドの再構築を壊さなくなりました。BusyBox/ToyBoxのallowlistと監査フローの一貫性が維持されます。
- •セキュリティ/exec承認:shell-wrapperのallowlistマッチングがシングルクォートされた
$0/$nトークンを拒否し、改行区切りのexecを禁止しつつ、exec -- carrier形式は引き続き受け入れます。 - •キャッシュ診断:cache-trace JSONL出力から資格情報フィールドが除去され、非機密の診断フィールドと画像リダクションメタデータは保持されます。
- •飛書ドキュメント:チャンネル設定例の
botNameがnameに変更され、厳格なaccountスキーマに対応しました。 - •リリースパッケージング:バンドルプラグインとControl UIアセットが公開されたnpmインストールに保持され、出荷アーティファクトが欠落している場合にリリースチェックが失敗するようになりました。
コントリビューター
16人のコントリビューターが3.23で修正をランディングしました。特に @vincentkoc — ブラウザ、ゲートウェイ、Agent、プラグイン、セキュリティ、リリースインフラにまたがる14件の修正。大規模リリース後にプロジェクトを安定させる、まさにそういう種類の貢献です。
@BunsDev(4件の修正)、@scoootscooob、@openperf、@futhgar、@07akioni、@Drickon、@osolmaz、@bakhtiersizhaev、@Lukavyi、@ayushozha、@RolfHegr、@drobison00、@haroldfabla2-hue、@jzakirov、@sallyomに感謝します。
アップグレードノート
- •Qwenユーザー:プロバイダ設定を確認してください。標準DashScopeキー用の回避設定を使用していた場合、ネイティブエンドポイントに切り替えられます。
- •Mistralユーザー:
openclaw doctor --fixを実行して、コンテキストサイズの出力制限を持つ古い設定を修復してください。 - •カスタムCSSユーザー:Knotテーマのパレットとボタンクラス名が変更されました。オーバーライドを確認してください。
- •Control UIスクリプト注入ユーザー:インラインスクリプトにCSP SHA-256ハッシュが必要になりました。
---
3.22は胸を開いてエンジンを交換しました。3.23はすべての縫合が持つことを確認しました。
40以上の修正、8件の認証パッチ、2件のブラウザリグレッション解消、ClawHub移行後ようやくクリーンに動くようになったプラグインエコシステム。華やかな仕事ではありません。しかし、3.22のアーキテクチャ上の野心を、バグレポートなしで本番環境で実際に運用できるものに変えたのは、このリリースです。
ロブスターは順調に回復中。縫合は保たれています。