You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[bug] bl skill add installs paths exceeding Windows MAX_PATH (259 chars), breaking the host agent's entire skill library #224
OS: Windows 11 (NTFS), no long-path opt-in (LongPathsEnabled not set)
Region: cn (cn-beijing)
Reproduce
# 1) install (or let any `bl` command auto-sync the skill family)
bl skill add --name bailian-docs-llm-wiki
# 2) from the host agent that owns <agent-skills-dir>, walk the installed tree
python -c "import os; os.listdir(r'C:\Users\<user>\.hermes\skills\bailian-docs-llm-wiki\raw\application-user-guide\application-gallery\official-application-lingque-ccai-dialogue-analysis-aio\api-reference-2\api-contactcenterai-2024-06-03-dir\api-contactcenterai-2024-06-03-dir-hot-word-management')"
Expected
bl skill add installs bailian-docs-llm-wiki into the detected agent skill directories; the host agent can enumerate / load them normally.
Actual
The installed tree contains directories whose full path is 259 characters long (Windows MAX_PATH = 260, and the install does not use a \\?\ prefix). os.path.exists() on the directory itself returns True, but any child entry exceeds the limit, so traversal raises:
Impact: the host agent's skill loader walks its skills directory on every skill operation (list / view / manage). One over-long path therefore takes down the entire skill library — not just this skill — until bailian-docs-llm-wiki is removed. Measured on this machine: 35 MB / 2,776 files; the deepest directory name is generated by concatenating the parent slug (api-contactcenterai-2024-06-03-dir- + hot-word-management).
Deterministic: reproduced on repeated installs; bl skill remove --name bailian-docs-llm-wiki (removed 59 symlinks) restores the host agent immediately.
Suggested fix
Cap the generated segment length / total depth for the raw/ doc tree of bailian-docs-llm-wiki (e.g. truncate and hash long slugs instead of concatenating parent+child slugs), or
Flatten deeply nested doc dirs when packaging the skill, or
Create files with the \\?\ long-path prefix (and/or warn) on Windows, or
Skip / slim this doc-heavy skill by default on Windows.
Already tried
bl skill update / bl skill list — same install shape (auto-sync on an ordinary bl auth status re-installed it)
bl skill remove --name bailian-docs-llm-wiki → problem disappears
Notes
Frequency: always (deterministic on Windows)
Invoked via: terminal + agent (Hermes Agent on Windows 11)
Nothing else in the bailian-* family triggers this: only bailian-docs-llm-wiki reaches the 260 boundary
Thanks for the log — the root cause is confirmed: the current bailian-docs-llm-wiki package contains relative paths up to ~316 characters, which become ~369 characters after installation. Once that directory is linked into an agent's skills folder, the agent's recursive traversal crashes on Windows systems that don't support long paths.
CLI-side mitigation shipped in PR #226 (will be in the next release after v2.0.1):
Before replacing an existing installation, the installer now projects every file path in the extracted package onto both the canonical skill directory and every detected agent skills directory. If any final path would exceed the legacy Windows MAX_PATH limit (259 characters), installation is rejected with a clear error and the existing skill remains untouched. This prevents one oversized skill package from corrupting the entire agent skill library.
The same check was added to the standalone postinstall.js wiki-sync path.
Important caveat: this is a guardrail, not a usability fix. With this change, bailian-docs-llm-wiki will be safely rejected on affected Windows setups rather than breaking the agent — but it still cannot be installed and used there until the package itself shortens its generated directory structure. That content-side fix (flattening/compressing the raw path hierarchy and adding a publish-time max-path CI gate) is tracked separately and is not part of PR #226.
Activity
gujieye commentedon Sep 24, 2026
Thanks for the log — the root cause is confirmed: the current
bailian-docs-llm-wikipackage contains relative paths up to ~316 characters, which become ~369 characters after installation. Once that directory is linked into an agent'sskillsfolder, the agent's recursive traversal crashes on Windows systems that don't support long paths.CLI-side mitigation shipped in PR #226 (will be in the next release after v2.0.1):
Before replacing an existing installation, the installer now projects every file path in the extracted package onto both the canonical skill directory and every detected agent skills directory. If any final path would exceed the legacy Windows
MAX_PATHlimit (259 characters), installation is rejected with a clear error and the existing skill remains untouched. This prevents one oversized skill package from corrupting the entire agent skill library.The same check was added to the standalone
postinstall.jswiki-sync path.Important caveat: this is a guardrail, not a usability fix. With this change,
bailian-docs-llm-wikiwill be safely rejected on affected Windows setups rather than breaking the agent — but it still cannot be installed and used there until the package itself shortens its generated directory structure. That content-side fix (flattening/compressing the raw path hierarchy and adding a publish-time max-path CI gate) is tracked separately and is not part of PR #226.