# Juliaup installer fails on AWS: "cannot open /dev/pts/1: Permission denied"

**URL:** https://discourse.julialang.org/t/juliaup-installer-fails-on-aws-cannot-open-dev-pts-1-permission-denied/132685
**Category:** Tooling
**Tags:** juliaup, aws
**Created:** [September 26, 2025, 8:20pm UTC](https://discourse.julialang.org/t/juliaup-installer-fails-on-aws-cannot-open-dev-pts-1-permission-denied/132685 "2025-09-26T20:20:30Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![NonDairyNeutrino](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nondairyneutrino/32/221496_2.png) [@NonDairyNeutrino](https://discourse.julialang.org/u/NonDairyNeutrino)
#### Post date: [September 26, 2025, 8:20pm UTC](https://discourse.julialang.org/t/juliaup-installer-fails-on-aws-cannot-open-dev-pts-1-permission-denied/132685/1 "2025-09-26T20:20:30Z")

</div>

After ssh-ing into an AWS instance (I’m new to AWS), I’m attempting to install juliaup with the standard script `curl -fsSL https://install.julialang.org | sh`, but am met with

> sh: 148: cannot open /dev/pts/1: Permission denied

Naturally, I `sudo` it with `curl -fsSL https://install.julialang.org | sudo sh` which successfully begins the interactive installer, but then, well, it’s trying to install it _for_ the `root` user i.e. add `.julia` under root and modify `.bashrc` entries for `root` instead of me.

I tried specifying the install path using the [flags](https://github.com/JuliaLang/juliaup?tab=readme-ov-file#command-line-arguments) with `sudo` but then it still asks if I want to modify the shell init scripts e.g. `.bashrc`, but I don’t want to modify those for the root user.

Could I just use the binary? Yes, but I don’t want to.

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [September 26, 2025, 9:34pm UTC](https://discourse.julialang.org/t/juliaup-installer-fails-on-aws-cannot-open-dev-pts-1-permission-denied/132685/2 "2025-09-26T21:34:48Z")

</div>

Offending line is

> <https://github.com/JuliaLang/juliaup/blob/923f383f9b3e1788c2e39bb11b9d9eb82b19f869/deploy/shellscript/juliaup-init.sh#L148>

`need_tty` is set at

> <https://github.com/JuliaLang/juliaup/blob/923f383f9b3e1788c2e39bb11b9d9eb82b19f869/deploy/shellscript/juliaup-init.sh#L107>

So either pass `-y` if you’re happy with the default options, or pass the extra arguments as [explained in the README](https://github.com/JuliaLang/juliaup/blob/923f383f9b3e1788c2e39bb11b9d9eb82b19f869/README.md#command-line-arguments).

---

<div class="post-metadata">

### Author: ![dilumaluthge](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dilumaluthge/32/29283_2.png) [@dilumaluthge](https://discourse.julialang.org/u/dilumaluthge)
#### Post date: [September 26, 2025, 9:40pm UTC](https://discourse.julialang.org/t/juliaup-installer-fails-on-aws-cannot-open-dev-pts-1-permission-denied/132685/3 "2025-09-26T21:40:22Z")

</div>

If I’m reading that code correctly, passing all the options manually won’t actually change the value of `need_tty`, right? IIUC, only `--help` or `--yes` causes `need_tty` to be set to `no`.

---

<div class="post-metadata">

### Author: ![dilumaluthge](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dilumaluthge/32/29283_2.png) [@dilumaluthge](https://discourse.julialang.org/u/dilumaluthge)
#### Post date: [September 26, 2025, 9:42pm UTC](https://discourse.julialang.org/t/juliaup-installer-fails-on-aws-cannot-open-dev-pts-1-permission-denied/132685/4 "2025-09-26T21:42:25Z")

</div>

@NonDairyNeutrino Is this inside a fresh EC2 instance, or have you made any modifications? Which AMI are you using? If you can share the AMI you’re using, I can try to reproduce it.
