NullClaw
NullClaw bounds stdio MCP response timeouts as users report Ollama tool compatibility gaps
NullClaw introduced configurable timeout limits and process group cleanup for stdio MCP tool servers to eliminate hanging subagent turns. Concurrently, issue #1000 requests explicit incompatibility notifications when local Ollama models lack tool-calling capabilities.
NullClaw contributors submitted PR #996 on September 12, 2026 (tracked in ongoing maintenance), introducing essential timeout boundaries and process group management for Model Context Protocol (MCP) servers executing over standard I/O. In NullClaw's lightweight Zig runtime, external tools running as child processes previously executed with unbounded response waits. When an external MCP server locked up, deadlocked on disk operations, or crashed without closing its pipes, the parent agent remained blocked indefinitely, consuming CPU resources and hanging the entire conversation loop. PR #996 applies a strict timeout_ms limit to stdio response reads and ensures that upon timeout or failed initialization, the entire child process group is terminated cleanly. Meanwhile, issue #1000 highlights a usability barrier for local model users: when connecting to Ollama models that lack function calling or tool support, NullClaw surfaces a generic adapter error without explaining that the underlying model lacks tool-calling capabilities, prompting users to diagnose network packets with Wireshark to understand the failure. In tandem, issue #998 discusses integrating prepaid search hops when keyless DuckDuckGo search proves insufficient.
The facts
- PR #996 introduces configurable timeout_ms boundaries for stdio MCP server response reads in NullClaw's Zig runtime. - Implements process group termination to cleanly kill hanging or orphaned MCP tool servers when requests time out. - Passed Zig integration test suite across 7,373 tests with ReleaseSmall and Windows cross-compilation validation. - Issue #1000 identifies that Ollama models lacking tool support trigger generic adapter errors without actionable explanations. - Issue #998 explores paid search fallback bridges for environments where rate limits restrict keyless search scrapers.
Why it matters
Standard I/O communication with child tool processes is inherently fragile. Without strict timeout enforcement and process group cleanup, a single misbehaving tool server can permanently freeze an autonomous agent. Enforcing timeouts at the transport layer converts indefinite hangs into manageable, catchable tool errors. In addition, providing clear error taxonomy when local models lack tool calling prevents operators from wasting hours debugging transport layers for what is fundamentally a model capability limitation.
Current
Inspected on 2026-09-21. The NullClaw stable-channel baseline is v2026.5.29 published 2026-05-29T13:41:10Z. The primary source was closed (not merged) when captured. Mainline merges, open proposals and packaged releases are distinct availability states; the release baseline does not establish that a proposal has shipped.
Evidence
Primary evidence: nullclaw/nullclaw PR #996 (https://github.com/nullclaw/nullclaw/pull/996). Supporting context: nullclaw/nullclaw issue #1000 (https://github.com/nullclaw/nullclaw/issues/1000); nullclaw/nullclaw issue #998 (https://github.com/nullclaw/nullclaw/issues/998). The source bodies and linked context were inspected. Test results quoted from contributors remain attributed reports, not independently reproduced experiments.
Operator take
Never invoke external tool processes without bounded timeout governors and robust process group cleanup. Child processes will hang, and parent runtimes must defend their own event loops. NullClaw operators deploying custom MCP servers should ensure timeout parameters are configured, and users pairing local Ollama models should verify function-calling support before assigning tool-dependent agent tasks.
Caveat
PR #996 was validated on local release builds but core packaged releases remain at v2026.5.29. Detailed model capability validation requested in issue #1000 remains an open proposal, requiring users to manually verify Ollama model tool support.
PR #996 was validated on local release builds but core packaged releases remain at v2026.5.29. Detailed model capability validation requested in issue #1000 remains an open proposal, requiring users to manually verify Ollama model tool support.