slackapi / slackapi/slack-cli

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.

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

Description

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

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.

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.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.