macOS
brew install xxhlocal Homebrew formula metadata
sudo port install xxhMacPorts ports tree · sysutils/xxh/Portfile · source: api.github.com
brew
Bring your favorite shell wherever you go through the ssh. Version 0.8.14 via Homebrew; verified from local package data.
install
brew install xxhlocal Homebrew formula metadata
sudo port install xxhMacPorts ports tree · sysutils/xxh/Portfile · source: api.github.com
nix profile install nixpkgs#xxhnixpkgs package indexes · pkgs/by-name/xx/xxh/package.nix · source: api.github.com
overview
Bring your favorite shell wherever you go through the ssh
history
xxh is a remote-shell portability tool for people who want their own shell, aliases, plugins, and terminal habits when connecting through SSH. Its niche is not replacing OpenSSH transport; it wraps the SSH workflow so a prepared, removable userland can be uploaded to a remote Linux host without root access or permanent system installation.
The project grew out of a common dotfile and remote-login annoyance: a heavily customized local shell disappears when a user logs in to an unfamiliar server. The README frames xxh around that problem and around the goal of bringing shells such as xonsh, zsh, fish, bash, and osquery to remote hosts.
The design evolved around small, forkable shell and plugin packages. Instead of copying a user's private dotfiles wholesale, xxh encourages reusable shell entrypoints and prerun plugins, so a remote environment can be assembled locally, uploaded, used, and removed by deleting the remote .xxh directory.
xxh adoption has been strongest in the remote-development and shell-customization niche rather than in base operating systems. Its README lists Python package installation, pipx, conda-forge, Homebrew, MacPorts, portable Linux archives, and AppImage as distribution paths, reflecting a tool aimed at users who move between many hosts and package ecosystems.
The surrounding plugin repositories are part of the adoption story: zsh and fish integrations, Oh My Zsh and Oh My Fish support, Powerlevel10k, starship, vim, zoxide, Docker, Python, and dotfiles plugins show the project being used as a portable terminal-environment framework rather than a single binary.
In practice, users invoke xxh where they would normally invoke ssh, preserving ordinary SSH arguments while adding xxh-specific options with plus-prefixed flags. Common workflows include selecting a shell for a host, preinstalling plugins, forcing a remote reinstall, choosing the remote home/hermetic level, or using seamless mode from the local shell.
The package is useful when a developer has access to many Linux hosts but cannot install packages globally, wants a familiar shell on ephemeral machines, or needs a repeatable remote command environment without leaving long-lived files behind.
xxh is package-nerd interesting because it packages a personal environment rather than just a program. It sits at the intersection of SSH, dotfiles, shell frameworks, portable binaries, and plugin packaging, making explicit the messy work many developers otherwise solve with ad hoc scp, curl, and bootstrap scripts.
Its plus-option convention and forkable package model also show a pragmatic packaging lesson: when a wrapper must pass through the native tool's flags, namespacing the wrapper's own options keeps the command line usable.
security posture
broad file, network, media, or database tool signal. generalized runtime or code generation signal.
yellow risk · medium confidence · runtime
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
~/.config/xxh/config.xxhcexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
xxh | cli | global executable | |
xxh.bash | cli | global executable | |
xxh.xsh | cli | global executable | |
xxh.zsh | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:xxh |
|---|---|
| Version | 0.8.14 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/xxh |
| Homepage | https://github.com/xxh/xxh |
| Repository | https://github.com/xxh/xxh |
| Upstream docs | https://github.com/xxh/xxh#readme |
| License | BSD-2-Clause |
| Source archive | https://files.pythonhosted.org/packages/d6/ac/fb40368ff37fbdd00d041e241cc0d7a50cdac7bc6ae54dcb9f1349acdde6/xxh-xxh-0.8.14.tar.gz |
| Dependencies | libyaml, python@3.14 |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | xxh |
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
xxh
nix profile install nixpkgs#xxhxxh
sudo port install xxhsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.