Suppress terminal-exited notifications during shutdown#316269
Merged
Conversation
When VS Code shuts down, background terminals are disposed as part of normal cleanup. This was triggering 'terminal exited' system notifications that persisted as undeliverable steering messages after restart, cluttering the chat UI and causing agent loops. Set an _isShuttingDown flag via ILifecycleService.onWillShutdown and check it in the onDisposed handler to skip the notification. Fixes #314791 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Suppresses spurious "terminal exited" steering notifications generated when background terminals are disposed during VS Code shutdown, which previously persisted across restarts and caused the agent to loop.
Changes:
- Injects
ILifecycleServiceintoRunInTerminalTooland tracks a_isShuttingDownflag viaonWillShutdown. - Short-circuits the
onDisposedcompletion-notification handler when shutdown is in progress.
Show a summary per file
| File | Description |
|---|---|
| src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.ts | Adds lifecycle service dependency and shutdown guard around terminal-exited steering notification. |
Copilot's findings
- Files reviewed: 1/1 changed files
- Comments generated: 0
roblourens
approved these changes
May 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #314791
When VS Code shuts down, background terminals are disposed as part of normal cleanup. This triggers
terminal exitedsystem notifications via theonDisposedhandler in_registerCompletionNotification. These notifications persist as undeliverable steering messages after restart, cluttering the chat UI and causing the agent to loop.Fix
ILifecycleServiceintoRunInTerminalTool_isShuttingDown = trueononWillShutdownterminal exitedsteering message when the flag is setThis follows the same pattern used elsewhere in the terminal codebase (e.g.
terminalService.ts,decorationAddon.ts).