OpenClaw has been getting faster and smaller at the same time. The performance work is visible in agent turns. The dependency work is quieter, but it cuts npm size, install size, audit surface, and native package surprises.
The package grew while OpenClaw gained channels, providers, media, memory, and plugin SDK surface. Then we started moving heavier plugin dependency cones out of core. The full release rows and caveats live in the technical report.
v2026.4.149.8sv2026.5.273.4s
v2026.4.147.5sv2026.5.273.0s
v2026.4.14686 MBv2026.5.27635 MB
2026.3.3143.3 MB2026.5.2717.8 MB
* Root shrinkwrap landed in 5.22; the size jump came from a bad package shape that made npm install a duplicate dependency tree.
Already down to 314 on main for the next release.
Latest release, down 42% from the monthly high.
Main is already at 314.
5.27 still shows the shrinkwrap-exposed duplicate tree.
Removed on main for the next release.
Shrinkwrap was not the problem; the package shape was.
The npm package grew from 82.9 MB unpacked to 182.6 MB unpacked while the surface area expanded.
Bedrock, Slack, OpenShell, Anthropic Vertex, Matrix, and WhatsApp move out of the core dependency path.
npm materialized a large nested tree with every canvas platform package.
17.8 MB published tarball, 371 installed dependencies, and the shrinkwrap-exposed duplicate tree still visible in fresh installs.
Already removed on main for the next release.
The direction is simple: keep core small, move optional capabilities into plugins, make dependency ownership explicit, and measure the user-visible effects. Each point is one smoke run, useful for spotting large shifts rather than making fine-grained benchmark claims.
For methodology, caveats, per-release rows, and the shrinkwrap boundary audit, read the technical report.
Growth, here, looks more like molting than adding.