Skip to content

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

@JeffreyCA

Description

@JeffreyCA

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:input-keyboardKeyboard shortcuts, keybindings, copy/paste, clipboard, mouse, and text input

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions