Skip to content

Web UI terminal (stream-json) freezes on long-running tasks #68

@Nibbler1250

Description

@Nibbler1250

Bug Description

The web UI terminal chat freezes indefinitely when running tasks that take more than a few minutes. The daemon stops logging after Running: chat (stream-json, session: ...) and never logs Done: chat. The Claude subprocess becomes unresponsive and must be killed manually.

Behavior

  • Telegram: works reliably, no freezes even on long tasks ✅
  • Web UI terminal: freezes on tasks > ~5 minutes ❌

Steps to Reproduce

  1. Open the web UI dashboard (port 4632)
  2. Send a message that triggers a long-running task (e.g. network scan, file indexing, anything that takes 5+ minutes)
  3. The daemon log shows Running: chat (stream-json, session: ...) but never Done: chat
  4. The Claude subprocess (visible via ps aux) continues consuming CPU but never completes
  5. Daemon must be restarted manually to recover

Logs

[8:52:58 AM] Running: chat (stream-json, session: 86085fd1)
# ... nothing after this for 30+ minutes

After killing the stuck Claude PID, the daemon recovers normally.

Environment

  • ClaudeClaw version: 1.0.0
  • Bun: 1.3.11
  • OS: Ubuntu 24.04 Linux x86_64
  • Model: sonnet (agentic routing)
  • Security level: unrestricted

Additional Notes

Two bugs were also found in the source code during initial setup (fixed locally):

  1. config.ts:252discordUserIds variable referenced but never defined
  2. runner.ts:339settings variable used on line 363 but only destructured (not assigned)

Both were patched locally to get the daemon running.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions