使用メタデータを省略するプロバイダーのセッショントークン合計を維持 - Agents/status: preserve carried-forward session token totals for providers that omit usage metadata, so `/status` and `openclaw sessions` keep showing the last known context usage instead of dropping back to unknown/0%
OpenClaw v2026.4.19-beta.2で導入された修正のトラブルシューティングガイド。
症状
使用中のプロバイダがAPIレスポンスに使用量メタデータを含まない場合(Anthropic互換エンドポイント経由のMiniMaxなど)、以下の症状が発生することがあります:
/statusを実行すると、何千ものメッセージを含む広範な会話の後でも、Context: 0/264k (0%)と表示される。openclaw sessionsコマンドを実行すると、最近のアクティビティにもかかわらず、コンテキスト使用率がunknownまたは0%と表示される。- セッションコンパクション後、コンテキスト使用率のカウンターがコンパクション後の値を反映せず、ゼロにリセットされる。
これらの症状には明示的なエラーメッセージがないため、使用量の表示が不正確であることに気づくまでは問題を見落としやすくなります。
原因
根本原因は、セッションストアがAPIレスポンスからトークン使用量データを処理する方法にあります。プロバイダがレスポンスに使用量メタデータ(input_tokens、output_tokens)を含まない場合、persistSessionAfterRun(src/agents/command/session-store.ts)内のhasNonzeroUsage()チェックがfalseを返します。これにより、totalTokens更新ブロック全体がスキップされます。
結果として、セッションエントリはtotalTokens: undefinedを維持し、/statusコマンドはこのundefined値を0%のコンテキスト使用率として解釈します。以前の実行やコンパクション操作で既にこの情報が計算されていたとしても、セッションは複数の実行全体でトークン合計を蓄積しません。
解決手順
この問題を解決するには、v2026.4.19-beta.2以降にアップグレードしてください。この修正により、現在の実行に使用量データがなくても既存のtotalTokens値が保持され、カウンターがゼロにリセットされることが防止されます。
すぐにアップグレードできない場合は、セッションファイルを直接確認してセッションの状態を手動で検証できます:
cat ~/.openclaw/sessions/<session-id>.json | grep totalTokens
値がnullまたは欠落している場合、アップグレードまで、またはプロバイダが使用量メタデータの送信を開始するまで、コンテキスト使用率表示は0%のままになります。
検証
v2026.4.19-beta.2にアップグレードした後、以下の手順で修正が機能していることを確認してください:
- 新しいセッションを開始するか、既存のセッション продолжать.
/statusを実行して、コンテキスト使用率が0%ではなく、最後にわかっていた値を表示していることを確認します。openclaw sessions listを実行し、コンテキスト使用率列がunknownや0%ではなく、意味のあるパーセンテージを表示していることを確認します。
値が保持されているが активно 更新されていない場合、古いインジケーター(デバッグ出力のtotalTokensFresh: falseなど)が表示されることがあります。これは予期される動作です—システムは零点ではなく最後にわかっていた使用量を表示するようになりました。
よくある落とし穴
- プロバイダの互換性: この修正は、使用量メタデータを省略するプロバイダに特に適用されます。プロバイダがすべてのレスポンスに使用量データを含んでいる場合、この問題は発生せず、修正がワークフローに影響を与えることはありません。
- セッションコンパクション: 保持される値は最後のコンパクションの前状态を反映します。コンパクション後、セッションは新しい
totalTokensベースラインで再開する可能性があり、これは正常な動作です。 - デバッグ: 生セッション 데이터를 检查する必要がある場合は、
openclaw sessions debug <session-id>を使用してtotalTokensFreshフラグを含む内部セッションオブジェクトを表示できます。
関連するエラー
この修正は以下の問題に対処します:
- 影響を受けるバージョン: v2026.4.19-beta.2より前
- 修正済みバージョン: v2026.4.19-beta.2以降
- 関連コマンド:
/status - 関連コマンド:
openclaw sessions - 関連イシュー: Fixes #67667
アップグレード後も問題が続く場合は、プロバイダが正しく構成されており、APIレスポンスに必要なメタデータフィールド含まれていることを確認してください。問題が解決しない場合は、サポートに連絡してください。