症状
Claude Code 拡張を VS Code のセカンダリサイドバーで使用中、⌘N(Cmd+N)で新規会話が開始できなくなった。
以前は ⌘N で即座に新しいセッションが始まっていたが、拡張のアップデート後に突然動作しなくなった。
結論
claudeCode.enableNewConversationShortcut のデフォルト値が true → false にサイレント変更されていた。
| バージョン | デフォルト値 |
|---|---|
| v2.1.71 | true |
| v2.1.84 | false |
この変更は CHANGELOG に記載されていない。
対処法
VS Code の settings.json に以下を追加する:
"claudeCode.enableNewConversationShortcut": true
Settings UI からも設定可能。Claude Code: Enable New Conversation Shortcut で検索すればチェックボックスが見つかる。
調査の過程
1. キーバインディングの確認
まず、⌘N に何が割り当てられているかを確認した。
Claude Code 拡張の package.json には以下のキーバインディングが定義されている:
{
"command": "claude-vscode.newConversation",
"key": "cmd+n",
"mac": "cmd+n",
"when": "config.claudeCode.enableNewConversationShortcut && (activeWebviewPanelId == 'claudeVSCodePanel' || (claude-vscode.sideBarActive && !editorFocus && !panelFocus))"
}
when 句に config.claudeCode.enableNewConversationShortcut が含まれている。この設定が false であれば、when 句全体が false になり、キーバインディングは発火しない。
2. デフォルト値の比較
ローカルに残っていた旧バージョン(v2.1.71)と最新バージョン(v2.1.84)の package.json を比較した:
# 拡張のpackage.jsonから設定のデフォルト値を抽出
python3 << 'EOF'
import json
for ver, path in [
("2.1.71", "~/.vscode/extensions/anthropic.claude-code-2.1.71-darwin-arm64/package.json"),
("2.1.84", "~/.vscode/extensions/anthropic.claude-code-2.1.84-darwin-arm64/package.json"),
]:
with open(path) as f:
data = json.load(f)
for item in data.get("contributes", {}).get("configuration", []):
for key, val in item.get("properties", {}).items():
if "enableNew" in key:
print(f"v{ver}: {key} = default: {val.get('default')}")
EOF
v2.1.71: claudeCode.enableNewConversationShortcut = default: True
v2.1.84: claudeCode.enableNewConversationShortcut = default: False
明確にデフォルト値が変更されていた。
3. CHANGELOG の確認
GitHub Releases の v2.1.72〜v2.1.84 のリリースノートを確認したが、この変更に関する記載は見つからなかった。
なぜハマるのか
-
デフォルト値の変更なので、自分の
settings.jsonを変更していなくても動作が変わる - CHANGELOG に記載がないので、リリースノートを読んでも原因にたどり着けない
- キーバインディング自体は存在するので、Keyboard Shortcuts UI で見ると
⌘N→claude-vscode.newConversationが登録されているように見える -
when句の中にconfig.claudeCode.enableNewConversationShortcutが埋まっているため、設定がfalseだと気付きにくい
補足:Developer: Inspect Context Keys の活用
VS Code のキーバインディング問題を調査する際は、コマンドパレットから Developer: Inspect Context Keys を実行すると、現在のフォーカス位置で有効なコンテキストキーの値を一覧できる。when 句のどの条件が true/false かを確認でき、問題の切り分けに役立つ。
環境
- macOS (Apple Silicon)
- VS Code(1.113.0)
- Claude Code 拡張 v2.1.84
