原文(日本語に翻訳)
Linux: claude-cli:// プロトコルハンドラーの登録時に XDG_DATA_HOME を尊重するようになりました。
原文(英語)
Linux: respect XDG_DATA_HOME when registering the claude-cli:// protocol handler
概要
Linux 環境で claude-cli:// プロトコルハンドラーを登録する際、XDG_DATA_HOME 環境変数を尊重するようになりました。XDG Base Directory 仕様に従ってデータディレクトリをカスタマイズしている Linux ユーザー(特に独自の XDG_DATA_HOME を設定しているユーザー)にとって、より標準的な動作になります。
基本的な使い方
XDG_DATA_HOME を設定している Linux ユーザーは、プロトコルハンドラーが正しい場所に登録されるようになります。
bash
# XDG_DATA_HOME を設定している場合
$ export XDG_DATA_HOME="$HOME/.local/share" # デフォルト値
$ claude
# claude-cli:// プロトコルハンドラーが XDG_DATA_HOME に登録される
# カスタム XDG_DATA_HOME の場合
$ export XDG_DATA_HOME="/custom/data"
$ claude
# /custom/data/applications/ に登録される実践例
ユースケース: カスタム XDG ディレクトリを使用している場合
ホームディレクトリを最小化し、データを別のパーティションに配置している場合など。
bash
# カスタム XDG 設定
export XDG_DATA_HOME="/data/local/share"
export XDG_CONFIG_HOME="/data/config"
# Claude Code を起動すると
# プロトコルハンドラーが /data/local/share/applications/ に正しく登録
$ claudeユースケース: NixOS や特殊な Linux 環境
NixOS や Arch Linux など、XDG 仕様に厳格に従う環境での動作が改善されます。
bash
# NixOS 等での標準 XDG 設定
export XDG_DATA_HOME="$HOME/.local/share"
# Claude Code が XDG 標準に従ってファイルを配置
$ claude
# ~/.local/share/applications/claude-cli.desktop が作成される注意点
XDG_DATA_HOMEが設定されていない場合はデフォルト値$HOME/.local/shareが使用されます- この変更は Linux のみに適用されます(macOS と Windows には異なるプロトコルハンドラー登録機構があります)
disableDeepLinkRegistration: trueを設定することで、プロトコルハンドラーの登録を無効化できます(v2.1.83 の別の新機能)