Skip to content

原文(日本語訳)

VSCode: 長時間のセッション後に OAuth トークンの有効期限が切れることによる 401 エラーを修正しました

原文(英語)

VSCode: Fixed OAuth token expiration causing 401 errors after extended sessions

概要

v2.1.27 で、VSCode 拡張機能において長時間のセッション中に OAuth トークンの有効期限が切れることで発生する 401 認証エラーが修正されました。これにより、長時間の作業でも中断されることなく Claude Code を使用できるようになりました。

注意点

  • VSCode 拡張機能限定: この問題は VSCode 拡張機能特有の問題です(CLI 版は影響を受けません)
  • 長時間セッション: 特に数時間以上の長時間作業や、複数のインスタンスを並行して実行している場合に発生していました
  • 自動復旧の改善: v2.1.27 でトークンの自動更新が改善されましたが、完全な解決ではない可能性があります
  • 既知の制限: MCP の OAuth 認証については、VSCode の MCP クライアントがトークン有効期限/更新を自動的に処理しない問題が引き続き存在します
  • 複数プラットフォーム: Windows、macOS、Linux すべてで発生していた問題です

実践例

修正前の問題

以前のバージョンでは、長時間の作業中に突然認証エラーが発生していました:

bash
# VSCode で Claude Code を使用中
# 数時間後...

 API Error: 401
{
  "type": "error",
  "error": {
    "type": "authentication_error",
    "message": "OAuth authentication is currently not supported."
  }
}

# すべての進行中のタスクが停止
# /login コマンドを実行しても復旧しない場合があった

この問題は特に以下の状況で発生していました:

  1. 長時間の自律的タスク: 数時間にわたる複雑なリファクタリングやテスト実行
  2. 複数インスタンスの並行実行: 複数のプロジェクトで同時に Claude Code を使用
  3. 終日の開発セッション: 朝から晩まで断続的に Claude Code を使用

修正後(v2.1.27 以降)

v2.1.27 では、トークンの自動更新が改善され、長時間のセッションでも安定して動作します:

bash
# VSCode で Claude Code を使用中
# 数時間経過しても...
# シームレスに動作を継続
# 認証エラーが発生しない

万が一エラーが発生した場合

もし引き続き 401 エラーが発生した場合の対処法:

bash
# 1. /login コマンドを実行
/login

# 2. ブラウザで認証を完了
# 3. VSCode を再起動(必要に応じて)

背景と技術的詳細

OAuth の標準的な解決策

OAuth には、この問題に対する標準的な解決策があります:

  • 短期間の アクセストークン: セキュリティを確保
  • リフレッシュトークン: 長期間の認証を維持
  • 自動更新: ユーザーの介入なしにトークンを更新

v2.1.27 の修正は、この自動更新メカニズムを改善したものです。

残存する問題

MCP サーバーの OAuth 認証については、引き続き以下の問題が存在します:

bash
# MCP サーバーを使用している場合
# トークン有効期限が切れると再認証が必要
# VSCode の MCP クライアントは自動更新をサポートしていない

トラブルシューティング

頻繁に 401 エラーが発生する場合

  1. 拡張機能を最新版に更新:

    bash
    # VSCode の拡張機能タブから Claude Code を更新
  2. キャッシュをクリア:

    • VSCode を完全に終了
    • ~/.claude/ ディレクトリのキャッシュファイルを削除(オプション)
    • VSCode を再起動
  3. 再ログイン:

    bash
    /login
  4. GitHub Issue を確認:

    • 同様の問題が報告されていないか確認
    • 必要に応じて新しい Issue を作成

関連情報

関連する修正

同じ v2.1.27 で修正された Windows 関連の問題: