diff --git a/apps/api/src/api/tool_instances.py b/apps/api/src/api/tool_instances.py index 859c87f..568e5fe 100644 --- a/apps/api/src/api/tool_instances.py +++ b/apps/api/src/api/tool_instances.py @@ -1217,10 +1217,14 @@ async def check_instance_tunnel_health( if tunnel_health.get("error"): response["error"] = tunnel_health["error"] - # Overall healthy only if container is running AND tunnel is healthy + # Overall healthy: web tools need running container + healthy tunnel; + # terminal tools only need running container container_healthy = container_info["status"] == "running" - tunnel_healthy = response["tunnel_status"] == "healthy" - response["healthy"] = container_healthy and tunnel_healthy + if instance.url: + tunnel_healthy = response["tunnel_status"] == "healthy" + response["healthy"] = container_healthy and tunnel_healthy + else: + response["healthy"] = container_healthy # If container is not running, override error message if not container_healthy: