All apps/scripts not working on 2026.3.0

A fix for this issue has been implemented in version 2026.3.1
Resolved

All apps/scripts not working on 2026.3.0

avatar

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}")

avatar

Recommended Answer

2026.3.1 is working in our installation....Apps and scripts are running.

All Comments (11)

avatar
Set-PSUCache -Key 'troubleshootingCache' -Value @{
    Timestamp = Get-Date
    Message   = 'Troubleshooting initiated.'
}
avatar

@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

avatar

yes...a troubleshooting script with write-host "hello world" failed the same way.

avatar

[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...

avatar

@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

avatar

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. 
avatar

@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

avatar

Who refreshes this like every hour? https://devolutions.net/powershell-universal/release-notes/ is it just me :P

avatar
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 🙏

avatar

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


avatar

2026.3.1 is working in our installation....Apps and scripts are running.

A fix for this issue has been implemented in version 2026.3.1