Skip to content

[Bug] core-plugin-tools blocks for 30-40s on every cold start — Windows + Node 24 only #75907

@dlrik

Description

@dlrik

Problem Summary

On Windows 11 (WSL2) + Node 24.14.0, the OpenClaw gateway exhibits a consistent 30-40 second blocking delay on every embedded run cold start, traced specifically to the core-plugin-tools initialization stage. This renders the Telegram bot unresponsive for the duration.

Linux agents on the same config/versions do not exhibit this problem.

System Info

  • OS: Windows 11 (WSL2)
  • Node.js: 24.14.0
  • OpenClaw: 2026.4.29
  • Platform: x86_64 (WSL2)

Root Cause

Trace data pinpoints core-plugin-tools → createOpenClawCodingTools() → createCodingTools() from @mariozechner/pi-coding-agent as the blocking call. This runs unconditionally on every cold start regardless of:

  • tools allowlist (only exec, group:fs, write, edit, read are enabled)
  • tools.profile: minimal — made it WORSE, pushing timing to 43-45s
  • Browser plugin enabled or disabled — no effect

Timing Evidence (78 runs)

Early runs (baseline):
core-plugin-tools: 31,337ms – 33,857ms
total pipeline: 75,792ms – 81,284ms

Later runs (after ~3 hours):
core-plugin-tools: 34,251ms – 38,232ms
total pipeline: 85,526ms – 90,764ms

With tools.profile=minimal (reverted):
core-plugin-tools: 43,098ms – 44,537ms
total pipeline: 105,194ms – 131,557ms

What Was Tried

  • tools.profile=minimal: Made it WORSE (43-45s vs 35s baseline)
  • Browser plugin disabled: No effect
  • Windows Defender exclusion: No effect
  • Telegram bot token replacement: Resolved 409 conflict; lag persists

Code Path

pi-tools-hI2Hhdd_.js:806 createOpenClawCodingTools()
→ pi-coding-agent/dist/core/tools/index.js: createCodingTools()
→ returns [createReadTool, createBashTool, createEditTool, createWriteTool]

The pi-coding-agent performs filesystem probing, tool-description generation, and PTY/shell detection on every call. On Windows + Node 24 this is dramatically slower than Linux.

Request

  • Investigate why createCodingTools() is so slow on Windows + Node 24 specifically
  • Consider caching the tool inventory instead of rebuilding on every cold start
  • Or provide a way to defer/lazy-load the coding tools when only basic tools are in the allowlist

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions