<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/websocket-connection-multiplexing-in-hive-router-z5hjqfmmz" -->

---
title: WebSocket Connection Multiplexing in Hive Router | daily.dev
description: Hive Router now multiplexes GraphQL subscriptions over shared, pooled graphql-transport-ws WebSocket connections to subgraphs instead of opening a dedicated...
canonical: https://daily.dev/posts/websocket-connection-multiplexing-in-hive-router-z5hjqfmmz
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: WebSocket Connection Multiplexing in Hive Router | daily.dev
og:description: Hive Router now multiplexes GraphQL subscriptions over shared, pooled graphql-transport-ws WebSocket connections to subgraphs instead of opening a dedicated...
og:url: https://daily.dev/posts/websocket-connection-multiplexing-in-hive-router-z5hjqfmmz
og:image: https://api.daily.dev/og/posts/z5HjQFmmz.png
og:image:alt: WebSocket Connection Multiplexing in Hive Router
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# WebSocket Connection Multiplexing in Hive Router

**[The Guild](https://daily.dev/sources/guild)** · 2 min read · 0 upvotes · 0 comments

## Summary

Hive Router now multiplexes GraphQL subscriptions over shared, pooled graphql-transport-ws WebSocket connections to subgraphs instead of opening a dedicated connection per subscription. Connection reuse is enabled by default and can be disabled with reuse_connections: false. A new execute_mode setting also lets queries and mutations optionally ride the same WebSocket pool instead of always using HTTP, with three modes: http (default, unchanged HTTP behavior), reuse_existing (uses an existing pooled connection or falls back to HTTP without delay), and websocket (always uses WebSocket, initializing or joining a pooled connection). Transport failures on WebSocket-sent operations are not retried over HTTP, to avoid duplicate mutation execution. Settings can be overridden per subgraph.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://the-guild.dev/graphql/hive/product-updates/2026-08-12-hive-router-websocket-multiplexing>

## Questions this post answers

### How does Hive Router handle multiple subscriptions to the same GraphQL subgraph over WebSocket?

Hive Router now multiplexes subscriptions with the same subgraph, resolved WebSocket endpoint, and inbound connection identity over one shared, pooled graphql-transport-ws connection instead of opening a separate WebSocket per subscription. Previously, ten active subscriptions to the same subgraph from one user session produced ten separate physical connections. This reuse is enabled by default.

_Track infrastructure changes like this WebSocket pooling update as you tune your GraphQL gateway on daily.dev._

### How do I disable WebSocket connection reuse in Hive Router if I need the old per-subscription connection behavior?

Set reuse_connections: false under traffic_shaping.all.websocket, either globally or per subgraph, to restore the previous one-connection-per-subscription behavior. By default, subscriptions to the same WebSocket-enabled subgraph now automatically share one pooled connection without any configuration change.

_daily.dev helps engineers keep up with router config changes before they hit production._

### What does the execute_mode setting do in Hive Router and what are its options?

execute_mode controls whether GraphQL queries and mutations use HTTP or a pooled WebSocket connection to subgraphs. The options are http (default, queries and mutations always use HTTP), reuse_existing (uses an already-initialized WebSocket connection if available, otherwise falls back to HTTP without waiting for a handshake), and websocket (always uses WebSocket, initializing or joining a pooled connection, with concurrent operations joining rather than racing to open duplicates).

_Engineers weighing transport tradeoffs for GraphQL gateways can follow updates like this on daily.dev._

---

Tags: [#database](https://daily.dev/tags/database), [#graphql](https://daily.dev/tags/graphql), [#api-gateway](https://daily.dev/tags/api-gateway), [#websocket](https://daily.dev/tags/websocket)

[View this post on daily.dev](https://daily.dev/posts/websocket-connection-multiplexing-in-hive-router-z5hjqfmmz)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"WebSocket Connection Multiplexing in Hive Router","url":"https://daily.dev/posts/websocket-connection-multiplexing-in-hive-router-z5hjqfmmz","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/websocket-connection-multiplexing-in-hive-router-z5hjqfmmz"},"datePublished":"2026-09-01T10:58:06.403Z","dateModified":"2026-09-01T10:58:27.902Z","description":"Hive Router now multiplexes GraphQL subscriptions over shared, pooled graphql-transport-ws WebSocket connections to subgraphs instead of opening a dedicated...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4bedd0582f3aee40fabe5fbd04bb120a?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4bedd0582f3aee40fabe5fbd04bb120a?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"The Guild","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"The Guild","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ee61cd9a12684e9889775727044e4a49","url":"https://daily.dev/sources/guild"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/websocket-connection-multiplexing-in-hive-router-z5hjqfmmz","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"database,graphql,api-gateway,websocket","timeRequired":"PT2M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"The Guild","item":"https://daily.dev/sources/guild"},{"@type":"ListItem","position":3,"name":"WebSocket Connection Multiplexing in Hive Router"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/websocket-connection-multiplexing-in-hive-router-z5hjqfmmz#faq","mainEntity":[{"@type":"Question","name":"How does Hive Router handle multiple subscriptions to the same GraphQL subgraph over WebSocket?","acceptedAnswer":{"@type":"Answer","text":"Hive Router now multiplexes subscriptions with the same subgraph, resolved WebSocket endpoint, and inbound connection identity over one shared, pooled graphql-transport-ws connection instead of opening a separate WebSocket per subscription. Previously, ten active subscriptions to the same subgraph from one user session produced ten separate physical connections. This reuse is enabled by default. Track infrastructure changes like this WebSocket pooling update as you tune your GraphQL gateway on daily.dev."}},{"@type":"Question","name":"How do I disable WebSocket connection reuse in Hive Router if I need the old per-subscription connection behavior?","acceptedAnswer":{"@type":"Answer","text":"Set reuse_connections: false under traffic_shaping.all.websocket, either globally or per subgraph, to restore the previous one-connection-per-subscription behavior. By default, subscriptions to the same WebSocket-enabled subgraph now automatically share one pooled connection without any configuration change. daily.dev helps engineers keep up with router config changes before they hit production."}},{"@type":"Question","name":"What does the execute_mode setting do in Hive Router and what are its options?","acceptedAnswer":{"@type":"Answer","text":"execute_mode controls whether GraphQL queries and mutations use HTTP or a pooled WebSocket connection to subgraphs. The options are http (default, queries and mutations always use HTTP), reuse_existing (uses an already-initialized WebSocket connection if available, otherwise falls back to HTTP without waiting for a handshake), and websocket (always uses WebSocket, initializing or joining a pooled connection, with concurrent operations joining rather than racing to open duplicates). Engineers weighing transport tradeoffs for GraphQL gateways can follow updates like this on daily.dev."}}]}
```

