Bug Description
The openclaw status command outputs all content successfully but never exits, hanging indefinitely until manually terminated (Ctrl+C or kill).
Environment
- OpenClaw Version: 2026.3.2 (latest)
- OS: macOS 26.3 (arm64)
- Node.js: 22.22.0
- Install Method: npm global (via homebrew)
Steps to Reproduce
- Run
openclaw status in terminal
- Wait for all content to be displayed (Dashboard, OS, Gateway, Sessions, etc.)
- Observe that the command prompt never returns
Expected Behavior
Command should output status information and exit with code 0.
Actual Behavior
- All status content is displayed correctly
- Process hangs indefinitely (waited >10 minutes)
- Must use Ctrl+C or
kill to terminate
Workaround
Using a timeout wrapper:
timeout 8 openclaw status
Additional Context
Gateway Status
- Gateway process is running normally
- WebSocket port 18789 is reachable (~50ms response)
openclaw doctor works fine and exits normally
Logs Analysis
No errors in logs. The hang appears to be related to Node.js event loop not being properly cleaned up after outputting content.
Observed Network Connections
Gateway shows active Bonjour/mDNS UDP sockets which may be keeping the event loop alive.
Related
This appears to be a regression or unhandled async resource cleanup issue in the status command implementation.
Bug Description
The
openclaw statuscommand outputs all content successfully but never exits, hanging indefinitely until manually terminated (Ctrl+C or kill).Environment
Steps to Reproduce
openclaw statusin terminalExpected Behavior
Command should output status information and exit with code 0.
Actual Behavior
killto terminateWorkaround
Using a timeout wrapper:
Additional Context
Gateway Status
openclaw doctorworks fine and exits normallyLogs Analysis
No errors in logs. The hang appears to be related to Node.js event loop not being properly cleaned up after outputting content.
Observed Network Connections
Gateway shows active Bonjour/mDNS UDP sockets which may be keeping the event loop alive.
Related
This appears to be a regression or unhandled async resource cleanup issue in the status command implementation.