Skip to content

[Bug] install.ps1 prints "🎉 Installation complete!" even when skills installation silently fails #779

Closed

Description

@jinmmd

Describe the Bug

When running install.ps1 with DWS_SKILLS_ONLY=1 to install skills separately, the skills download can fail (Gitee gateway 502/503 or unreachable GitHub), but the script only prints two easily-missed warning lines and still ends with 🎉 Installation complete! and exit code 0. As a result, ~\.agents\skills\dws stays empty while the user believes the installation succeeded.

Steps to Reproduce

  1. Install the binary only:
    $env:DWS_NO_SKILLS = "1"
    irm https://raw.githubusercontent.com/DingTalk-Real-AI/dingtalk-workspace-cli/main/scripts/install.ps1 | iex
  2. Later, try to install skills only:
    $env:DWS_SKILLS_ONLY = "1"
    irm https://raw.githubusercontent.com/DingTalk-Real-AI/dingtalk-workspace-cli/main/scripts/install.ps1 | iex
  3. If the dws-skills.zip download fails (likely for mainland-China users: the GitHub probe in Resolve-Source connects to github.com directly, and the Gitee API gateway intermittently returns 502/503), the script prints:
    ⚠️  Release asset download failed. Trying local source...
    ⚠️  No local source found either. Skipping skills installation.
    
    ...and then still prints 🎉 Installation complete!.

Expected Behavior

  • Skills are installed to ~\.agents\skills\dws, or
  • the script fails loudly: prints the warnings via Write-Err, skips the success banner, and exits with a non-zero code.

Actual Behavior

~\.agents\skills\dws remains empty. The script ends with:

🎉 Installation complete!

Next steps:
  dws --help           # explore commands

The only failure indication is two ⚠️ warning lines in the middle of the output, which are easy to miss.

Environment

  • OS: Windows 11
  • Architecture: amd64
  • CLI Version: dws v1.0.54 (windows/amd64)
  • Install method: irm .../scripts/install.ps1 | iex via gh-proxy mirror (GitHub is unreachable directly)

Additional Context

Root cause: in Install-Skills, when the release asset download fails the script falls back to a local source checkout; when that is also missing (always the case for irm | iex), it prints a warning and returns — but the main flow unconditionally prints the success banner and exits 0.

Verified separately that the Gitee asset itself is fine: https://gitee.com/dingtalk-real-ai/dingtalk-workspace-cli/releases/download/v1.0.54/dws-skills.zip (2.3 MB, contains mono/SKILL.md).

Suggestions:

  1. Track the skills-install result and exit non-zero (or at least skip the 🎉 banner) on failure.
  2. Honor HTTPS_PROXY / add a DWS_PROXY option for the GitHub probe and asset downloads.
  3. Consider a dws skill install subcommand so users can (re)install skills without re-running install.ps1.
  4. Document DWS_SKILLS_ONLY / DWS_NO_SKILLS / DWS_INSTALL_DIR in the README.

Activity

  1. haofeng0705 commented on Oct 23, 2026

    @haofeng0705
    Collaborator

    Hi @jinmmd 👋

    Thanks for reporting this! We fixed the false-success paths in #1547, now merged into main. The installer now fails explicitly when no usable skills or local fallback are available, instead of reporting success.

    Please use the latest installer script from main. If you still encounter the issue, please share the full console output and your PowerShell version.

    We're closing this as fixed. Thanks again, and feel free to continue the discussion if you run into any further issues 🙌

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions