Installer aborts on an existing same-named `slack` binary; prefer install + warning over hard abort

Open Beginner friendly
#671 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
76/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
bash, shell
Domain
cli

Research direction

Start with install.sh and trace the existing slack PATH check through the installation flow. Reproduce the collision with an unrelated slack executable, then verify that installation continues, the binary and symlink are placed as usual, and a warning retains the alias guidance.

Written by the indexing model from the issue text.

Description

bug
What happens

install.sh refuses to install if any slack already exists on PATH. On a machine where the slack-ruby-client gem provides a slack executable (an rbenv shim at ~/.rbenv/shims/slack), the installer aborts:

🛑 Error: Your existing `slack` command is different from this Slack CLI!
🔖 Try using an alias when installing to avoid name conflicts:
   curl -fsSL https://downloads.slack-edge.com/slack-cli/install.sh | bash -s your-preferred-alias
Repro
  1. Have an unrelated slack on PATH. Concrete case: gem install slack-ruby-client (ships a slack executable; under rbenv it becomes ~/.rbenv/shims/slack).
  2. curl -fsSL https://downloads.slack-edge.com/slack-cli/install.sh | bash
  3. Installer aborts instead of installing.
Why this is unhelpful

Aborting on a same-named binary is non-standard. It forced installing under an alias (| bash -s slack-cli), then manually symlinking it back to slack and reordering PATH, because rbenv shims sit ahead of ~/.local/bin, so even after installing, the CLI stayed shadowed by the gem's slack. Every other CLI installer I use just installs the binary and leaves PATH precedence to me.

Suggestion

Install regardless: place the binary + symlink as usual, and print a warning about the name collision (keep the alias tip there), instead of hard-aborting. Let the user manage their own PATH.

Env

macOS arm64, Slack CLI v4.7.0, zsh + rbenv, slack-ruby-client 2.6.0

Dominant language
Go
Stars
305
Forks
46
Avg merge
1d 11h
Merged PRs (30d)
23

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from slackapi/slack-cli

All issues in slackapi/slack-cli

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.