Note: This file is inherited from upstream Windows Terminal (
microsoft/terminal) and documents the telemetry events emitted by the underlying Windows Terminal / OpenConsole code that Intelligent Terminal forks from.Intelligent Terminal-specific telemetry (events emitted by WTA, agent-pane lifecycle, autofix, hooks installation, etc.) is not yet catalogued here. See
PRIVACY.mdfor IT-specific privacy information and how to disable telemetry.
This document enumerates every true telemetry event in the Windows Terminal codebase under src\ — i.e., every TraceLoggingWrite(...) call site whose argument list contains one of the Microsoft telemetry keywords (MICROSOFT_KEYWORD_MEASURES, MICROSOFT_KEYWORD_TELEMETRY, or MICROSOFT_KEYWORD_CRITICAL_DATA) and is therefore reported to Microsoft.
Events grouped by their TRACELOGGING_DEFINE_PROVIDER. Diagnostic-only ETW traces tagged with TIL_KEYWORD_TRACE (UiaTracing.cpp, parser/tracing.cpp, most of host/tracing.cpp, the server *Dispatchers.cpp, VtIo.cpp, VtInputThread.cpp, etc.) are excluded.
Conventions used in the field tables below:
- Type uses the trailing portion of the
TraceLogging<Type>(...)macro (e.g.,TraceLoggingBool→Bool,TraceLoggingValue→Value (auto)). - Description is the optional 3rd-argument string literal on the metadata macro; a dash (
—) means none was supplied. - Source expression is paraphrased; literal constants are shown in quotes.
- Source links are pinned to commit
fb71a04so that the line numbers stay accurate even as the codebase evolves.
- Symbol:
g_hTerminalAppProvider - GUID:
{24a1622f-7da7-5c77-3303-d850bd1ab2ed} - Defined in:
src\cascadia\TerminalApp\init.cpp - Privacy tag (all events):
PDT_ProductAndServiceUsage - Keyword (all events):
MICROSOFT_KEYWORD_MEASURES
-
Description: Event emitted when an action was successfully performed.
-
Source:
src\cascadia\TerminalApp\ShortcutActionDispatch.cpp:67 -
Fields:
Name Type Source expression Description ActionValue (int) static_cast<int>(actionAndArgs.Action())— BrandingValue branding(build branding string)—
-
Description: Event emitted when the application is started.
-
Fields:
Name Type Source expression Description TabsInTitlebarBool _settings.GlobalSettings().ShowTabsInTitlebar()—
-
Description: Event emitted once the app is initialized.
-
Fields:
Name Type Source expression Description latencyFloat32 latency(initialization latency)—
- Description: Event emitted when the user dismisses the Command Palette without selecting an action.
- Source:
src\cascadia\TerminalApp\CommandPalette.cpp:913 - Fields: (none)
-
Description: Event emitted when the user selects an action in the Command Palette.
-
Fields:
Name Type Source expression Description SearchTextLengthUInt32 searchTextLengthNumber of characters in the search string. NestedCommandDepthUInt32 nestedCommandDepthThe depth in the tree of commands for the dispatched action.
- Description: Event emitted when the user runs a commandline in the Command Palette.
- Source:
src\cascadia\TerminalApp\CommandPalette.cpp:873 - Fields: (none)
-
Description: Event emitted when the Command Palette is opened.
-
Fields:
Name Type Source expression Description ModeWideString L"Action"(literal)Which mode the palette was opened in.
-
Description: Event emitted upon the creation of a connection.
-
Fields:
Name Type Source expression Description ConnectionTypeGuidGuid connectionTypeThe type of the connection. ProfileGuidGuid profile.Guid()The profile's GUID. SessionGuidGuid connection.SessionId()The WT_SESSION's GUID.
- Description: Event emitted when the user drag&drops onto the new tab button.
- Source:
src\cascadia\TerminalApp\TerminalPage.cpp:591 - Fields: (none)
-
Description: Event emitted when the new tab menu is closed.
-
Fields:
Name Type Source expression Description TabCountValue (int) page->NumberOfTabs()The count of tabs currently opened in this window.
-
Description: Event emitted when a new terminal was created via the new tab menu.
-
Fields:
Name Type Source expression Description NewTabCountValue (int) NumberOfTabs()The count of tabs currently opened in this window. SessionTypeValue sessionTypeThe type of session that was created.
-
Description: Event emitted when the default button from the new tab split button is invoked.
-
Fields:
Name Type Source expression Description TabCountValue (int) page->NumberOfTabs()The count of tabs currently opened in this window.
-
Description: Event emitted when an item from the new tab menu is invoked.
-
Source (5 call sites, distinct
ItemTypeconstant per call site):src\cascadia\TerminalApp\TerminalPage.cpp:1322—ItemType = "Profile"src\cascadia\TerminalApp\TerminalPage.cpp:1377—ItemType = "Action"src\cascadia\TerminalApp\TerminalPage.cpp:1721—ItemType = "Settings"(also adds the extraSettingsTargetfield)src\cascadia\TerminalApp\TerminalPage.cpp:1743—ItemType = "CommandPalette"src\cascadia\TerminalApp\TerminalPage.cpp:1764—ItemType = "About"
-
Fields:
Name Type Source expression Description TabCountValue (int) page->NumberOfTabs()/NumberOfTabs()The count of tabs currently opened in this window. ItemTypeValue (string) "Profile"/"Action"/"Settings"/"CommandPalette"/"About"The type of item that was clicked in the new tab menu. SettingsTargetValue (string) targetAsString(only for the"Settings"variant at line 1721)The target settings file or UI.
-
Description: Event emitted when the elevate submenu item from the new tab menu is invoked.
-
Fields:
Name Type Source expression Description TabCountValue (int) page->NumberOfTabs()The count of tabs currently opened in this window.
-
Description: Event emitted when the new tab menu is opened.
-
Fields:
Name Type Source expression Description TabCountValue (int) page->NumberOfTabs()The count of tabs currently opened in this window.
-
Description: Event emitted when a winget suggestion is used.
-
Source (2 call sites, distinct
Sourceconstant per call site):src\cascadia\TerminalApp\SuggestionsControl.cpp:739—Source = "SuggestionsUI"src\cascadia\TerminalApp\TerminalPage.cpp:5667—Source = "QuickFixMenu"
-
Fields:
Name Type Source expression Description SourceValue (string) "SuggestionsUI"/"QuickFixMenu"—
- Description: Event emitted when the user dismisses the Command Palette without selecting an action.
- Source:
src\cascadia\TerminalApp\SuggestionsControl.cpp:798 - Fields: (none)
-
Description: Event emitted when the user selects an action in the Command Palette.
-
Fields:
Name Type Source expression Description SearchTextLengthUInt32 searchTextLengthNumber of characters in the search string. NestedCommandDepthUInt32 nestedCommandDepthThe depth in the tree of commands for the dispatched action.
-
Description: Event emitted when the Command Palette is opened.
-
Fields:
Name Type Source expression Description ModeWideString L"Action"(literal)Which mode the palette was opened in.
-
Description: Event emitted when the tab renamer is closed.
-
Fields:
Name Type Source expression Description CancelledRenameBoolean _renameCancelledTrue if the user cancelled the rename, false if they committed.
- Description: Event emitted when the tab renamer is opened.
- Source:
src\cascadia\TerminalApp\TabHeaderControl.cpp:85 - Fields: (none)
- Description: Event emitted when the window is started.
- Source:
src\cascadia\TerminalApp\TerminalWindow.cpp:226 - Fields: (none)
- Symbol:
g_hTerminalSettingsEditorProvider - GUID:
{1b16317d-b594-51f8-c552-5d50572b5efc} - Defined in:
src\cascadia\TerminalSettingsEditor\init.cpp - Privacy tag (all events):
PDT_ProductAndServiceUsage - Keyword (all events):
MICROSOFT_KEYWORD_MEASURES
-
Description: Event emitted when the user adds a new profile.
-
Source (2 call sites, distinct
Typeconstant per call site):src\cascadia\TerminalSettingsEditor\AddProfile.cpp:45—Type = "EmptyProfile"src\cascadia\TerminalSettingsEditor\AddProfile.cpp:62—Type = "Duplicate"(also addsSourceProfileHasSource)
-
Fields:
Name Type Source expression Description TypeValue (string) "EmptyProfile"/"Duplicate"The type of the creation method (i.e. empty profile, duplicate). SourceProfileHasSourceValue (bool) !selectedProfile.Source().empty()(only for the"Duplicate"variant at line 62)True if the source profile has a source(i.e. dynamic profile generator namespace, fragment). Otherwise, false, indicating it's based on a custom profile.
-
Description: Event emitted when the user creates an unfocused appearance for a profile.
-
Source:
src\cascadia\TerminalSettingsEditor\Profiles_Appearance.cpp:87 -
Fields:
Name Type Source expression Description IsProfileDefaultsValue (bool) _Profile.IsBaseLayer()If the modified profile is the profile.defaultsobject.ProfileGuidValue (GUID) static_cast<GUID>(_Profile.Guid())The guid of the profile that was navigated to. ProfileSourceValue (wide string) _Profile.Source().c_str()The source of the profile that was navigated to.
-
Description: Event emitted when the user deletes a profile.
-
Source:
src\cascadia\TerminalSettingsEditor\Profiles_Base.cpp:93 -
Fields:
Name Type Source expression Description ProfileGuidValue (string) to_hstring(_Profile.Guid()).c_str()The guid of the profile that was navigated to. ProfileSourceValue (wide string) _Profile.Source().c_str()The source of the profile that was navigated to. OrphanedValue (bool) false(literal)Tracks if the profile is orphaned. HiddenValue (bool) _Profile.Hidden()Tracks if the profile is hidden.
-
Description: Event emitted when the user navigates to a page in the settings UI.
-
Source (17 call sites; each call site emits a distinct
PageIdconstant — see the list below): -
Fields (union across all variants):
Name Type Description PageIdValue (string) The identifier of the page that was navigated to. IsProfileDefaultsValue (bool) If the modified profile is the profile.defaultsobject.ProfileGuidValue (GUID) The guid of the profile that was navigated to. (For Profiles_Base, set to{3ad42e7b-e073-5f3e-ac57-1c259ffa86a8}if theprofiles.defaultsobject is being modified.)ProfileSourceValue (wide string) The source of the profile that was navigated to. HasBackgroundImageValue (bool) If the profile has a background image defined. HasUnfocusedAppearanceValue (bool) If the profile has an unfocused appearance defined. SchemeNameValue (string) The name of the color scheme that's being edited. FragmentSourceValue (wide string) The source of the fragment included in this extension package. FragmentCountValue (int) The number of fragments included in this extension package. EnabledValue (bool) The enabled status of the extension. ExtensionPackageCountValue (int) The number of extension packages displayed. ProfilesModifiedCountValue (int) The number of profiles modified by enabled extensions. ProfilesAddedCountValue (int) The number of profiles added by enabled extensions. ColorSchemesAddedCountValue (int) The number of color schemes added by enabled extensions.
-
Description: Event emitted when the user clicks the Open JSON button in the settings UI.
-
Source:
src\cascadia\TerminalSettingsEditor\MainPage.cpp:417 -
Fields:
Name Type Source expression Description SettingsTargetValue (string) target == SettingsTarget::DefaultsFile ? "DefaultsFile" : "SettingsFile"The target settings file.
- Description: Event emitted when the user resets their application state.
- Source:
src\cascadia\TerminalSettingsEditor\Compatibility.cpp:29 - Fields: (none)
- Description: Event emitted when the user resets their settings to their default value.
- Source:
src\cascadia\TerminalSettingsEditor\Compatibility.cpp:41 - Fields: (none)
- Symbol:
g_hSettingsModelProvider - GUID:
{be579944-4d33-5202-e5d6-a7a57f1935cb} - Defined in:
src\cascadia\TerminalSettingsModel\init.cpp - Privacy tag (all events):
PDT_ProductAndServiceUsage - Keyword (all events):
MICROSOFT_KEYWORD_MEASURES
-
Description: (no
TraceLoggingDescriptionsupplied.) -
Source:
src\cascadia\TerminalSettingsModel\DefaultTerminal.cpp:102 -
Fields:
Name Type Source expression Description TerminalNameWideString term.Name().c_str()The name of the default terminal. TerminalVersionWideString term.Version().c_str()The version of the default terminal. TerminalAuthorWideString term.Author().c_str()The author of the default terminal.
-
Description: Event emitted when
settings.jsonchange[s]. -
Source:
src\cascadia\TerminalSettingsModel\CascadiaSettingsSerialization.cpp:1930 -
Fields:
Name Type Source expression Description SettingValue (string) change.data()— BrandingValue branding(build branding)— DistributionValue distribution(build distribution)—
-
Description: Event emitted upon settings load, containing the number of profiles opted-in to scrollbar marks.
-
Source:
src\cascadia\TerminalSettingsModel\CascadiaSettingsSerialization.cpp:1378 -
Fields:
Name Type Source expression Description NumberOfAutoMarkPromptsProfilesInt32 totalAutoMarkNumber of profiles for which AutoMarkPromptsis enabled.NumberOfShowMarksProfilesInt32 totalShowMarksNumber of profiles for which ShowMarksis enabled.
-
Description: Event emitted upon settings load, containing the number of
sendInputactions a user has. -
Source:
src\cascadia\TerminalSettingsModel\CascadiaSettingsSerialization.cpp:1361 -
Fields:
Name Type Source expression Description NumberOfSendInputActionsInt32 collectSendInput()Number of sendInputactions in the user's settings.
-
Description: Data about the themes in use.
-
Source:
src\cascadia\TerminalSettingsModel\CascadiaSettingsSerialization.cpp:1337 -
Fields:
Name Type Source expression Description ThemeClassInt32 themeChoiceIdentifier for the theme chosen. 0= system (legacySystem = 6),1= light (legacyLight = 5),2= dark (legacyDark = 4),3= any custom theme.ChangedThemeBool changedThemeTrue if the user actually changed the theme from the default theme. NumberOfThemesInt32 numThemesNumber of themes in the user's settings.
-
Description: Event emitted when settings change via the UI.
-
Source:
src\cascadia\TerminalSettingsModel\CascadiaSettingsSerialization.cpp:1941 -
Fields:
Name Type Source expression Description SettingValue (string) change.data()— BrandingValue branding— DistributionValue distribution—
- Symbol:
g_hTerminalConnectionProvider - GUID:
{e912fe7b-eeb6-52a5-c628-abe388e5f792} - Defined in:
src\cascadia\TerminalConnection\init.cpp - Keyword (all events):
MICROSOFT_KEYWORD_MEASURES
-
Description: Event emitted when ConPTY connection is started.
-
Source:
src\cascadia\TerminalConnection\ConptyConnection.cpp:185 -
Privacy tag:
PDT_ProductAndServiceUsage -
Fields:
Name Type Source expression Description SessionGuidGuid _sessionIdThe WT_SESSION's GUID.ClientWideString _clientName.c_str()The attached client process.
-
Description: Event emitted when ConPTY connection is started, for a defterm session.
-
Source:
src\cascadia\TerminalConnection\ConptyConnection.cpp:433 -
Privacy tag:
PDT_ProductAndServiceUsage -
Fields:
Name Type Source expression Description SessionGuidGuid _sessionIdThe WT_SESSION's GUID.ClientWideString _clientName.c_str()The attached client process.
-
Description: An event emitted when the connection receives the first byte.
-
Source:
src\cascadia\TerminalConnection\ConptyConnection.cpp:785 -
Privacy tag:
PDT_ProductAndServicePerformance(differs from the rest of this provider) -
Fields:
Name Type Source expression Description SessionGuidGuid _sessionIdThe WT_SESSION's GUID.DurationFloat64 delta.count()—
- Description: Successfully received a terminal handoff.
- Source:
src\cascadia\TerminalConnection\CTerminalHandoff.cpp:93 - Privacy tag:
PDT_ProductAndServiceUsage - Fields: (none)
- Symbol:
g_hCTerminalCoreProvider - GUID:
{103ac8cf-97d2-51aa-b3ba-5ffd5528fa5f} - Defined in:
src\cascadia\TerminalCore\TerminalApi.cpp - Privacy tag (all events):
PDT_ProductAndServiceUsage - Keyword (all events):
MICROSOFT_KEYWORD_MEASURES
Registered by:
src\cascadia\TerminalControl\init.cpp(alongsideg_hTerminalControlProvider).
- Description: The CWD was set by the client application.
- Source:
src\cascadia\TerminalCore\TerminalApi.cpp:224 - Fields: (none)
- Symbol:
g_hWindowsTerminalProvider - GUID:
{56c06166-2e2e-5f4d-7ff3-74f4b78c87d6} - Defined in:
src\cascadia\WindowsTerminal\main.cpp - Privacy tag (all events):
PDT_ProductAndServiceUsage - Keyword (all events):
MICROSOFT_KEYWORD_MEASURES
- Description: Event emitted when the terminal process is started.
- Source:
src\cascadia\WindowsTerminal\main.cpp:90 - Fields: (none)
-
Description: Event emitted when the session was interacted with.
-
Fields:
Name Type Source expression Description BrandingValue branding— DistributionValue distribution—
- Symbol:
g_hConhostV2EventTraceProvider - GUID:
{fe1ff234-1f09-50a8-d38d-c44fab43e818} - Defined in:
src\host\tracing.cpp - Privacy tag (all events):
PDT_ProductAndServiceUsage - Keyword (all events):
MICROSOFT_KEYWORD_MEASURES
Most events written to this provider are diagnostic ETW traces (tagged with
TIL_KEYWORD_TRACE) and are out of scope. Only the three telemetry-keyword events below are listed.
-
Description: Failed while attempting handoff.
-
Source:
src\server\IoDispatchers.cpp:385 -
Fields:
Name Type Source expression Description handoffCLSIDGuid Globals.delegationPair.console— (unnamed) HResult hr—
-
Description: A new interactive console session was started.
-
Source:
src\server\IoDispatchers.cpp:275 -
Fields:
Name Type Source expression Description handoffCLSIDGuid Globals.delegationPair.console— handoffTargetChosenByWindowsBool handoffTargetChosenByWindows—
-
Description: Successfully handed off console connection.
-
Source:
src\server\IoDispatchers.cpp:365 -
Fields:
Name Type Source expression Description handoffCLSIDGuid Globals.delegationPair.console—
- Symbol:
g_ConhostLauncherProvider - GUID:
{770aa552-671a-5e97-579b-151709ec0dbd} - Defined in:
src\host\exe\exemain.cpp - Privacy tag (all events):
PDT_ProductAndServiceUsage
-
Description: (no
TraceLoggingDescriptionsupplied.) Indicates that the legacyConhostV1.dllconsole host was loaded by the launcher. -
Source:
src\host\exe\exemain.cpp:150 -
Keyword:
MICROSOFT_KEYWORD_TELEMETRY(differs from the other providers, which all useMICROSOFT_KEYWORD_MEASURES) -
Fields:
Name Type Source expression Description ConsoleLegacyBool true(literal)—
The helper Microsoft::Console::ErrorReporting::EnableFallbackFailureReporting(<provider>) (see src\inc\WilErrorReporting.h) installs a WIL fallback that emits a single named telemetry event whenever a WIL THROW_… / LOG_… macro reports a failure that hasn't already been logged. The event is written to whichever provider was most recently passed to EnableFallbackFailureReporting in the current module.
Each Terminal DLL/EXE in this list passes its own provider, so this event can appear under any of them:
Microsoft.Windows.Terminal.App(src\cascadia\TerminalApp\init.cpp:22)Microsoft.Windows.Terminal.Settings.Editor(src\cascadia\TerminalSettingsEditor\init.cpp:23)Microsoft.Windows.Terminal.Setting.Model(src\cascadia\TerminalSettingsModel\init.cpp:22)Microsoft.Windows.Terminal.Connection(src\cascadia\TerminalConnection\init.cpp:24)Microsoft.Windows.Terminal.Control(src\cascadia\TerminalControl\init.cpp:26)
-
Description: WIL-reported failure that was not already reported elsewhere. (HRESULT
0x80131515— XAML accessibility — is filtered out.) -
Source:
src\inc\WilErrorReporting.h:32 -
Privacy tag:
PDT_ProductAndServicePerformance -
Keyword:
MICROSOFT_KEYWORD_TELEMETRY -
Level:
WINEVENT_LEVEL_ERROR -
Fields (all wrapped inside a
TraceLoggingStruct(14, "wilResult")):Name Type Source expression Description hresultUInt32 failure.hrFailure error code. fileNameString failure.pszFileSource code file name where the error occurred. lineNumberUInt32 failure.uLineNumberLine number within the source code file where the error occurred. moduleString failure.pszModuleName of the binary where the error occurred. failureTypeUInt32 static_cast<DWORD>(failure.type)Indicates what type of failure was observed (exception, returned error, logged error or fail fast). messageWideString failure.pszMessageCustom message associated with the failure (if any). threadIdUInt32 failure.threadIdIdentifier of the thread the error occurred on. callContextString failure.pszCallContextList of telemetry activities containing this error. originatingContextIdUInt32 failure.callContextOriginating.contextIdIdentifier for the oldest telemetry activity containing this error. originatingContextNameString failure.callContextOriginating.contextNameName of the oldest telemetry activity containing this error. originatingContextMessageWideString failure.callContextOriginating.contextMessageCustom message associated with the oldest telemetry activity containing this error (if any). currentContextIdUInt32 failure.callContextCurrent.contextIdIdentifier for the newest telemetry activity containing this error. currentContextNameString failure.callContextCurrent.contextNameName of the newest telemetry activity containing this error. currentContextMessageWideString failure.callContextCurrent.contextMessageCustom message associated with the newest telemetry activity containing this error (if any).
These providers are defined and registered but emit no telemetry-keyword events. They are listed here for completeness; their (diagnostic) events are out of scope.
| Provider | GUID | Defined in |
|---|---|---|
g_hTerminalControlProvider (Microsoft.Windows.Terminal.Control) |
{28c82e50-57af-5a86-c25b-e39cd990032b} |
src\cascadia\TerminalControl\init.cpp |
g_UiaProviderTraceProvider (Microsoft.Windows.Console.UIA) |
{e7ebce59-2161-572d-b263-2f16a6afb9e5} |
src\types\UiaTracing.cpp |
g_hConsoleVirtTermParserEventTraceProvider (Microsoft.Windows.Console.VirtualTerminal.Parser) |
{c9ba2a84-d3ca-5e19-2bd6-776a0910cb9d} |
src\terminal\parser\tracing.cpp |
g_hConhostV2EventTraceProvideris also used for many diagnostic events; only its telemetry-keyword events are listed above.g_hTerminalControlProviderhas noTraceLoggingWritecalls at all in the source tree but receives the cross-providerFallbackErrorevent when its DLL is the most recent caller ofEnableFallbackFailureReporting.