原文(日本語に翻訳)
カスタムキーバインド(~/.claude/keybindings.json)がBedrock、Vertex、その他のサードパーティプロバイダーで読み込まれない問題を修正しました。
原文(英語)
Fixed custom keybindings (~/.claude/keybindings.json) not loading on Bedrock, Vertex, and other third-party providers
概要
AWS BedrockやGoogle Cloud Vertex AI等のサードパーティプロバイダー経由でClaude Codeを使用する場合、~/.claude/keybindings.json に設定したカスタムキーバインドが読み込まれないというバグがありました。このアップデートにより、どのプロバイダーを使用している場合でも、カスタムキーバインドが正しく読み込まれるようになりました。
基本的な使い方
bash
# カスタムキーバインドの設定
cat ~/.claude/keybindings.jsonjson
{
"bindings": [
{
"key": "ctrl+k",
"action": "compact",
"description": "コンテキストを圧縮"
},
{
"key": "ctrl+n",
"action": "newSession",
"description": "新しいセッション"
}
]
}bash
# 修正前: Bedrock/Vertex経由では設定が無視される
# 修正後: すべてのプロバイダーでカスタムキーバインドが機能する
# AWS Bedrockで使用
ANTHROPIC_PROVIDER=bedrock claude
# → カスタムキーバインドが正常に読み込まれる
# Google Vertex AIで使用
ANTHROPIC_PROVIDER=vertex claude
# → カスタムキーバインドが正常に読み込まれる実践例
AWS Bedrock環境でのカスタムキーバインド
bash
# AWS Bedrock の設定
export AWS_REGION=ap-northeast-1
export CLAUDE_PROVIDER=bedrock
# カスタムキーバインドを設定
cat > ~/.claude/keybindings.json << 'EOF'
{
"bindings": [
{
"key": "ctrl+]",
"action": "compact",
"description": "コンテキストを圧縮(Bedrock環境用)"
},
{
"key": "ctrl+shift+n",
"action": "newSession",
"description": "新しいセッションを開始"
},
{
"key": "ctrl+shift+h",
"action": "help",
"description": "ヘルプを表示"
}
]
}
EOF
# 修正後: Bedrock環境でも設定が読み込まれる
claude
# ctrl+] でコンテキストを圧縮できるGoogle Cloud Vertex AI環境での設定
bash
# Vertex AI の設定
export GOOGLE_CLOUD_PROJECT=my-project
export GOOGLE_CLOUD_REGION=us-central1
export CLAUDE_PROVIDER=vertex
# カスタムキーバインドの確認
cat ~/.claude/keybindings.json
# 修正後: Vertex AI環境でも設定が読み込まれる
claudeサードパーティプロバイダー共通の設定
json
// ~/.claude/keybindings.json
// どのプロバイダーでも動作するキーバインド設定
{
"bindings": [
{
"key": "ctrl+l",
"action": "clearScreen",
"description": "画面をクリア"
},
{
"key": "ctrl+shift+c",
"action": "copyLastResponse",
"description": "最後の応答をコピー"
},
{
"key": "ctrl+r",
"action": "resume",
"description": "前のセッションを再開"
},
{
"key": "alt+enter",
"action": "submitWithNewline",
"description": "改行を保持して送信"
}
]
}bash
# 設定のテスト(プロバイダーを指定)
CLAUDE_PROVIDER=bedrock claude
# または
CLAUDE_PROVIDER=vertex claude
# 修正後: いずれの環境でもキーバインドが機能するキーバインド設定の確認と管理
bash
#!/bin/bash
# キーバインド設定の確認スクリプト
check_keybindings() {
local keybindings_file="$HOME/.claude/keybindings.json"
if [ -f "$keybindings_file" ]; then
echo "カスタムキーバインドが設定されています:"
python3 -c "
import json
with open('$keybindings_file') as f:
data = json.load(f)
for binding in data.get('bindings', []):
key = binding.get('key', '不明')
action = binding.get('action', '不明')
desc = binding.get('description', '')
print(f' {key} → {action} ({desc})')
"
else
echo "カスタムキーバインドは設定されていません"
echo "~/.claude/keybindings.json を作成して設定してください"
fi
# 現在のプロバイダーを確認
provider="${CLAUDE_PROVIDER:-anthropic}"
echo ""
echo "現在のプロバイダー: $provider"
echo "修正後: このプロバイダーでもキーバインドが機能します"
}
check_keybindings注意点
- この修正はAWS Bedrock、Google Cloud Vertex AI、およびその他のサードパーティプロバイダーで効果があります
- デフォルトのAnthropicプロバイダーでは以前から正常に動作していました
- キーバインドファイルのパスは
~/.claude/keybindings.jsonで固定されています - 利用可能なアクションはClaude Codeのバージョンによって異なる場合があります
- キーバインドの設定はユーザーレベルの設定のため、プロジェクト設定には存在しません