Skip to content

[good first issue]🎯 [Bug] OpenClaw plugin install fails to extract npm archive on Windows #148

@yangjj-iso

Description

@yangjj-iso

OpenClaw Version | OpenClaw 版本

2026.3.14 (1693b93)

Plugin Version | 插件版本

Tested versions:

  • @tencentdb-agent-memory/memory-tencentdb@0.1.0
  • @tencentdb-agent-memory/memory-tencentdb@0.3.4
  • @tencentdb-agent-memory/memory-tencentdb@0.3.5
  • @tencentdb-agent-memory/memory-tencentdb@0.3.6
  • @tencentdb-agent-memory/memory-tencentdb@0.3.6-beta.4
  • @tencentdb-agent-memory/memory-tencentdb@latest (resolved to 0.3.6)
  • local .tgz generated by npm pack

Operating System | 操作系统

Windows / PowerShell

System Specification | 系统配置

N/A

Describe the bug | 问题描述

On Windows, openclaw plugins install can download the npm package, but fails during the archive extraction step with EINVAL when opening package/LICENSE.

This appears to be different from #107. Exact version specs such as @0.3.6 are accepted by OpenClaw and the install reaches the download/extract stage. The failure happens after download, while extracting the npm/tgz archive.

I also tested multiple package versions and a local .tgz file. They all failed at the same extraction point, so this does not look like a single broken package version.

To Reproduce | 复现步骤

Run the install command in an isolated OpenClaw profile:

openclaw --profile codex-issue-107 --log-level debug plugins install @tencentdb-agent-memory/memory-tencentdb@0.3.6 --pin

I also reproduced the same error with these specs:

openclaw --profile codex-issue-107-v0-3-4 --log-level error plugins install @tencentdb-agent-memory/memory-tencentdb@0.3.4 --pin
openclaw --profile codex-issue-107-v0-3-5 --log-level error plugins install @tencentdb-agent-memory/memory-tencentdb@0.3.5 --pin
openclaw --profile codex-issue-107-v0-3-6 --log-level error plugins install @tencentdb-agent-memory/memory-tencentdb@0.3.6 --pin
openclaw --profile codex-issue-107-beta --log-level error plugins install @tencentdb-agent-memory/memory-tencentdb@0.3.6-beta.4 --pin
openclaw --profile codex-issue-107-v0-1-0 --log-level error plugins install @tencentdb-agent-memory/memory-tencentdb@0.1.0 --pin
openclaw --profile codex-issue-107-latest --log-level error plugins install @tencentdb-agent-memory/memory-tencentdb@latest --pin

A local .tgz archive also fails in the same place:

npm pack @tencentdb-agent-memory/memory-tencentdb@0.3.6
openclaw --profile codex-issue-107-local-tgz --log-level error plugins install .\tencentdb-agent-memory-memory-tencentdb-0.3.6.tgz

Expected behavior | 预期行为

OpenClaw should extract the npm/tgz plugin package successfully on Windows and complete plugin installation.

Error Logs / Screenshots | 报错日志/截图

Example output:

Downloading @tencentdb-agent-memory/memory-tencentdb@0.3.6…
Extracting C:\Users\<user>\AppData\Local\Temp\openclaw-npm-pack-...\tencentdb-agent-memory-memory-tencentdb-0.3.6.tgz…
failed to extract archive: Error: EINVAL: invalid argument, open 'C:/Users/<user>/AppData/Local/Temp/openclaw-plugin-.../extract/.openclaw-archive-.../package/LICENSE'

Other tested versions fail with the same pattern:

failed to extract archive: Error: EINVAL: invalid argument, open '.../package/LICENSE'

Additional context | 补充信息

The npm tarballs themselves appear to be valid. Manual npm pack plus system tar extraction succeeds, and package/LICENSE exists:

npm pack @tencentdb-agent-memory/memory-tencentdb@0.3.4
npm pack @tencentdb-agent-memory/memory-tencentdb@0.3.5
npm pack @tencentdb-agent-memory/memory-tencentdb@0.3.6
tar -xzf tencentdb-agent-memory-memory-tencentdb-0.3.6.tgz

Manual extraction result:

  • package/package.json: exists
  • package/LICENSE: exists

So the issue may be in OpenClaw's Windows archive extraction path rather than in this package's tarball contents.

Related context: this was found while testing PR #144 for #107. PR #144 addresses the semver range documentation issue, while this issue is about Windows archive extraction after the exact version spec has already been accepted.

Metadata

Metadata

Assignees

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