Describe the bug
When using the /copy command, the CLI displays an error:
✗ Failed to copy to clipboard: Error: Failed to create clipboard context:
$DISPLAY variable not set and no value was provided explicitly
However, the content is successfully copied to the clipboard (presumably
via OSC 52 fallback or similar terminal-native mechanism).
The error from the first clipboard backend attempt is surfaced to the user
even though the overall operation succeeds.
Affected version
GitHub Copilot CLI 1.0.54
Steps to reproduce the behavior
- Run Copilot CLI inside a devcontainer (no X11/Wayland available)
- Have a conversation with some output
- Type
/copy
- Observe the error message (prefixed with ✗)
- Paste elsewhere — the content was copied successfully
Expected behavior
If the copy ultimately succeeds via a fallback backend, no error should be
shown. The error should only appear if ALL clipboard backends fail.
Additional context
- Environment: DDEV-based devcontainer using
ghcr.io/devcontainers/features/copilot-cli:1
- No
$DISPLAY is set (headless Docker container)
- Terminal: iTerm2 on macOS, connected to the devcontainer
- iTerm2 has "Applications in terminal may access clipboard" enabled
- iTerm2 supports OSC 52 clipboard escape sequences
- The ✗ prefix and "Failed" wording suggest a hard failure to the user,
but the operation actually succeeds
Describe the bug
When using the
/copycommand, the CLI displays an error:However, the content is successfully copied to the clipboard (presumably
via OSC 52 fallback or similar terminal-native mechanism).
The error from the first clipboard backend attempt is surfaced to the user
even though the overall operation succeeds.
Affected version
GitHub Copilot CLI 1.0.54
Steps to reproduce the behavior
/copyExpected behavior
If the copy ultimately succeeds via a fallback backend, no error should be
shown. The error should only appear if ALL clipboard backends fail.
Additional context
ghcr.io/devcontainers/features/copilot-cli:1$DISPLAYis set (headless Docker container)but the operation actually succeeds