Copilot CLI v0.0.422: GPT-5.4 & UX Fixes
Copilot CLI 0.0.422 adds GPT-5.4 support, reverse history search, and fixes 18+ UX issues including scroll stability and text selection persistence. Config file renamed to settings.json.
TL;DR
- GPT-5.4 model support added
- Plugin cache auto-recovery and improved error messages for missing git
- Major UX fixes: text selection persistence, scroll stability, reverse history search (Ctrl+R), and mouse scroll in diff mode
- Config file renamed from .github/copilot/config.json to settings.json
New
- GPT-5.4 model support — Copilot CLI now supports the latest GPT-5.4 model
- Reverse history search — Press Ctrl+R to search command history like Bash (Ctrl+J to accept, Ctrl+G to cancel)
- /copy command — Copy the last response to clipboard directly from the CLI
- copy_on_select config option — Auto-copy selected text to clipboard in alt-screen mode
- Mouse scroll in diff mode — Add mouse scroll support to /diff in alt-screen mode
- --output-format json flag — Emit JSONL in prompt mode for programmatic integrations
- Startup prompt hooks — Auto-submit prompts or slash commands when a session starts
- enabledPlugins config — Automatic plugin installation at startup
- SSH plugin URLs — Support installing plugins from ssh:// URLs
- Session metrics persistence — Usage metrics (requests, tokens, code changes) now saved to events.jsonl after each session
Fixed
- Plugin cache auto-recovery — Automatically recovers from corrupted or incomplete clones without manual intervention
- Text selection persistence — Selected text now persists after copying to clipboard in alt-screen mode
- Scroll stability — Scroll view no longer jumps to earlier messages when scrolling during response streaming or with popups open
- Memory usage in alt-screen — Reduced memory consumption for long sessions
- Git color.diff handling — Diff mode now works correctly when git color.diff=always is configured
- Windows URL handling — Opening links on Windows correctly handles URLs with & query parameters
- File completion accuracy — @-mention file completion always reflects current working directory state
- Terminal compatibility — ESC key to cancel works correctly in tmux and non-kitty terminals
- Cursor repositioning — Click in the prompt input to reposition the text cursor
- CJK input support — IME candidate windows appear at correct cursor position
- Link visibility — Links in alt-screen mode rendered with underline styling
- Markdown table rendering — Colons in inline code render correctly inside markdown tables
- Help dialog dismissal — Pressing Ctrl+C on the help dialog now dismisses it cleanly
- Enum field selection — Pressing Enter in required enum field now selects the highlighted option
- Diff line wrapping — Long diff lines no longer overflow and wrap in the diff view
- Ctrl+K line joining — Ctrl+K joins lines when cursor is at end of line, matching Emacs/terminal behavior
- Escape sequence handling — Escape sequences split across input chunks no longer leak into text input
- Large directory handling — CLI no longer hangs for minutes when working in directories with many files
Improved
- Git not installed error — Clear, actionable error message when git is not installed and a remote plugin or marketplace is used
- Authentication errors — Display request ID in authentication and authorization error messages to aid troubleshooting
- Personal hooks loading — Load personal hooks from ~/.copilot/hooks in addition to repo-level .github/hooks
- Timeline display — Timeline now shows the question in a box and displays 'Making best guess on autopilot' when ask_user is auto-responded
- LSP server loading — Plugin-contributed LSP servers are now loaded, started, and shown in /lsp show
- MCP server tracking — GitHub MCP server connection status accurately tracked and counted in status indicator
- Multi-remote delegation — /delegate prompts for a target remote in multi-remote repositories with clarified confirmation text
- Azure DevOps compatibility — GitHub MCP server stays enabled in repositories with both Azure DevOps and GitHub remotes
- Timeline noise reduction — Hide noisy todo bookkeeping queries and show dependency details in timeline
- External editor feedback — Show a waiting message when the terminal is handed to an external editor
Breaking Changes
- Config file location — Repository config renamed from .github/copilot/config.json to settings.json. Update your configuration file paths accordingly.
- launch_messages setting — Renamed to companyAnnouncements. Update any scripts or automation that reference the old setting name.
Update with: npm install -g @github/copilot-cli@0.0.422 or check the release page for other installation methods.
Source: Copilot CLI