Change:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes/No For proposed API: <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --Version: 1.85.0-insider (user setup) OS: Windows_NT x64 10.0. Steps to Reproduce: a hidden terminal using to text to terminal, for eg. "echo hello" no events are fired Same is not the case if is set to . cc/
Any idea where the issue could be here? We require this to start leveraging
This is by design according to this: We tweaked the condition in to work properly on remotes, and tried to force shell integration for debug terminals here: I don't see an issue with changing hidden terminals from having shell integration, we just need to watch the incoming issues for problems.
If we have shell integration in hidden terminals is conflicts with but I think the thinking was changed in If you don't want env collections you must pass , which means you need to provide the entire environment.
I still repro this with the following minimum repro: Changing to fires the event. Or maybe there are other steps that should be taken?
Reopening as your steps seem correct
possible that the hidden terminal isn't yet a part of yet, so is not within here? Yes, seems like it
We should include in I think
Friendly ping! Looks like this issue requires some further steps to be verified. Please provide us with the steps necessary to verify this issue.
these steps are good

Discussion:
* @param slc The shell launch config to check. */ export function shouldUseEnvironmentVariableCollection(slc: IShellLaunchConfig): boolean { <del> return !slc.strictEnv && !slc.hideFromUser; </del> <ins> return !slc.strictEnv; </ins> }

logService: ILogService, productService: IProductService ): IShellIntegrationConfigInjection | undefined { <del> // Shell integration arg injection is disabled when: </del> <ins> // Conditionally disable shell integration arg injection </ins> // - The global setting is disabled // - There is no executable (not sure what script to run) // - The terminal is used by a feature like tasks or debugging const useWinpty = isWindows && (!options.windowsEnableConpty || getWindowsBuildNumber() < 18309); <del> if (!options.shellIntegration.enabled || !shellLaunchConfig.executable || (shellLaunchConfig.isFeatureTerminal && !shellLaunchConfig.forceShellIntegration) || shellLaunchConfig.hideFromUser || shellLaunchConfig.ignoreShellIntegration || useWinpty) { </del> <ins> if ( // The global setting is disabled !options.shellIntegration.enabled || // There is no executable (so there's no way to determine how to inject) !shellLaunchConfig.executable || // It's a feature terminal (tasks, debug), unless it's explicitly being forced (shellLaunchConfig.isFeatureTerminal && !shellLaunchConfig.forceShellIntegration) || // The ignoreShellIntegration flag is passed (eg. relaunching without shell integration) shellLaunchConfig.ignoreShellIntegration || // Winpty is unsupported useWinpty ) { </ins> return undefined; }

throw new ErrorNoTelemetry('Terminal disposed of during xterm.js creation'); } <del> const disableShellIntegrationReporting = (this.shellLaunchConfig.hideFromUser || this.shellLaunchConfig.executable === undefined || this.shellType === undefined) || !shellIntegrationSupportedShellTypes.includes(this.shellType); </del> <ins> const disableShellIntegrationReporting = (this.shellLaunchConfig.executable === undefined || this.shellType === undefined) || !shellIntegrationSupportedShellTypes.includes(this.shellType); </ins> const xterm = this._scopedInstantiationService.createInstance( XtermTerminal, Terminal,