# Install upterm with Homebrew, apk, Nix, pacman

Instant terminal sharing. Version 0.24.0 via Homebrew; verified 2026-06-15.

## Install

```sh
sudo av install brew:upterm
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install upterm
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add upterm
```

  Evidence: Alpine Linux edge package indexes: upterm from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#upterm
```

  Evidence: nixpkgs package indexes: pkgs/by-name/up/upterm/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S upterm
```

  Evidence: Arch Linux sync databases: upterm from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

## Package facts

- **Package key:** brew:upterm
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/upterm>
- **Version:** 0.24.0
- **Source summary:** Instant terminal sharing
- **Homepage:** <https://upterm.dev>
- **Repository:** <https://github.com/owenthereal/upterm>
- **Upstream docs:** <https://github.com/owenthereal/upterm#readme>
- **License:** Apache-2.0
- **Source archive:** <https://github.com/owenthereal/upterm/archive/refs/tags/v0.24.0.tar.gz>
- **Last updated:** 2026-06-15T10:21:23-04:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- upterm (cli)
- uptermd (cli)
- upterm (alias)
- uptermd (alias)

## Build dependencies

- go

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.24.0
- Package-manager updated: 2026-06-15
- Local data: ok
- Upstream repository: https://github.com/owenthereal/upterm
- Upstream latest detected: v0.24.0 (current)
## Project history and usage

Upterm is an open-source terminal-sharing tool built around SSH-style access to hosted terminal sessions. It is used for remote pair programming, accessing machines behind NATs or firewalls, debugging, and giving collaborators controlled terminal access.

### Project history

The GitHub repository was created in October 2019. Early releases in January 2020 established the command-line binary and release packaging; subsequent 2020 releases added WebSocket support, Heroku deployment notes for uptermd, host/server public-key validation, join and leave notifications, and an upgrade command.

The project continued as a maintained Go application with both client and server pieces. Its README documents upterm for interactive terminal hosting, uptermd as the server side, self-hosted or public relay use, access-control integrations, WebSocket transport, tmux-style force commands, and integrations such as action-upterm for GitHub Actions debugging.

Recent release metadata shows continued development through 2026, including SFTP/SCP file transfer, local TCP forwarding, Windows support, IPv6-related work, Prometheus metrics, and GitHub Actions workflow improvements.

### Adoption history

Upterm's official README documents installation via a Homebrew cask, Scoop on Windows, standalone release binaries, and source builds. It also includes migration notes for users who previously installed the old Homebrew formula, which shows the project crossing from a formula-style CLI package to a cask-distributed application package on macOS.

The supplied input lists Upterm in Homebrew, Alpine, Nix, and Arch package ecosystems, while GitHub repository metadata showed 1,245 stars and 80 forks when checked on July 2, 2026. Its adoption is concentrated among developers who need temporary remote access to terminal sessions rather than permanent SSH server administration.

### How it is used

A host starts a session with upterm host, retrieves a connection string with upterm session current, and clients connect with ssh to the uptermd endpoint. The README also documents hosting arbitrary commands, authorizing public keys or users from GitHub, GitLab, SourceHut, and Codeberg, forcing tmux attach behavior for pair programming, transferring files with scp or sftp, and using WebSocket proxying when normal SSH transport is restricted.

In CI workflows, Upterm can be paired with action-upterm so a developer can SSH into a GitHub Actions runner for live debugging. That use makes it especially familiar to package maintainers dealing with failing builds that reproduce only in hosted CI images.

### Why package nerds care

Upterm matters in package-manager culture because it turns otherwise opaque remote machines, CI runners, and NATed development boxes into temporary inspectable shells without requiring long-lived SSH accounts. For maintainers, that is useful when debugging build recipes, platform-specific failures, or user environments where sending a reproducible transcript is not enough.

### Timeline

- 2019: GitHub repository created.
- 2020: Early releases published under the jingweno/upterm release name.
- 2020: WebSocket transport, Heroku uptermd deployment, and host/server validation appeared in release notes.
- 2025: Release notes added Windows support.
- 2026: Release notes added SFTP/SCP transfer and continued session workflow improvements.

### Related projects

- The README explicitly compares a force-command tmux workflow to tmate. It also links action-upterm for GitHub Actions debugging and documents uptermd as the server component used by the client.

### Sources

- <https://api.github.com/repos/owenthereal/upterm>
- <https://api.github.com/repos/owenthereal/upterm/releases>
- <https://github.com/owenthereal/upterm>
- <https://raw.githubusercontent.com/owenthereal/upterm/master/README.md>
- <https://upterm.dev/>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** upterm
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - upterm: normalized package name match | nixpkgs package indexes: pkgs/by-name/up/upterm/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - upterm - 0.22.0-r4: normalized package name match | Alpine Linux edge package indexes: upterm from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Secure terminal sharing | https://upterm.dev/
- apk - upterm-bash-completion - 0.22.0-r4: normalized package name match | Alpine Linux edge package indexes: upterm-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Bash completions for upterm | https://upterm.dev/
- apk - upterm-doc - 0.22.0-r4: normalized package name match | Alpine Linux edge package indexes: upterm-doc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Secure terminal sharing (documentation) | https://upterm.dev/
- apk - upterm-server - 0.22.0-r4: normalized package name match | Alpine Linux edge package indexes: upterm-server from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Secure terminal sharing (server) | https://upterm.dev/
- apk - upterm-server-openrc - 0.22.0-r4: normalized package name match | Alpine Linux edge package indexes: upterm-server-openrc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Secure terminal sharing (OpenRC init scripts) | https://upterm.dev/
- apk - upterm-zsh-completion - 0.22.0-r4: normalized package name match | Alpine Linux edge package indexes: upterm-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Zsh completions for upterm | https://upterm.dev/
- pacman - upterm - 0.24.0-1: normalized package name match | Arch Linux sync databases: upterm from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Secure Terminal Sharing, an alternative to tmate | https://github.com/owenthereal/upterm


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [putty](https://www.automicvault.com/pkg/brew/putty/) - Shares av.db curated category or tags: cli, networking, remote-access, ssh.
- [ssh3](https://www.automicvault.com/pkg/brew/ssh3/) - Shares av.db curated category or tags: cli, networking, remote-access, ssh.
- [sshportal](https://www.automicvault.com/pkg/brew/sshportal/) - Shares av.db curated category or tags: cli, networking, remote-access, ssh.
- [gateway-go](https://www.automicvault.com/pkg/brew/gateway-go/) - Shares av.db curated category or tags: cli, networking, remote-access.
- [mosh](https://www.automicvault.com/pkg/brew/mosh/) - Shares av.db curated category or tags: cli, networking, remote-access, ssh.
- [mussh](https://www.automicvault.com/pkg/brew/mussh/) - Shares av.db curated category or tags: cli, networking, remote-access, ssh.
- [pssh](https://www.automicvault.com/pkg/brew/pssh/) - Shares av.db curated category or tags: cli, networking, remote-access, ssh.
- [shellz](https://www.automicvault.com/pkg/brew/shellz/) - Shares av.db curated category or tags: cli, networking, remote-access, ssh.

## Combined YAML source

View the package source record on GitHub. [combined/upterm.yml](https://github.com/automic-vault/db/blob/main/combined/upterm.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
