Describe the feature or problem you'd like to solve
When working across multiple Copilot CLI sessions throughout the day, all terminal tabs are unnamed or generically labelled. There is no way to glance at your taskbar or terminal tabs and know which session was debugging the auth bug versus which was the deployment pipeline fix. Over a full day of development, context-switching becomes unnecessary mental overhead.
Proposed solution
At the start of each new Copilot CLI session, automatically analyze the first user message and generate a 2 to 3 word summary that gets applied as the terminal tab/window title.
Example behaviour:
┌─────────────────────────────────────────────┬──────────────────────┐
│ First message │ Auto-generated title │
├─────────────────────────────────────────────┼──────────────────────┤
│ "Why is my UAT health check returning 403?" │ UAT Health Fix │
├─────────────────────────────────────────────┼──────────────────────┤
│ "Help me refactor the auth middleware" │ Auth Refactor │
├─────────────────────────────────────────────┼──────────────────────┤
│ "Write unit tests for the payments service" │ Payment Tests │
└─────────────────────────────────────────────┴──────────────────────┘
Why This Matters
- Zero friction, no user input required
- Works with Windows Terminal, iTerm2, and VS Code integrated terminal
- Compounds value for power users running parallel sessions
- Aligns with Copilot's goal of reducing cognitive load during development
Example prompts or workflows
Implementation Ideas
- Use the same summarisation the model already does for chat history and surface it as a terminal title via ANSI escape sequences or platform-native title APIs
- Optionally refresh the title at session end to reflect the final resolved topic
- Could be opt-in via a user setting: copilotcli.autoNameTerminal: true
Additional context
Current Workaround
Manually calling $Host.UI.RawUI.WindowTitle via a custom codeGeneration.instructions rule in VS Code settings.json, but this requires the model to remember to do it and does not work consistently across all terminal hosts.
Describe the feature or problem you'd like to solve
When working across multiple Copilot CLI sessions throughout the day, all terminal tabs are unnamed or generically labelled. There is no way to glance at your taskbar or terminal tabs and know which session was debugging the auth bug versus which was the deployment pipeline fix. Over a full day of development, context-switching becomes unnecessary mental overhead.
Proposed solution
At the start of each new Copilot CLI session, automatically analyze the first user message and generate a 2 to 3 word summary that gets applied as the terminal tab/window title.
Example behaviour:
┌─────────────────────────────────────────────┬──────────────────────┐
│ First message │ Auto-generated title │
├─────────────────────────────────────────────┼──────────────────────┤
│ "Why is my UAT health check returning 403?" │ UAT Health Fix │
├─────────────────────────────────────────────┼──────────────────────┤
│ "Help me refactor the auth middleware" │ Auth Refactor │
├─────────────────────────────────────────────┼──────────────────────┤
│ "Write unit tests for the payments service" │ Payment Tests │
└─────────────────────────────────────────────┴──────────────────────┘
Why This Matters
Example prompts or workflows
Implementation Ideas
Additional context
Current Workaround
Manually calling $Host.UI.RawUI.WindowTitle via a custom codeGeneration.instructions rule in VS Code settings.json, but this requires the model to remember to do it and does not work consistently across all terminal hosts.