copilot-cli icon indicating copy to clipboard operation
copilot-cli copied to clipboard

`/terminal-setup` inside Dev Container and Codespaces writes keybindings to wrong file

Open JeffreyCA opened this issue 1 month ago • 0 comments

Describe the bug

When using Copilot CLI within a Linux Dev Container or GitHub Codespaces instance, /terminal-setup creates a ~/.config/Code/User/keybindings.json or ~/.config/Code - Insiders/User/keybindings.json file, which doesn't do anything because keybinding configs work at the host layer.

This causes Shift+Enter and Ctrl+Enter keypresses to not insert newlines as intended, and also makes copilot think they're correctly set up when they're not:

 ● Key bindings for VS Code are already set up. Your terminal already has multiline support with Shift+Enter and Ctrl+Enter.

Workaround

  1. Activate Command Palette (Ctrl+Shift+P or Cmd+Shift+P)

  2. Select Preferences: Open Keyboard Shortcuts (JSON)

  3. Insert the following into the JSON array:

    {
        "key": "ctrl+enter",
        "command": "workbench.action.terminal.sendSequence",
        "when": "terminalFocus",
        "args": {
            "text": "\\\r\n"
        }
    },
    {
        "key": "shift+enter",
        "command": "workbench.action.terminal.sendSequence",
        "when": "terminalFocus",
        "args": {
            "text": "\\\r\n"
        }
    }
    

Affected version

0.0.363

Steps to reproduce the behavior

  1. Remove Ctrl+Enter and Shift+Enter keybindings from keybindings.json
  2. Install and run Copilot CLI from inside a Linux Dev Container or GitHub Codespaces instance
  3. Run /terminal-setup or choose yes when prompted during the first-time setup flow

Expected behavior

Keybindings should be added to the host-level keybindings.json config.

Additional context

No response

JeffreyCA avatar Nov 25 '25 18:11 JeffreyCA