Gemini CLI v0.66 は修正のみで keybindings.json の keys 配列とシェル環境の扱いが直った
v0.66.0 は 26 件すべてが修正とチョアです。keybindings.json の keys 配列、.env の読み込み後の設定の解決、~/.gitconfig の保持、MCP の OAuth の私設ネットワーク対応を整理します。
Gemini CLI の v0.66.0 に新機能はありません。リリースノートの「What's Changed」は 26 件すべてが修正・リファクタリング・リリース作業です。
ただし 1 件は、公式ドキュメントに載っている設定が実際には効いていなかったという種類の修正です。keybindings.json の keys 配列が、この版で動くようになりました。
KEY POINT
この記事で分かること
keybindings.jsonのkeys配列の書き方と、割り当てが効かないときの確認方法.envの読み込みと設定のプレースホルダの解決順が直ったこと~/.gitconfigが保持されるようになったこと
keybindings.json の keys 配列が効くようになった
修正は PR #29773 です。キーの割り当ては、home の gemini ディレクトリ(通常は ~/.gemini/keybindings.json)に置きます。VS Code のスキーマに似た JSON の配列で、各要素に command と、key または keys を書きます。
[
{
"command": "edit.clear",
"key": "cmd+l"
},
{
"command": "-app.toggleYolo",
"key": "ctrl+y"
},
{
"command": "-input.newline",
"keys": ["alt+enter", "ctrl+enter", "shift+enter", "ctrl+j"]
},
{
"command": "input.newline",
"keys": ["enter", "shift+enter"]
}
]
| 書き方 | 意味 |
|---|---|
command の先頭に - | 既定の割り当てを含めて解除する |
keys の配列 | 複数のキーをまとめて割り当てる、または解除する。先頭のキーが UI に表示される主ショートカットになる |
| 修飾キー | ctrl、shift、alt(opt / option)、cmd(meta) |
割り当てても反応しないときはターミナルの変換を疑う
公式ドキュメントは、ターミナルが複雑な組み合わせを特殊文字に変換して修飾キーの情報を落とすことがあると書いています。例として shift+5 が % として送られる場合を挙げ、「you must bind to the literal character % as bindings to shift+5 will never fire」としています。何が送られているかは、Debug Keystroke Logging を有効にして f12 でデバッグログのコンソールを開くと確認できます。
割り当ての判定は厳密です。ctrl+f の割り当ては ctrl+f のときだけ発火し、ctrl+shift+f や alt+ctrl+f では発火しません。また、同じキーを別のコンテキストで複数のコマンドに割り当てられるため、新しく割り当てても既存の割り当ては自動では外れません。外したいなら - を付けた要素を別に書きます。
.env と git の環境まわりの修正
設定の読み込み順に関わる修正が 3 件入りました。
| PR | 内容 |
|---|---|
| #29750 | .env ファイルを読み込んだ あと に設定のプレースホルダを解決するようにした |
| #29832 | シェルと git の環境で、ユーザーレベルの ~/.gitconfig を保持するようにした |
| #29760 | getSafeGitEnv で、対話的な資格情報と SSH のプロンプトを無効にした |
1 つ目は、.env に書いた値を設定ファイルから参照していた場合に効きます。解決が .env の読み込みより先だと、参照が空になります。
関連する設定として、公式の設定一覧には advanced.ignoreLocalEnv(既定 false)があります。プロジェクトディレクトリの一般的な .env ファイルを無視するかどうかの設定です。.env を読ませたくないプロジェクトではこちらを使います。
3 つ目は無人実行で効きます。git が資格情報や SSH のパスフレーズを対話的に尋ねると、誰も答えられないまま止まります。これを無効にすることで、止まる代わりに失敗するようになります。
MCP と認証の修正
- MCP の OAuth で私設ネットワークのエンドポイントに対応(PR #29844)。オプトインの形で、私設ネットワークのエンドポイントを OAuth のフローで使えるようになりました。社内に閉じた MCP サーバーを使う場合に関係します
- 認証エラーの誤判定を防止(PR #29835)。
isAuthenticationErrorが、認証エラーでないものを認証エラーと判定する場合がありました - 更新の確認方法を厳密化(PR #29757)。更新後に実際に動いているバイナリを検証し、
PATHの優先順で別のバイナリが使われている状態を「更新成功」と誤表示しないようにしました
MCP サーバーの設定方法は Gemini CLI で MCP サーバーを設定する方法 にまとめてあります。
そのほかの修正と Gemini 4 のバナー
目に見える変更として、Gemini CLI が Gemini 4 向けに最適化されていないことを知らせるバナーが追加されました(PR #29774)。
表示まわりでは、出力の同期とスピナーの描画の分離、デバッグコンソールの高さ計算とちらつき、スクロール可能なツールコンテナの右端のにじみ、ターミナルのスクロールバックの保持、formatDuration の単位選択前の丸めが直っています。
このほか、Windows の openDiff で diff コマンドの引数を整形して引用符で囲むようになり、SKILL.md の frontmatter が 1 行の description でも解析できるようになりました。スラッシュコマンドの重複判定のリセット、bootstrap の親プロセスから子プロセスへの終了シグナルの転送も修正されています。
前バージョンの内容は Gemini CLI v0.65 で未信頼フォルダの設定が読み取り専用に強制 を参照してください。
まとめ
- v0.66.0 に新機能はない。「What's Changed」の 26 件はすべて修正・リファクタリング・リリース作業
keybindings.jsonのkeys配列が効くようになった。解除はcommandの先頭に-を付ける- 割り当てが発火しないときは、ターミナルが送る文字を
Debug Keystroke Loggingとf12で確認する .envの読み込み後に設定のプレースホルダを解決するようになった~/.gitconfigが保持され、git の対話的なプロンプトは無効になった
よくある質問
- v0.66.0 に新機能はありますか?
- ありません。リリースノートの「What's Changed」は 26 件すべてが修正・リファクタリング・リリース作業です。
- keybindings.json はどこに置きますか?
- home の gemini ディレクトリで、通常は ~/.gemini/keybindings.json です。VS Code に似た JSON の配列で、各要素に command と key(または keys)を書きます。
- キーを割り当てたのに反応しません。
- ターミナルが修飾キーを別の文字に変換している可能性があります。公式ドキュメントは shift+5 が % として送られる例を挙げ、その場合は文字そのものに割り当てるよう案内しています。Debug Keystroke Logging を有効にして F12 で何が送られているか確認できます。
参考にした一次情報
この記事は公式ドキュメントを基に AI が下書きを作成し、運営者が内容を確認して公開しています。誤りを見つけた場合は お問い合わせからお知らせください。