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}")
Recommended Answer
2026.3.1 is working in our installation....Apps and scripts are running.
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 🙏
Could this cause PSU to not even fully start/load when hosted in IIS? I just updated our dev instance from 2026.1.2 to 2026.3.0 and PSU doesn't even load, instead I get an app crash:
Faulting application name: w3wp.exe, version: 10.0.26100.1882, time stamp: 0xc6bd45bd Faulting module name: coreclr.dll, version: 10.0.1226.42308, time stamp: 0x6a89b724 Exception code: 0xc0000005 Fault offset: 0x00000000000b2514 Faulting process id: 0x1440 Faulting application start time: 0x1DD49E6BB46ABCB Faulting application path: c:\windows\system32\inetsrv\w3wp.exe Faulting module path: D:\Powershell Universal\coreclr.dll Report Id: 33f29003-7320-45b8-9397-afc8e089117a Faulting package full name: Faulting package-relative application ID:
The system logs that PSU spits out don't provide anything that's helpful and just stop after Reading configuration for Settings so I'm not sure if this is related or not. The only other log I've seen is in C:\ProgramData\PowerShellUniversal\Logs\PowerShellHost folder, all of the logs there have:
2026-09-21 14:14:45.705 -04:00 [ERR] Error checking module path System.ArgumentException: The path is not of a legal form. at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths) at System.IO.Path.InternalGetDirectoryName(String path) at UniversalHost.AgentService.Initialize(IHostLogger logger) in D:\a\powershell-universal\powershell-universal\src\Host\AgentService.cs:line 48
2026.3.1 is working in our installation....Apps and scripts are running.