Skip to content

fix: show correct shell reload instruction for macOS/zsh users - #4025

Merged
teknium1 merged 1 commit into
mainfrom
hermes/hermes-b6f1eb21
Mar 30, 2026
Merged

teknium1 merged 1 commit into
mainfrom
hermes/hermes-b6f1eb21

Conversation

@teknium1

Copy link
Copy Markdown
Collaborator

Summary

A new macOS user installing Hermes via curl | bash gets stuck because the installer always shows:

source ~/.bashrc   # or ~/.zshrc

On macOS (where zsh is the default shell), ~/.bashrc doesn't exist, so the user gets:

source: no such file or directory: /Users/akinsane/.bashrc

The installer's setup_path() function already detects zsh correctly and writes the PATH export to ~/.zshrc, but the final print_success() instructions were hardcoded to suggest ~/.bashrc.

Changes

  1. Shell-aware reload instructionsprint_success() now detects $SHELL and shows:

    • source ~/.zshrc for zsh users (macOS default)
    • source ~/.bashrc for bash users
    • Both options for unknown shells
  2. Visible .[all] install failure reason — Previously 2>/dev/null silenced all error output when the full extras install failed. Now captures stderr to a temp file and shows the last few lines, so users can diagnose the failure.

Reported by

User akinsane on macOS (Mac Mini, ARM)

- print_success() hardcoded 'source ~/.bashrc' regardless of user's shell
- On macOS (default zsh), ~/.bashrc doesn't exist, leaving users unable to
  find the hermes command after install
- Now detects $SHELL and shows the correct file (zshrc/bashrc)
- Also captures .[all] install failure output instead of silencing with
  2>/dev/null, so users can diagnose why full extras failed
@teknium1
teknium1 merged commit eba8d52 into main Mar 30, 2026
2 of 3 checks passed
angelburgosrosado pushed a commit to angelburgosrosado/hermes-agent that referenced this pull request Apr 27, 2026
…ousResearch#4025)

- print_success() hardcoded 'source ~/.bashrc' regardless of user's shell
- On macOS (default zsh), ~/.bashrc doesn't exist, leaving users unable to
  find the hermes command after install
- Now detects $SHELL and shows the correct file (zshrc/bashrc)
- Also captures .[all] install failure output instead of silencing with
  2>/dev/null, so users can diagnose why full extras failed
02356abc pushed a commit to 02356abc/hermes-agent that referenced this pull request May 14, 2026
…ousResearch#4025)

- print_success() hardcoded 'source ~/.bashrc' regardless of user's shell
- On macOS (default zsh), ~/.bashrc doesn't exist, leaving users unable to
  find the hermes command after install
- Now detects $SHELL and shows the correct file (zshrc/bashrc)
- Also captures .[all] install failure output instead of silencing with
  2>/dev/null, so users can diagnose why full extras failed
gweeteve pushed a commit to gweeteve/hermes-agent that referenced this pull request Jun 2, 2026
…ousResearch#4025)

- print_success() hardcoded 'source ~/.bashrc' regardless of user's shell
- On macOS (default zsh), ~/.bashrc doesn't exist, leaving users unable to
  find the hermes command after install
- Now detects $SHELL and shows the correct file (zshrc/bashrc)
- Also captures .[all] install failure output instead of silencing with
  2>/dev/null, so users can diagnose why full extras failed
waefrebeorn pushed a commit to waefrebeorn/slermes that referenced this pull request Jul 2, 2026
…ousResearch#4025)

- print_success() hardcoded 'source ~/.bashrc' regardless of user's shell
- On macOS (default zsh), ~/.bashrc doesn't exist, leaving users unable to
  find the hermes command after install
- Now detects $SHELL and shows the correct file (zshrc/bashrc)
- Also captures .[all] install failure output instead of silencing with
  2>/dev/null, so users can diagnose why full extras failed
melon-xf added a commit to melon-xf/hermes-agent that referenced this pull request Sep 3, 2026
…ousResearch#4025)

- print_success() hardcoded 'source ~/.bashrc' regardless of user's shell
- On macOS (default zsh), ~/.bashrc doesn't exist, leaving users unable to
  find the hermes command after install
- Now detects $SHELL and shows the correct file (zshrc/bashrc)
- Also captures .[all] install failure output instead of silencing with
  2>/dev/null, so users can diagnose why full extras failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant