Bug type
Regression (worked before, now fails)
Beta release blocker
No
Summary
Bug type
Crash
Beta release blocker
No
Summary
After upgrading from OpenClaw 2026.2.6 to 2026.4.9 on Windows, the gateway process starts, reaches ready, and then later exits with an uncaught exception in the Discord gateway dependency @buape/carbon. Disabling Discord stops the crash.
Steps to reproduce
- Run OpenClaw 2026.4.9 on Windows with the Discord channel enabled.
- Start or restart the gateway service (
Scheduled Task in this setup).
- Observe the gateway reaches
ready.
- After some time, observe the process exits unexpectedly.
- Run
openclaw gateway status --deep and inspect the latest log file.
- Observe the last log line contains an uncaught exception from
@buape/carbon:
Attempted to reconnect zombie connection after disconnecting first.
- Set
channels.discord.enabled to false, restart the gateway, and observe the crash no longer reproduces.
Steps to reproduce
Expected behavior
The gateway should remain running after startup and Discord reconnect/heartbeat handling should not crash the process. This setup worked before the update on 2026.2.6.
Actual behavior
The gateway starts normally, including:
text
[gateway] ready (7 plugins, 27.3s)
but later exits. openclaw gateway status --deep then reports:
text
Runtime: stopped (state Ready, last run 1, Task Last Run Result=1; treating as not running.)
RPC probe: failed
Service is loaded but not running (likely exited immediately).
The last log line is:
text
[openclaw] Uncaught exception: Error: Attempted to reconnect zombie connection after disconnecting first (this shouldn't be possible)
at Object.reconnectCallback (file:///C:/Users/Molton/AppData/Roaming/npm/node_modules/openclaw/node_modules/@buape/carbon/src/plugins/gateway/GatewayPlugin.ts:217:15)
at Timeout.sendHeartbeat [as _onTimeout] (file:///C:/Users/Molton/AppData/Roaming/npm/node_modules/openclaw/node_modules/@buape/carbon/src/plugins/gateway/utils/heartbeat.ts:31:12)
at listOnTimeout (node:internal/timers:605:17)
at processTimers (node:internal/timers:541:7)
OpenClaw version
2026.4.9 (0512059)
Operating system
Windows (exact version not captured)
Install method
npm global
Model
NOT_ENOUGH_INFO
Provider / routing chain
openclaw -> Discord channel -> @buape/carbon gateway plugin
Additional provider/model setup details
The effective chat model was changed during debugging, but the terminating stack trace consistently pointed at the Discord gateway reconnect path, not the model runtime.
Logs, screenshots, and evidence
Gateway reached ready:
text
19:55:54-03:00 [gateway] ready (7 plugins, 27.3s)
19:55:55-03:00 [gateway] starting channels and sidecars...
19:55:56-03:00 [hooks] loaded 4 internal hook handlers
19:56:02-03:00 [bonjour] watchdog detected non-announced service; attempting re-advertise ...
Deep status after crash:
text
Runtime: stopped (state Ready, last run 1, last run time 4/9/2026 9:50:24 PM, Task Last Run Result=1; treating as not running.)
RPC probe: failed
RPC target: ws://127.0.0.1:18789
gateway closed (1006):
Service is loaded but not running (likely exited immediately).
Last log line:
text
[openclaw] Uncaught exception: Error: Attempted to reconnect zombie connection after disconnecting first (this shouldn't be possible)
at Object.reconnectCallback (file:///C:/Users/Molton/AppData/Roaming/npm/node_modules/openclaw/node_modules/@buape/carbon/src/plugins/gateway/GatewayPlugin.ts:217:15)
at Timeout.sendHeartbeat [as _onTimeout] (file:///C:/Users/Molton/AppData/Roaming/npm/node_modules/openclaw/node_modules/@buape/carbon/src/plugins/gateway/utils/heartbeat.ts:31:12)
at listOnTimeout (node:internal/timers:605:17)
at processTimers (node:internal/timers:541:7)
Workaround observed:
text
openclaw config set channels.discord.enabled false --strict-json
openclaw gateway restart
After disabling Discord, the user confirmed the crash trigger was Discord.
Impact and severity
Affected: Windows install with Discord channel enabled
Severity: High, because the gateway process exits
Frequency: Intermittent but repeated after restart/reboot
Consequence: Gateway stops responding and must be restarted; disabling Discord is the current workaround
Additional information
Last known good: 2026.2.6
First known bad: 2026.4.9 after update
A reboot temporarily improved behavior once, but the crash returned later.
There was also a stale config warning unrelated to the crash:
plugins.entries.minimax-portal-auth: plugin not found: minimax-portal-auth
That warning did not explain the terminating stack trace.
File it here:
https://github.com/openclaw/openclaw/issues
If you want, I can also trim that down into a shorter version before you post it.
Expected behavior
Expected behavior
The gateway should remain running after startup and Discord reconnect/heartbeat handling should not crash the process. This setup worked before the update on 2026.2.6.
Actual behavior
Expected behavior
The gateway should remain running after startup and Discord reconnect/heartbeat handling should not crash the process. This setup worked before the update on 2026.2.6.
Actual behavior
The gateway starts normally, including:
text
[gateway] ready (7 plugins, 27.3s)
but later exits. openclaw gateway status --deep then reports:
text
Runtime: stopped (state Ready, last run 1, Task Last Run Result=1; treating as not running.)
RPC probe: failed
Service is loaded but not running (likely exited immediately).
The last log line is:
text
[openclaw] Uncaught exception: Error: Attempted to reconnect zombie connection after disconnecting first (this shouldn't be possible)
at Object.reconnectCallback (file:///C:/Users/Molton/AppData/Roaming/npm/node_modules/openclaw/node_modules/@buape/carbon/src/plugins/gateway/GatewayPlugin.ts:217:15)
at Timeout.sendHeartbeat [as _onTimeout] (file:///C:/Users/Molton/AppData/Roaming/npm/node_modules/openclaw/node_modules/@buape/carbon/src/plugins/gateway/utils/heartbeat.ts:31:12)
at listOnTimeout (node:internal/timers:605:17)
at processTimers (node:internal/timers:541:7)
OpenClaw version
2026.4.9 (0512059)
Operating system
Windows (exact version not captured)
Install method
npm global
Model
NOT_ENOUGH_INFO
Provider / routing chain
openclaw -> Discord channel -> @buape/carbon gateway plugin
Additional provider/model setup details
The effective chat model was changed during debugging, but the terminating stack trace consistently pointed at the Discord gateway reconnect path, not the model runtime.
Logs, screenshots, and evidence
Gateway reached ready:
text
19:55:54-03:00 [gateway] ready (7 plugins, 27.3s)
19:55:55-03:00 [gateway] starting channels and sidecars...
19:55:56-03:00 [hooks] loaded 4 internal hook handlers
19:56:02-03:00 [bonjour] watchdog detected non-announced service; attempting re-advertise ...
Deep status after crash:
text
Runtime: stopped (state Ready, last run 1, last run time 4/9/2026 9:50:24 PM, Task Last Run Result=1; treating as not running.)
RPC probe: failed
RPC target: ws://127.0.0.1:18789
gateway closed (1006):
Service is loaded but not running (likely exited immediately).
Last log line:
text
[openclaw] Uncaught exception: Error: Attempted to reconnect zombie connection after disconnecting first (this shouldn't be possible)
at Object.reconnectCallback (file:///C:/Users/Molton/AppData/Roaming/npm/node_modules/openclaw/node_modules/@buape/carbon/src/plugins/gateway/GatewayPlugin.ts:217:15)
at Timeout.sendHeartbeat [as _onTimeout] (file:///C:/Users/Molton/AppData/Roaming/npm/node_modules/openclaw/node_modules/@buape/carbon/src/plugins/gateway/utils/heartbeat.ts:31:12)
at listOnTimeout (node:internal/timers:605:17)
at processTimers (node:internal/timers:541:7)
Workaround observed:
text
openclaw config set channels.discord.enabled false --strict-json
openclaw gateway restart
After disabling Discord, the user confirmed the crash trigger was Discord.
Impact and severity
Affected: Windows install with Discord channel enabled
Severity: High, because the gateway process exits
Frequency: Intermittent but repeated after restart/reboot
Consequence: Gateway stops responding and must be restarted; disabling Discord is the current workaround
Additional information
Last known good: 2026.2.6
First known bad: 2026.4.9 after update
A reboot temporarily improved behavior once, but the crash returned later.
There was also a stale config warning unrelated to the crash:
plugins.entries.minimax-portal-auth: plugin not found: minimax-portal-auth
That warning did not explain the terminating stack trace.
### OpenClaw version
2026.4.9
### Operating system
win10
### Install method
npm global
### Model
minimax2.7
### Provider / routing chain
-
### Additional provider/model setup details
_No response_
### Logs, screenshots, and evidence
```shell
Impact and severity
No response
Additional information
No response
Bug type
Regression (worked before, now fails)
Beta release blocker
No
Summary
Bug type
Crash
Beta release blocker
No
Summary
After upgrading from OpenClaw 2026.2.6 to 2026.4.9 on Windows, the gateway process starts, reaches
ready, and then later exits with an uncaught exception in the Discord gateway dependency@buape/carbon. Disabling Discord stops the crash.Steps to reproduce
Scheduled Taskin this setup).ready.openclaw gateway status --deepand inspect the latest log file.@buape/carbon:Attempted to reconnect zombie connection after disconnecting first.channels.discord.enabledtofalse, restart the gateway, and observe the crash no longer reproduces.Steps to reproduce
Expected behavior
The gateway should remain running after startup and Discord reconnect/heartbeat handling should not crash the process. This setup worked before the update on 2026.2.6.
Actual behavior
The gateway starts normally, including:
text
[gateway] ready (7 plugins, 27.3s)
but later exits.
openclaw gateway status --deepthen reports:text
Runtime: stopped (state Ready, last run 1, Task Last Run Result=1; treating as not running.)
RPC probe: failed
Service is loaded but not running (likely exited immediately).
The last log line is:
text
[openclaw] Uncaught exception: Error: Attempted to reconnect zombie connection after disconnecting first (this shouldn't be possible)
at Object.reconnectCallback (file:///C:/Users/Molton/AppData/Roaming/npm/node_modules/openclaw/node_modules/@buape/carbon/src/plugins/gateway/GatewayPlugin.ts:217:15)
at Timeout.sendHeartbeat [as _onTimeout] (file:///C:/Users/Molton/AppData/Roaming/npm/node_modules/openclaw/node_modules/@buape/carbon/src/plugins/gateway/utils/heartbeat.ts:31:12)
at listOnTimeout (node:internal/timers:605:17)
at processTimers (node:internal/timers:541:7)
OpenClaw version
2026.4.9 (0512059)
Operating system
Windows (exact version not captured)
Install method
npm global
Model
NOT_ENOUGH_INFO
Provider / routing chain
openclaw -> Discord channel ->
@buape/carbongateway pluginAdditional provider/model setup details
The effective chat model was changed during debugging, but the terminating stack trace consistently pointed at the Discord gateway reconnect path, not the model runtime.
Logs, screenshots, and evidence
Gateway reached ready:
text
19:55:54-03:00 [gateway] ready (7 plugins, 27.3s)
19:55:55-03:00 [gateway] starting channels and sidecars...
19:55:56-03:00 [hooks] loaded 4 internal hook handlers
19:56:02-03:00 [bonjour] watchdog detected non-announced service; attempting re-advertise ...
Deep status after crash:
text
Runtime: stopped (state Ready, last run 1, last run time 4/9/2026 9:50:24 PM, Task Last Run Result=1; treating as not running.)
RPC probe: failed
RPC target: ws://127.0.0.1:18789
gateway closed (1006):
Service is loaded but not running (likely exited immediately).
Last log line:
text
[openclaw] Uncaught exception: Error: Attempted to reconnect zombie connection after disconnecting first (this shouldn't be possible)
at Object.reconnectCallback (file:///C:/Users/Molton/AppData/Roaming/npm/node_modules/openclaw/node_modules/@buape/carbon/src/plugins/gateway/GatewayPlugin.ts:217:15)
at Timeout.sendHeartbeat [as _onTimeout] (file:///C:/Users/Molton/AppData/Roaming/npm/node_modules/openclaw/node_modules/@buape/carbon/src/plugins/gateway/utils/heartbeat.ts:31:12)
at listOnTimeout (node:internal/timers:605:17)
at processTimers (node:internal/timers:541:7)
Workaround observed:
text
openclaw config set channels.discord.enabled false --strict-json
openclaw gateway restart
After disabling Discord, the user confirmed the crash trigger was Discord.
Impact and severity
Affected: Windows install with Discord channel enabled
Severity: High, because the gateway process exits
Frequency: Intermittent but repeated after restart/reboot
Consequence: Gateway stops responding and must be restarted; disabling Discord is the current workaround
Additional information
Last known good: 2026.2.6
First known bad: 2026.4.9 after update
A reboot temporarily improved behavior once, but the crash returned later.
There was also a stale config warning unrelated to the crash:
File it here:
https://github.com/openclaw/openclaw/issues
If you want, I can also trim that down into a shorter version before you post it.
Expected behavior
Expected behavior
The gateway should remain running after startup and Discord reconnect/heartbeat handling should not crash the process. This setup worked before the update on 2026.2.6.
Actual behavior
Expected behavior
The gateway should remain running after startup and Discord reconnect/heartbeat handling should not crash the process. This setup worked before the update on 2026.2.6.
Actual behavior
The gateway starts normally, including:
text
[gateway] ready (7 plugins, 27.3s)
but later exits.
openclaw gateway status --deepthen reports:text
Runtime: stopped (state Ready, last run 1, Task Last Run Result=1; treating as not running.)
RPC probe: failed
Service is loaded but not running (likely exited immediately).
The last log line is:
text
[openclaw] Uncaught exception: Error: Attempted to reconnect zombie connection after disconnecting first (this shouldn't be possible)
at Object.reconnectCallback (file:///C:/Users/Molton/AppData/Roaming/npm/node_modules/openclaw/node_modules/@buape/carbon/src/plugins/gateway/GatewayPlugin.ts:217:15)
at Timeout.sendHeartbeat [as _onTimeout] (file:///C:/Users/Molton/AppData/Roaming/npm/node_modules/openclaw/node_modules/@buape/carbon/src/plugins/gateway/utils/heartbeat.ts:31:12)
at listOnTimeout (node:internal/timers:605:17)
at processTimers (node:internal/timers:541:7)
OpenClaw version
2026.4.9 (0512059)
Operating system
Windows (exact version not captured)
Install method
npm global
Model
NOT_ENOUGH_INFO
Provider / routing chain
openclaw -> Discord channel ->
@buape/carbongateway pluginAdditional provider/model setup details
The effective chat model was changed during debugging, but the terminating stack trace consistently pointed at the Discord gateway reconnect path, not the model runtime.
Logs, screenshots, and evidence
Gateway reached ready:
text
19:55:54-03:00 [gateway] ready (7 plugins, 27.3s)
19:55:55-03:00 [gateway] starting channels and sidecars...
19:55:56-03:00 [hooks] loaded 4 internal hook handlers
19:56:02-03:00 [bonjour] watchdog detected non-announced service; attempting re-advertise ...
Deep status after crash:
text
Runtime: stopped (state Ready, last run 1, last run time 4/9/2026 9:50:24 PM, Task Last Run Result=1; treating as not running.)
RPC probe: failed
RPC target: ws://127.0.0.1:18789
gateway closed (1006):
Service is loaded but not running (likely exited immediately).
Last log line:
text
[openclaw] Uncaught exception: Error: Attempted to reconnect zombie connection after disconnecting first (this shouldn't be possible)
at Object.reconnectCallback (file:///C:/Users/Molton/AppData/Roaming/npm/node_modules/openclaw/node_modules/@buape/carbon/src/plugins/gateway/GatewayPlugin.ts:217:15)
at Timeout.sendHeartbeat [as _onTimeout] (file:///C:/Users/Molton/AppData/Roaming/npm/node_modules/openclaw/node_modules/@buape/carbon/src/plugins/gateway/utils/heartbeat.ts:31:12)
at listOnTimeout (node:internal/timers:605:17)
at processTimers (node:internal/timers:541:7)
Workaround observed:
text
openclaw config set channels.discord.enabled false --strict-json
openclaw gateway restart
After disabling Discord, the user confirmed the crash trigger was Discord.
Impact and severity
Affected: Windows install with Discord channel enabled
Severity: High, because the gateway process exits
Frequency: Intermittent but repeated after restart/reboot
Consequence: Gateway stops responding and must be restarted; disabling Discord is the current workaround
Additional information
Last known good: 2026.2.6
First known bad: 2026.4.9 after update
A reboot temporarily improved behavior once, but the crash returned later.
There was also a stale config warning unrelated to the crash:
Impact and severity
No response
Additional information
No response