Skip to content

原文(日本語に翻訳)

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 の別の新機能)

関連情報