# Troubleshoot the Aspire dashboard

This article helps you diagnose and resolve common issues with the Aspire dashboard.

## Connection errors between the dashboard and AppHost

The dashboard displays resource information by connecting to a gRPC resource service hosted by the AppHost. When this connection fails, the dashboard may show an error message or display telemetry data without any resource list or console logs.

### Symptoms

- The dashboard loads but shows no resources in the resource list.
- Console logs are unavailable for resources.
- An error banner appears indicating the dashboard can't connect to the resource service.
- The dashboard log contains errors related to gRPC connection failures.

### Viewing dashboard logs

Enable verbose logging to get more detail about connection failures. Run the AppHost with debug-level output:

```bash title="Run with debug output"
aspire run --log-level Debug
```

Review the console output for messages related to the resource service connection, such as gRPC status codes or TLS handshake failures.

### Certificate and TLS errors

When running with HTTPS, the dashboard and AppHost use certificates to secure the gRPC connection. Certificate issues are a common source of connection failures.

**Common causes:**

- The development certificate isn't trusted. Run `aspire certs trust` to trust the development certificate.
- The certificate has expired or is corrupted. Regenerate it with `aspire certs clean` followed by `aspire certs trust`.
- A custom certificate is specified but the file path or password is incorrect. Verify the `Dashboard:ResourceServiceClient:ClientCertificate` settings.

### Firewall and network issues

- Confirm that a firewall or some other security software isn't blocking the connection between the dashboard and the resource service endpoint.
- The resource service uses gRPC, which requires HTTP/2. Some firewalls, proxies, or network appliances don't support HTTP/2 traffic and may silently drop or downgrade the connection. Ensure that any intermediary between the dashboard and the AppHost allows HTTP/2.

### Ping timeout errors when debugging the AppHost

You may see the following error in the dashboard:

```
Status(StatusCode="Internal", Detail="Error starting gRPC call.
HttpRequestException: The HTTP/2 server didn't respond to a ping request
within the configured KeepAlivePingDelay. (HttpProtocolError)")
```

This means the dashboard's gRPC client sent an HTTP/2 PING frame to the AppHost's resource service, but didn't receive a response in time.

The most likely cause is that a debugger is paused on the AppHost — when you hit a breakpoint, the process can't respond to HTTP/2 PING frames, triggering the timeout. This error resolves once execution resumes.

If you see this error and you're running without a debugger attached, verify the AppHost process is still alive and responsive.

<LearnMore>
For the full list of configuration options, see [Aspire dashboard configuration](/dashboard/configuration/).
</LearnMore>