A cross-platform version manager for development runtimes like Node.js, Java, Go and Python, extendable through plugins.
openxlings/xlings
A cross-platform package manager that installs multiple versions side by side and runs environments in rootless, OS-like SubOS isolation.
- Stars
- 615
- Forks
- 49
- Open issues
- 28
- Last commit
- 8 days ago
What is it?
xlings is a package manager for installing binaries, scripts, configs and environment bases in one format called xpkg, on Linux, macOS and Windows. It lets you install several versions of the same tool at once, such as gcc 11 and gcc 16, and switch between them with a single command without conflicts.
The core idea is SubOS: named environments that have their own tools, home directory and policy. A SubOS can be as light as a PATH switch or as strict as a rootless sandbox with a private network. Projects can declare their required tool versions in a workspace file, so a team gets the same environment by running one install command.
xlings also provides an agent-oriented interface, including a usage guide for AI agents, meaningful exit codes, an NDJSON interface and a self-check command that repairs its own state. Its sandbox isolation is strongest on Linux; on macOS and Windows it only isolates the user home directory and is not a security boundary.
Key features
- 01Installs any version of a package side by side and switches the active one with one command.
- 02Runs without root privileges on Linux, macOS and Windows.
- 03Creates named SubOS environments with their own tools, home and policy, including a Linux sandbox with a private network.
- 04Declares per-project tool versions in a workspace file for consistent team setups.
- 05Supports official, third-party and self-hosted package indexes.
- 06Provides an agent-friendly interface with usage guide, exit codes and NDJSON output.
Use cases
- Keeping several compiler or runtime versions installed for different projects without conflicts.
- Giving a team one shared, version-pinned development environment from a single project file.
- Running agent-generated or untrusted code inside a sandboxed SubOS on Linux.
- Setting up a rootless toolchain on a machine where you lack administrator access.
Quick start
- 1
Run the official install script for Linux or macOS from the README
- 2
Run the official install script for Windows (PowerShell) from the README
- 3
Install packages such as mcpp, luban and node
xlings install mcpp luban node # install (the latest)
Things to know
- On macOS and Windows, --sandbox isolates only the home directory and is not a security boundary.
- Full sandbox isolation (filesystem, processes, network) is available only on Linux.
In collections
Topics
FAQ
- What is xlings?
- A cross-platform package manager that installs multiple versions side by side and runs environments in rootless, OS-like SubOS isolation. xlings is a package manager for installing binaries, scripts, configs and environment bases in one format called xpkg, on Linux, macOS and Windows. It lets you install several versions of the same tool at once, such as gcc 11 and gcc 16, and switch between them with a single command without conflicts.
- Is xlings free to use? What license does it have?
- xlings is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is xlings still maintained?
- Actively maintained. The last commit to xlings was on Oct 30, 2026.
- What can I use xlings for?
- Keeping several compiler or runtime versions installed for different projects without conflicts. Giving a team one shared, version-pinned development environment from a single project file. Running agent-generated or untrusted code inside a sandboxed SubOS on Linux. Setting up a rootless toolchain on a machine where you lack administrator access.
- How do I install xlings?
- Run the official install script for Linux or macOS from the README Run the official install script for Windows (PowerShell) from the README Install packages such as mcpp, luban and node: xlings install mcpp luban node # install (the latest)
- Where can I get xlings?
- The source code and installation instructions are on GitHub: https://github.com/openxlings/xlings
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A POSIX-compliant bash script for installing and switching between multiple Node.js versions per user and per shell.
A Node.js version manager for Windows that installs and switches between multiple Node.js versions per project or globally.
Command-line tool for installing and switching between multiple Python versions globally, per project, or per shell session.
A single Rust CLI that installs project tools, sets environment variables, and runs tasks from one mise.toml file.
A CLI version manager that switches runtime versions per project for many languages through a plugin system.