DISABLE_AUTOUPDATERがnpmベースインストールでのレジストリチェックとシンリンク変更を完全に抑制しない問題の修正
原文(日本語に翻訳)
npmベースのインストールで DISABLE_AUTOUPDATER がnpmレジストリのバージョンチェックとシンボリックリンクの変更を完全に抑制しない問題を修正しました。
原文(英語)
Fixed DISABLE_AUTOUPDATER not fully suppressing the npm registry version check and symlink modification on npm-based installs
概要
DISABLE_AUTOUPDATER=1 環境変数を設定してClaude Codeの自動更新を無効化しても、npmベースのインストール環境ではnpmレジストリへのバージョン確認リクエストとシンボリックリンクの変更が依然として実行されていました。この修正により、DISABLE_AUTOUPDATER を設定すると、これらの処理も完全に抑制されるようになります。
基本的な使い方
修正前の動作
bash
# DISABLE_AUTOUPDATER を設定しても完全には無効化されていなかった
export DISABLE_AUTOUPDATER=1
claude
# 修正前の問題:
# - npmレジストリ(registry.npmjs.org)へのバージョン確認リクエストが発生
# - シンボリックリンクの変更処理が実行される場合があった
# → ネットワークトラフィックの発生やファイルシステムの変更が起きていた修正後の動作
bash
# DISABLE_AUTOUPDATER を設定すると完全に無効化される
export DISABLE_AUTOUPDATER=1
claude
# 修正後:
# - npmレジストリへのバージョン確認リクエストが発生しない
# - シンボリックリンクの変更も行われない
# → 完全に自動更新処理が抑制される実践例
### CI/CD環境での使用
継続的インテグレーション環境でClaude Codeを使用する場合:
yaml
# CI/CD設定例(GitHub Actions)
- name: Run Claude Code analysis
env:
DISABLE_AUTOUPDATER: "1"
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
claude --print "コードレビューを実行してください"
# 修正後: 自動更新チェックのネットワークリクエストが完全に抑制され、
# CI環境でのビルド時間が短縮され、ネットワーク制限環境でも安定動作する### エアギャップ環境(オフライン環境)での使用
インターネットアクセスが制限された環境での使用:
bash
# オフライン環境でのセットアップ
export DISABLE_AUTOUPDATER=1
export ANTHROPIC_BASE_URL="https://internal-proxy.company.com"
claude
# 修正後: npmレジストリへのアクセス試行がなく、
# 外部ネットワークなしでも正常に動作する### バージョン管理された環境での固定使用
特定バージョンのClaude Codeを固定して使用する場合:
bash
# .bashrc または .zshrc に追加
export DISABLE_AUTOUPDATER=1
# npmインストール後、バージョンを固定
npm install -g @anthropic-ai/claude-code@2.1.98
# 修正後: 設定したバージョンが維持され、
# バックグラウンドでの自動更新処理も完全に行われない注意点
DISABLE_AUTOUPDATER=1を設定すると自動更新が完全に無効化されるため、セキュリティパッチや重要な修正が自動適用されなくなります。定期的な手動更新を推奨します。- この環境変数はnpmベースのインストール(
npm install -g @anthropic-ai/claude-code)に特有の問題でした。他のインストール方法(Homebrew等)では別の動作になる場合があります。 - シンボリックリンクの変更抑制は、特にグローバルnpmパッケージとして管理している場合のシステムの整合性維持に有効です。
- CI/CDやオートメーション環境では
DISABLE_AUTOUPDATER=1の設定を推奨します。