Skip to content

原文(日本語に翻訳)

プロファイルエンドポイントがトークン更新中に一時的に失敗した場合に、.credentials.json から subscriptionType(「Claude Pro」/「Claude Max」ではなく「Claude API」と表示される)が失われていた問題を修正しました

原文(英語)

Fixed .credentials.json losing subscriptionType (showing "Claude API" instead of "Claude Pro"/"Claude Max") when the profile endpoint transiently fails during token refresh

概要

OAuth認証でのトークン自動更新中にプロファイルAPIエンドポイントが一時的にエラーになった場合、.credentials.json に保存されている subscriptionType フィールドが消えてしまうバグがありました。これにより、Claude ProやClaude Maxのユーザーが「Claude API」として表示されてしまい、利用可能な機能や表示が正しくない状態になっていました。修正後は一時的な障害時でも既存の subscriptionType が保持されます。

基本的な使い方

この修正は自動的に適用されます。トークン更新後もサブスクリプションタイプが正しく表示されるようになります。

bash
# アップデート後は一時的なネットワーク障害があっても
# サブスクリプションタイプが保持される
claude
# → "Claude Pro" または "Claude Max" と正しく表示される

実践例

サブスクリプションタイプの確認

bash
# 現在の認証情報を確認
cat ~/.claude/.credentials.json | python3 -m json.tool | grep subscriptionType

# 期待される出力(Claude Pro の場合)
# "subscriptionType": "claude_pro"

# 期待される出力(Claude Max の場合)
# "subscriptionType": "claude_max"

問題が起きていた状況の再現(修正前)

シナリオ:
1. Claude Pro ユーザーがアクセストークンの有効期限切れ
2. Claude Code がバックグラウンドでトークンを更新
3. 更新時にプロファイルエンドポイントが一時的にタイムアウト
4. credentials.json の subscriptionType が削除される
5. UI に "Claude API" と表示される(誤り)

修正後:
4. 一時的な障害の場合は既存の subscriptionType を保持
5. 正しく "Claude Pro" と表示される

認証情報のリセットが必要な場合

bash
# もし修正後も "Claude API" と表示される場合は再ログイン
/logout
/login
# → 正しい subscriptionType で再認証される

注意点

  • この問題はOAuth認証(Claude.ai アカウント)を使用しているユーザーに影響します
  • API キー認証のユーザーには影響しません
  • 一時的なネットワーク障害時のみ発生していたため、再現が困難なバグでした
  • 修正後もサブスクリプションタイプが正しく表示されない場合は、一度 /logout してから再ログインしてください

関連情報