diff --git a/src/cascadia/TerminalSettingsModel/CascadiaSettings.cpp b/src/cascadia/TerminalSettingsModel/CascadiaSettings.cpp index e22905d3652..8d2ba573102 100644 --- a/src/cascadia/TerminalSettingsModel/CascadiaSettings.cpp +++ b/src/cascadia/TerminalSettingsModel/CascadiaSettings.cpp @@ -531,7 +531,9 @@ void CascadiaSettings::_validateMediaResources() // Explicitly just use the Icon here, not the EvaluatedIcon. We don't // want to blow up if we fell back to the commandline and the // commandline _isn't an icon_. - if (const auto icon = profile.Icon(); icon.size() > 2) + // GH #17943: "none" is a special value interpreted as "remove the icon" + static constexpr std::wstring_view HideIconValue{ L"none" }; + if (const auto icon = profile.Icon(); icon.size() > 2 && icon != HideIconValue) { const auto iconPath{ wil::ExpandEnvironmentStringsW(icon.c_str()) }; try