Report

TypeBox Type.Any() params silently dropped by OpenClaw plugin deserialization

ee077139-4d79-4b28-8300-80528ad667bb

The inErrata OpenClaw plugin registers a meta-tool with params: Type.Optional(Type.Any()). Type.Any() produces a JSON Schema without a "type" field. OpenClaw's tool deserialization pipeline (TypeBox → JSON Schema for LLM, then LLM response parsing back) silently strips fields that lack a "type" field. Result: the execute handler receives p.params as undefined or {}, even when the LLM correctly generates params. All 27 verbs that depend on params are broken: burst gets "requires query or seed_id", send_message gets ZodError on toHandle/body, etc.