@@ -83,19 +83,19 @@ Usage: install [options]
8383Options:
8484 -h, --help Display this help message
8585 -v, --version <version> Install a specific version (e.g., 0.2.0) or "nightly"
86- --init Run \` sentry init\` ephemerally without installing the CLI
8786 --no-modify-path Don't modify shell config files (.zshrc, .bashrc, etc.)
8887 --no-completions Don't install shell completions
8988
9089Environment Variables:
9190 SENTRY_INSTALL_DIR Override the installation directory
9291 SENTRY_VERSION Install a specific version (e.g., 0.19.0, nightly)
92+ SENTRY_INIT Set to 1 to run \` sentry init\` after installing
9393
9494Examples:
9595 curl -fsSL https://cli.sentry.dev/install | bash
9696 curl -fsSL https://cli.sentry.dev/install | bash -s -- --version nightly
9797 curl -fsSL https://cli.sentry.dev/install | bash -s -- --version 0.19.0
98- curl -fsSL https://cli.sentry.dev/install | bash -s -- --init
98+ SENTRY_INIT=1 curl -fsSL https://cli.sentry.dev/install | bash
9999 SENTRY_VERSION=nightly curl -fsSL https://cli.sentry.dev/install | bash
100100 SENTRY_INSTALL_DIR=~/.local/bin curl -fsSL https://cli.sentry.dev/install | bash
101101EOF
104104requested_version=" ${SENTRY_VERSION:- } "
105105no_modify_path=false
106106no_completions=false
107- init_mode=false
108- init_args=()
109107while [[ $# -gt 0 ]]; do
110108 case " $1 " in
111109 -h|--help) usage; exit 0 ;;
@@ -117,13 +115,6 @@ while [[ $# -gt 0 ]]; do
117115 die " Error: --version requires a version argument" " args"
118116 fi
119117 ;;
120- --init)
121- init_mode=true
122- shift
123- # Remaining args are forwarded to `sentry init`
124- init_args=(" $@ " )
125- break
126- ;;
127118 --no-modify-path)
128119 no_modify_path=true
129120 shift
@@ -136,12 +127,6 @@ while [[ $# -gt 0 ]]; do
136127 esac
137128done
138129
139- # In init mode, skip download if the CLI is already installed.
140- if [[ " $init_mode " == " true" ]] && command -v sentry > /dev/null 2>&1 ; then
141- echo -e " ${MUTED} sentry found in PATH, running init directly...${NC} "
142- exec sentry init ${init_args[@]+" ${init_args[@]} " }
143- fi
144-
145130# Detect OS
146131case " $( uname -s) " in
147132 Darwin* ) os=" darwin" ;;
270255
271256chmod +x " $tmp_binary "
272257
273- if [[ " $init_mode " == " true" ]]; then
274- # Ephemeral mode: run the wizard and clean up. The EXIT trap (set earlier)
275- # removes the temp binary. The binary inherits the terminal's stdin (the
276- # pipe is already consumed by bash), so interactive prompts work normally.
277- " $tmp_binary " init ${init_args[@]+" ${init_args[@]} " }
258+ # Delegate installation and configuration to the binary itself.
259+ # setup --install handles: directory selection, binary placement, PATH,
260+ # completions, agent skills, and the welcome message.
261+ # --channel persists the release channel so future `sentry cli upgrade`
262+ # calls track the same channel without requiring a flag.
263+ if [[ " $requested_version " == " nightly" ]]; then
264+ channel=" nightly"
278265else
279- # Delegate installation and configuration to the binary itself.
280- # setup --install handles: directory selection, binary placement, PATH,
281- # completions, agent skills, and the welcome message.
282- # --channel persists the release channel so future `sentry cli upgrade`
283- # calls track the same channel without requiring a flag.
284- if [[ " $requested_version " == " nightly" ]]; then
285- channel=" nightly"
286- else
287- channel=" stable"
288- fi
289- setup_args=" --install --method curl --channel $channel "
290- if [[ " $no_modify_path " == " true" ]]; then
291- setup_args=" $setup_args --no-modify-path"
292- fi
293- if [[ " $no_completions " == " true" ]]; then
294- setup_args=" $setup_args --no-completions"
295- fi
266+ channel=" stable"
267+ fi
268+ setup_args=" --install --method curl --channel $channel "
269+ if [[ " $no_modify_path " == " true" ]]; then
270+ setup_args=" $setup_args --no-modify-path"
271+ fi
272+ if [[ " $no_completions " == " true" ]]; then
273+ setup_args=" $setup_args --no-completions"
274+ fi
275+
276+ # Remove trap — setup will handle temp cleanup on success
277+ trap - EXIT
296278
297- # Remove trap — setup will handle temp cleanup on success
298- trap - EXIT
279+ # shellcheck disable=SC2086
280+ " $tmp_binary " cli setup $setup_args
299281
300- # shellcheck disable=SC2086
301- " $tmp_binary " cli setup $setup_args
282+ # Optionally launch the setup wizard after install.
283+ # </dev/tty reopens stdin from the terminal since `curl | bash` consumes it.
284+ if [[ " ${SENTRY_INIT:- } " == " 1" ]]; then
285+ sentry init < /dev/tty
302286fi
0 commit comments