Installation
Start with Go, or choose the installation that fits your environment.
For web development: Linux, macOS or Windows with WSL. Native Windows supports the CLI and language server; Go plugins require Linux or macOS.
Install with Go
RecommendedThe simplest option if you already use Go. Requires Go 1.26 or later and a C compiler for runtime plugins (GCC on Linux, Xcode Command Line Tools on macOS).
mkdir -p "$HOME/.local/bin"
GOBIN="$HOME/.local/bin" go install github.com/gox-lang/server/cmd/gox@latest
GOX is installed for your user in ~/.local/bin. Complete the one-time PATH setup below, then open a new terminal and run gox version.
One-time setup: enable gox in new terminals
If GOX is already in ~/.local/bin, you can repeat this configuration safely. It preserves existing shell settings and avoids duplicate lines.
gox_path_line='export PATH="$HOME/.local/bin:$PATH"'
for gox_profile in "$HOME/.profile" "$HOME/.bashrc" \
"${ZDOTDIR:-$HOME}/.zshrc" "${ZDOTDIR:-$HOME}/.zprofile"; do
touch "$gox_profile"
grep -Fqx "$gox_path_line" "$gox_profile" ||
printf '\n%s\n' "$gox_path_line" >> "$gox_profile"
done
for gox_profile in "$HOME/.bash_profile" "$HOME/.bash_login"; do
if [ -f "$gox_profile" ]; then
grep -Fqx "$gox_path_line" "$gox_profile" ||
printf '\n%s\n' "$gox_path_line" >> "$gox_profile"
fi
done
export PATH="$HOME/.local/bin:$PATH"
# Complete the PATH setup, then open a new terminal.
gox version
curl
One command will download and run the official installer. It will detect your system and architecture, verify the binary checksum and configure your persistent user PATH.
curl -fsSL https://gox-lang.dev/install.sh | sh
Close this terminal and open a new one before continuing.
gox version
The installer configures your PATH for future terminals, but cannot change the terminal where you ran it. This is normal: close that terminal, open a new one, then run gox version.
npm
Requires Node.js 20 or newer. Install the official package globally to make the gox command available through npm. The installer downloads the binary for your system from GitHub Releases and verifies its checksum.
npm install -g @gox-lang/cli --ignore-scripts=false --foreground-scripts
gox version
Installation scripts must be enabled. These flags enable scripts and show installation progress. Your npm global command directory must be on PATH.
View the official npm package ↗If installation scripts were blocked
GOX will show instructions without downloading anything when you run it. Complete the installation explicitly with:
npm rebuild -g @gox-lang/cli --ignore-scripts=false --foreground-scripts
If your npm version requires approval for individual packages, also approve @gox-lang/cli. For global installs, versions supporting this option accept --allow-scripts=@gox-lang/cli. For a project dependency, omit -g.
Update an npm installation
Use npm to update this installation. The gox update command will remind you to use npm.
npm install -g @gox-lang/cli@latest --ignore-scripts=false --foreground-scripts
Homebrew
Install GOX on macOS or Linux with Homebrew, on Intel/AMD x64 or ARM64. The official tap downloads the binary for your system from GitHub Releases and verifies its SHA-256 checksum.
brew install gox-lang/tap/gox
gox version
Homebrew must already be installed and available on your PATH. It makes gox available through its command directory. To run projects, macOS needs Xcode Command Line Tools; Linux needs GCC and development headers. On Windows, use WSL.
View the official Homebrew tap ↗Update a Homebrew installation
Homebrew manages updates for this installation. The gox update command shows these instructions, and the language server does not replace the binary automatically.
brew update
brew upgrade gox-lang/tap/gox
Uninstall
brew uninstall gox-lang/tap/gox
Your projects and the GOX toolchain cache are preserved.
Linux packages
Install GOX through the official signed APT or DNF repository. Packages are available for AMD64 and ARM64 and install the gox command in /usr/bin, ready to use in any terminal without changing your PATH.
Debian / Ubuntu · APT
Add the signing key and repository once, then install the package. Tested on Debian 12 and Ubuntu 24.04.
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -d -m 0755 /etc/apt/keyrings
sudo curl -fsSLo /etc/apt/keyrings/gox.gpg https://packages.gox-lang.dev/gox-archive-keyring.gpg
sudo chmod 0644 /etc/apt/keyrings/gox.gpg
echo "deb [signed-by=/etc/apt/keyrings/gox.gpg] https://packages.gox-lang.dev/apt stable main" | sudo tee /etc/apt/sources.list.d/gox.list
sudo apt update
sudo apt install gox-server
gox version
The package is named gox-server; the command is gox. It includes the system dependencies needed for plugins. GOX downloads its Go toolchain when needed. An unrelated package named gox cannot be installed alongside it because both use the same command name.
View packages on GitHub ↗Signing key
APT verifies the signed repository metadata and package checksums. The public key fingerprint is:
A38A 135F 859A 77E0 B0B5 6E16 3327 4E44 D36D 0CC5
Update
Use your package manager for updates. This installation prevents gox update and the language server from replacing the package-managed binary.
sudo apt update
sudo apt install --only-upgrade gox-server
Uninstall
sudo apt purge gox-server
Your projects and toolchain cache are preserved. The repository configuration remains available if you decide to reinstall.
Fedora · DNF
Save the repository configuration and install GOX. DNF selects your architecture and asks you to import the signing key on first use. Tested on Fedora 43.
sudo tee /etc/yum.repos.d/gox.repo > /dev/null <<'EOF'
[gox]
name=GOX
baseurl=https://packages.gox-lang.dev/rpm/$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.gox-lang.dev/gox-signing-key.asc
EOF
sudo dnf install gox-server
gox versionThe package is named gox-server; the command is gox. It includes the system dependencies needed for plugins. GOX downloads its Go toolchain when needed. An unrelated package named gox cannot be installed alongside it because both use the same command name.
View packages on GitHub ↗Signing key
DNF verifies repository metadata and RPM signatures. The public key fingerprint is:
A38A 135F 859A 77E0 B0B5 6E16 3327 4E44 D36D 0CC5
Update
Use your package manager for updates. This installation prevents gox update and the language server from replacing the package-managed binary.
sudo dnf upgrade --refresh gox-server
Uninstall
sudo dnf remove gox-server
Your projects and toolchain cache are preserved. The repository configuration remains available if you decide to reinstall.
Download a binary
GOX v0.1.9 · Choose your operating system and architecture. These are versioned downloads, not a live release feed.
AMD64 is for Intel and AMD x64 processors. ARM64 includes Apple Silicon. For WSL, download the Linux build. Native Windows binaries support the CLI and LSP, but cannot run applications requiring Go plugins.
Verify and install
Download checksums.sha256 from the same release and compare your archive’s SHA-256 with its matching entry before extracting it.
checksums.sha256 ↓sha256sum gox_0.1.9_linux_amd64.tar.gz
# macOS: shasum -a 256 gox_0.1.9_darwin_arm64.tar.gz
Example for Linux AMD64, from the download directory. On macOS, replace the archive name with your selected Darwin build.
mkdir -p "$HOME/.local/bin"
tar -xzf gox_0.1.9_linux_amd64.tar.gz gox
install -m 755 gox "$HOME/.local/bin/gox"
Finish with the one-time PATH setup →
GOX prepares its Go, Node.js and pnpm toolchains as needed. Initial setup requires internet access. Linux and macOS also need a C compiler for plugins.
# Complete the PATH setup, then open a new terminal.
gox version
Build from source
For inspecting or modifying GOX. Install Git, Go 1.26+ and a C compiler. This example checks out a stable tag for a reproducible source version.
git clone https://github.com/gox-lang/server.git
cd server
git checkout v0.1.9
go build -trimpath -o ./build/gox ./cmd/gox
mkdir -p "$HOME/.local/bin"
install -m 755 ./build/gox "$HOME/.local/bin/gox"
Finish with the one-time PATH setup →
To update a custom build, choose the new tag, rebuild and repeat the installation.
# Complete the PATH setup, then open a new terminal.
gox version
Docker
Run GOX in a container with the official image from GitHub Container Registry. It includes the verified GOX release binary and the C compiler needed for plugins. Docker selects the Linux AMD64 or ARM64 image for your machine.
docker run --rm ghcr.io/gox-lang/server:latest version
Requires Docker Engine with Compose on Linux, or Docker Desktop on macOS or Windows using Linux containers. GOX runs inside the container; this method does not add a gox command to your host terminal.
View the official Docker image ↗Run your project with Compose
Save this as compose.yaml in the root of an existing GOX project.
services:
gox:
image: ghcr.io/gox-lang/server:latest
user: "${GOX_UID:-1000}:${GOX_GID:-1000}"
command: ["run", "--host", "0.0.0.0", "--port", "3000"]
working_dir: /workspace
ports:
- "127.0.0.1:3000:3000"
volumes:
- .:/workspace
- toolchains:/var/lib/gox
init: true
volumes:
toolchains:GOX_UID=$(id -u) GOX_GID=$(id -g) docker compose up
Run the command from that same directory in a Linux or macOS shell, or in WSL. GOX_UID and GOX_GID match your user so files created in the project remain yours. Open http://localhost:3000 when the server is ready.
The project folder is shared with the container. The toolchains volume keeps downloaded tools between runs; the first start requires internet access. Stop the server with Ctrl+C.
Prefer docker run?
From your project root, without a Compose file:
docker run --rm -it --init \
--user "$(id -u):$(id -g)" \
-p 127.0.0.1:3000:3000 \
-v "$PWD:/workspace" \
-v gox-toolchains:/var/lib/gox \
ghcr.io/gox-lang/server:latest \
run --host 0.0.0.0 --port 3000
Update the Docker image
The latest tag follows the latest published image. Pull it and recreate the container to update; running containers do not update automatically. You can use a fixed tag such as 0.1.9 to keep a specific version. Use Docker to update, not gox update inside the container.
docker compose pull
GOX_UID=$(id -u) GOX_GID=$(id -g) docker compose up --force-recreate
Install from VS Code
GOX Tools provides completion, diagnostics, formatting and themes. It can install GOX when it is missing and make it available in new terminals.
Install GOX Tools ↗code --install-extension gox-lang.gox-tools
Wait for GOX Tools to finish installing GOX in VS Code, then open a new terminal.
gox version
Requires VS Code 1.91+. Existing GOX installations are respected. On Windows, open the project in WSL and install the extension there. Reopen your terminal to pick up PATH changes.
Keep GOX up to date
For direct binary installations, use gox update. If you installed with npm, Homebrew, APT, DNF or Docker, use the update instructions for that method above.
gox update
gox run recommends available updates but does not install them. GOX Tools can coordinate updates for its managed installation. Project dependencies are updated separately.