I followed the Lite Terminal troubleshooting steps — the Explorer launch path works, only the terminal-profile path is affected, which points at the source asymmetry described below.
Are you using client-side or server-side editing?: server-side (isfs://)
- VS Code Version: 1.120.0
- Extension Version: 3.8.1
- OS: Windows Server 2022 Standard (10.0.20348)
- Server
$ZVERSION (if applicable): IRIS for Windows (x86-64) 2026.1 (Build 234U) Fri Mar 27 2026 13:58:24 EDT
Steps to Reproduce:
- Open a workspace with an active server-side connection to IRIS 2023.2+.
- Click the
+ dropdown in the terminal panel header, choose InterSystems Lite Terminal.
- Observe: a terminal tab flashes briefly and disappears. No message in the ObjectScript output channel.
For contrast, the working path: in the InterSystems Explorer view, the Launch Lite Terminal icon next to the same server connection opens a working terminal that stays open. Same workspace, same connection, same namespace.
Root cause
There are two launch paths in src/commands/webSocketTerminal.ts, and they are not symmetric.
launchWebSocketTerminal (used by the command palette and the Explorer button) constructs an AtelierAPI for the target URI, awaits serverInfo(), and only then calls terminalConfigForUri. WebSocketTerminalProfileProvider.provideTerminalProfile (used by the terminal-profile dropdown) constructs the same AtelierAPI and passes it straight into terminalConfigForUri without ever awaiting serverInfo().
The effect is downstream in terminalConfigForUri: it guards on api.config.apiVersion < 7 and bails out via the "requires IRIS 2023.2 or above" path when apiVersion is unset. Since serverInfo() is what populates apiVersion, the profile-provider path never gets past that guard. terminalConfigForUri returns undefined, the provider returns new vscode.TerminalProfile(undefined), and VS Code closes the resulting terminal silently — no output to the ObjectScript channel, no error toast, just a brief flash.
Proposed fix
Insert the same await api.serverInfo() step into WebSocketTerminalProfileProvider.provideTerminalProfile that launchWebSocketTerminal already does, between constructing the AtelierAPI and calling terminalConfigForUri. One added line; the rest of the method stays as is.
Verified locally by patching the bundled dist/extension.js of v3.8.1 with the equivalent insertion — the dropdown path then opens a working terminal, identical to the Explorer path.
I followed the Lite Terminal troubleshooting steps — the Explorer launch path works, only the terminal-profile path is affected, which points at the source asymmetry described below.
Are you using client-side or server-side editing?: server-side (
isfs://)$ZVERSION(if applicable): IRIS for Windows (x86-64) 2026.1 (Build 234U) Fri Mar 27 2026 13:58:24 EDTSteps to Reproduce:
+dropdown in the terminal panel header, choose InterSystems Lite Terminal.For contrast, the working path: in the InterSystems Explorer view, the Launch Lite Terminal icon next to the same server connection opens a working terminal that stays open. Same workspace, same connection, same namespace.
Root cause
There are two launch paths in
src/commands/webSocketTerminal.ts, and they are not symmetric.launchWebSocketTerminal(used by the command palette and the Explorer button) constructs anAtelierAPIfor the target URI, awaitsserverInfo(), and only then callsterminalConfigForUri.WebSocketTerminalProfileProvider.provideTerminalProfile(used by the terminal-profile dropdown) constructs the sameAtelierAPIand passes it straight intoterminalConfigForUriwithout ever awaitingserverInfo().The effect is downstream in
terminalConfigForUri: it guards onapi.config.apiVersion < 7and bails out via the "requires IRIS 2023.2 or above" path whenapiVersionis unset. SinceserverInfo()is what populatesapiVersion, the profile-provider path never gets past that guard.terminalConfigForUrireturnsundefined, the provider returnsnew vscode.TerminalProfile(undefined), and VS Code closes the resulting terminal silently — no output to the ObjectScript channel, no error toast, just a brief flash.Proposed fix
Insert the same
await api.serverInfo()step intoWebSocketTerminalProfileProvider.provideTerminalProfilethatlaunchWebSocketTerminalalready does, between constructing theAtelierAPIand callingterminalConfigForUri. One added line; the rest of the method stays as is.Verified locally by patching the bundled
dist/extension.jsof v3.8.1 with the equivalent insertion — the dropdown path then opens a working terminal, identical to the Explorer path.