I see this error in every job and in the log for all apps.
Status(StatusCode="Internal", Detail="Received http2 header with status: 400", DebugException="Grpc.Core.Internal.CoreErrorDetailException: {"created":"@1789641307.947000000","description":"Error received from peer ipv6:[::1]:50908","file":"..\..\..\src\core\lib\surface\call.cc","file_line":953,"grpc_message":"Received http2 header with status: 400","grpc_status":13}")
Set-PSUCache -Key 'troubleshootingCache' -Value @{
Timestamp = Get-Date
Message = 'Troubleshooting initiated.'
}@Matthew Morrow @mshepard70 Can you please check the system logs to see if there is an additional information about these 400s? The gRPC channel seems to be communicating improperly for some reason and would explain why lots of things wouldn't work.
I'm assuming this is affecting more than just the cache cmdlets, is that correct?
Adam Driscoll
PowerShell Expert and Software Architect at Devolutions
yes...a troubleshooting script with write-host "hello world" failed the same way.
[9/17/2026 8:38:04 AM] [Error] [App-CRMBot3001] Inner Exception: Grpc.Core.Internal.CoreErrorDetailException
[9/17/2026 8:38:04 AM] [Error] [App-CRMBot3001] at ProtoBuf.Grpc.Internal.Reshape.UnaryTaskAsyncImpl[TRequest,TResponse](AsyncUnaryCall`1 call, MetadataContext metadata, CancellationToken cancellationToken) in /_/src/protobuf-net.Grpc/Internal/Reshape.cs:line 554
at PowerShellUniversal.ClientServiceRedirect.IsDebuggerAttachedAsync() in D:\a\powershell-universal\powershell-universal\src\Host\GrpcUniversalClient.cs:line 42
at Nito.AsyncEx.Synchronous.TaskExtensions.WaitAndUnwrapException[TResult](Task`1 task)
at Nito.AsyncEx.AsyncContext.<>c__DisplayClass16_0`1.<Run>b__0(Task`1 t)
at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
at Nito.AsyncEx.Synchronous.TaskExtensions.WaitAndUnwrapException[TResult](Task`1 task)
at Nito.AsyncEx.AsyncContext.Run[TResult](Func`1 action)
at PowerShellUniversal.ValueTaskExtensions.ToResult[T](ValueTask`1 valueTask) in D:\a\powershell-universal\powershell-universal\src\PowerShellUniversal\ValueTaskExtensions.cs:line 49
--- End of stack trace from previous location ---
at PowerShellUniversal.ValueTaskExtensions.HandleException[TResult](RpcException e) in D:\a\powershell-universal\powershell-universal\src\PowerShellUniversal\ValueTaskExtensions.cs:line 130
at PowerShellUniversal.ValueTaskExtensions.ToResult[T](ValueTask`1 valueTask) in D:\a\powershell-universal\powershell-universal\src\PowerShellUniversal\ValueTaskExtensions.cs:line 53
at UniversalDashboard.Services.UDRunspaceFactory.CreateRunspace() in D:\a\powershell-universal\powershell-universal\src\UniversalDashboard\Services\UDRunspaceFactory.cs:line 480
at UniversalDashboard.Services.UDRunspaceFactory.Create() in D:\a\powershell-universal\powershell-universal\src\UniversalDashboard\Services\UDRunspaceFactory.cs:line 658
at Microsoft.Extensions.ObjectPool.DefaultObjectPool`1.Get()
at UniversalDashboard.Services.UDRunspaceFactory.GetRunspaceReference(Boolean sendSaturationWarning) in D:\a\powershell-universal\powershell-universal\src\UniversalDashboard\Services\UDRunspaceFactory.cs:line 112
at UniversalDashboard.Services.UDRunspaceFactory.GetRunspaceAsync() in D:\a\powershell-universal\powershell-universal\src\UniversalDashboard\Services\UDRunspaceFactory.cs:line 78
at UniversalAutomation.Host.UniversalDashboardService.StartDashboard() in D:\a\powershell-universal\powershell-universal\src\Host\DashboardService.cs:line 156
[9/17/2026 8:38:04 AM] [Error] [App-CRMBot3001] Failed to get dashboard. Status(StatusCode="Internal", Detail="Received http2 header with status: 400", DebugException="Grpc.Core.Internal.CoreErrorDetailException: {"created":"@1789652284.427000000","description":"Error received from peer ipv6:[::1]:50908","file":"..\..\..\src\core\lib\surface\call.cc","file_line":953,"grpc_message":"Received http2 header with status: 400","grpc_status":13}") Grpc.Core.RpcException
[9/17/2026 8:38:03 AM] [Information] [App-CRMBot3001] Dashboard information received. Starting dashboard.
[9/17/2026 8:38:02 AM] [Information] [App-CRMBot3001] Waiting for dashboard information...
@mshepard70 @Matthew Morrow Thanks. We have a confirmed reproduction of the issue locally. Not clear yet, but it seems to be related to either IIS or nested IIS hosting. I'll circle back if we need more info.
Adam Driscoll
PowerShell Expert and Software Architect at Devolutions
I believe we're experiencing a similar issue. IIS hosted (not nested). Error when apps start is Grpc related but not identical to OP:
[17/09/2026 16:29:58] [Error] [App-**********] Inner Exception: Grpc.Core.Internal.CoreErrorDetailException
[17/09/2026 16:29:57] [Error] [App-**********] at ProtoBuf.Grpc.Internal.Reshape.UnaryTaskAsyncImpl[TRequest,TResponse](AsyncUnaryCall`1 call, MetadataContext metadata, CancellationToken cancellationToken) in /_/src/protobuf-net.Grpc/Internal/Reshape.cs:line 554
at PowerShellUniversal.ClientServiceRedirect.IsDebuggerAttachedAsync() in D:\a\powershell-universal\powershell-universal\src\Host\GrpcUniversalClient.cs:line 42
at Nito.AsyncEx.Synchronous.TaskExtensions.WaitAndUnwrapException[TResult](Task`1 task)
at Nito.AsyncEx.AsyncContext.<>c__DisplayClass16_0`1.<Run>b__0(Task`1 t)
at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
at Nito.AsyncEx.Synchronous.TaskExtensions.WaitAndUnwrapException[TResult](Task`1 task)
at Nito.AsyncEx.AsyncContext.Run[TResult](Func`1 action)
at PowerShellUniversal.ValueTaskExtensions.ToResult[T](ValueTask`1 valueTask) in D:\a\powershell-universal\powershell-universal\src\PowerShellUniversal\ValueTaskExtensions.cs:line 49
--- End of stack trace from previous location ---
at PowerShellUniversal.ValueTaskExtensions.HandleException[TResult](RpcException e) in D:\a\powershell-universal\powershell-universal\src\PowerShellUniversal\ValueTaskExtensions.cs:line 130
at PowerShellUniversal.ValueTaskExtensions.ToResult[T](ValueTask`1 valueTask) in D:\a\powershell-universal\powershell-universal\src\PowerShellUniversal\ValueTaskExtensions.cs:line 49
at UniversalDashboard.Services.UDRunspaceFactory.CreateRunspace() in D:\a\powershell-universal\powershell-universal\src\UniversalDashboard\Services\UDRunspaceFactory.cs:line 480
at UniversalDashboard.Services.UDRunspaceFactory.Create() in D:\a\powershell-universal\powershell-universal\src\UniversalDashboard\Services\UDRunspaceFactory.cs:line 658
at Microsoft.Extensions.ObjectPool.DefaultObjectPool`1.Get()
at UniversalDashboard.Services.UDRunspaceFactory.GetRunspaceReference(Boolean sendSaturationWarning) in D:\a\powershell-universal\powershell-universal\src\UniversalDashboard\Services\UDRunspaceFactory.cs:line 112
at UniversalDashboard.Services.UDRunspaceFactory.GetRunspaceAsync() in D:\a\powershell-universal\powershell-universal\src\UniversalDashboard\Services\UDRunspaceFactory.cs:line 78
at UniversalAutomation.Host.UniversalDashboardService.StartDashboard() in D:\a\powershell-universal\powershell-universal\src\Host\DashboardService.cs:line 156
[17/09/2026 16:29:57] [Error] [App-**********] Failed to get dashboard. Status(StatusCode="Unavailable", Detail="failed to connect to all addresses", DebugException="Grpc.Core.Internal.CoreErrorDetailException: {"created":"@1789658997.465000000","description":"Failed to pick subchannel","file":"..\..\..\src\core\ext\filters\client_channel\client_channel.cc","file_line":3218,"referenced_errors":[{"created":"@1789658997.465000000","description":"failed to connect to all addresses","file":"..\..\..\src\core\lib\transport\error_utils.cc","file_line":165,"grpc_status":14}]}") Grpc.Core.RpcException
[17/09/2026 16:29:50] [Information] [App-**********] Dashboard information received. Starting dashboard. @liamjpeters Thanks for the additional confirmation. We have root cause for this and will be issuing a fix for it in 2026.3.1.
Adam Driscoll
PowerShell Expert and Software Architect at Devolutions
Who refreshes this like every hour? https://devolutions.net/powershell-universal/release-notes/ is it just me :P
Who refreshes this like every hour? https://devolutions.net/powershell-universal/release-notes/ is it just me :P
@Matthew Morrow
Nah not just you
Its halted my upgrade plans to the "prod" instance for a bit, hoping this gets fixed quick and I don't have to do another round of paperwork to reschedule the main upgrade 🙏