-
Notifications
You must be signed in to change notification settings - Fork 381
Open
Labels
needs attentionDelete label after triageDelete label after triagepublic-clientuntriagedDo not delete. Needed for AutomationDo not delete. Needed for Automation
Description
Library version used
4.66.2
.NET version
.NET Framework 4.7.2
Scenario
PublicClient - desktop app
Is this a new or an existing app?
The app is in production, I haven't upgraded MSAL, but started seeing this issue
Issue description and reproduction steps
Some users are running into a NullReferenceException when trying to sign in silently which prevents them from authenticating. The interactive flow works, but then every attempt to authenticate silently fails afterwards.
MSAL Logs from a customer provided here:
https://microsoft-my.sharepoint.com/:u:/p/robertxu/EcuFBzHxDNBNkkDyIKeB-oMB1qH8HsU0SdeYjkh7eTN8VQ?e=G5zHA1
Relevant code snippets
Error: <euii>True MSAL 4.66.2.0 MSAL.Desktop 4.8 or later Windows 10 Enterprise [2025-07-21 07:00:28Z - 86c642c7-0750-490d-9c55-ae8ba9a3c13c]
System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.Identity.Client.Platforms.Features.RuntimeBroker.RuntimeBroker.<AcquireTokenSilentAsync>d__16.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Identity.Client.Internal.Requests.BrokerSilentStrategy.<SendTokenRequestToBrokerAsync>d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Identity.Client.Internal.Requests.BrokerSilentStrategy.<ExecuteAsync>d__9.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Identity.Client.Internal.Requests.Silent.SilentRequest.<ExecuteAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Identity.Client.Internal.Requests.RequestBase.<>c__DisplayClass11_1.<<RunAsync>b__1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Identity.Client.Utils.StopwatchService.<MeasureCodeBlockAsync>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Identity.Client.Internal.Requests.RequestBase.<RunAsync>d__11.MoveNext()</euii>Expected behavior
User should be able to silently retrieve their token.
Identity provider
Microsoft Entra ID (Work and School accounts and Personal Microsoft accounts)
Regression
4.66.2
Solution and workarounds
N/A
Metadata
Metadata
Assignees
Labels
needs attentionDelete label after triageDelete label after triagepublic-clientuntriagedDo not delete. Needed for AutomationDo not delete. Needed for Automation