Built on Homebrew's package ecosystem
The modern
package managerfor macOS
Install command-line tools and their dependencies faster, with a simpler interface for you and your agent.
Install glu v0.1.1
curl -fsSL https://glu.run/install | bash- 2.3× faster than Homebrew
- 8,000+ packages available
- Concise output by default
- JSON Schema and plan mode for agents
A simpler way to manage your packages
Commands follow modern package-manager conventions, with concise output by default.
Download and install packages in parallel
See the packages you added
See your packages and their dependencies
Know what you’re about to install
A structured plan for your agent
View a package’s dependency tree
Suggestions for a mistyped package name
View all dependencies with glu ls --all
Would install 12 packages:
Would download: 23.6 MB
{
"ok": true,
"command": "install",
"result": {
"mode": "plan",
"requested": [
"node"
],
"would_install": [
{
"package_key": "package:fmt",
"name": "fmt",
"version": "12.2.0",
"exposure": {
"mode": "global"
},
"status": "would_install",
"installed": false,
"declared": false,
"deactivated": false,
"direct": false,
"transitive": true,
"cached": false,
"download_bytes": 288291
},
{
"package_key": "package:ada-url",
"name": "ada-url",
"version": "4.0.0",
"exposure": {
"mode": "global"
},
"status": "would_install",
"installed": false,
"declared": false,
"deactivated": false,
"direct": true,
"transitive": false,
"cached": false,
"download_bytes": 340859
},
{
"package_key": "package:hdrhistogram_c",
"name": "hdrhistogram_c",
"version": "0.11.10",
"exposure": {
"mode": "global"
},
"status": "would_install",
"installed": false,
"declared": false,
"deactivated": false,
"direct": true,
"transitive": false,
"cached": false,
"download_bytes": 43561
},
{
"package_key": "package:libffi",
"name": "libffi",
"version": "3.8.0",
"exposure": {
"mode": "isolated",
"reason": "Provided by macOS"
},
"status": "would_install",
"installed": false,
"declared": false,
"deactivated": false,
"direct": true,
"transitive": false,
"cached": false,
"download_bytes": 270967
},
{
"package_key": "package:libngtcp2",
"name": "libngtcp2",
"version": "1.25.0",
"exposure": {
"mode": "global"
},
"status": "would_install",
"installed": false,
"declared": false,
"deactivated": false,
"direct": true,
"transitive": false,
"cached": false,
"download_bytes": 428867
},
{
"package_key": "package:libuv",
"name": "libuv",
"version": "1.52.1",
"exposure": {
"mode": "global"
},
"status": "would_install",
"installed": false,
"declared": false,
"deactivated": false,
"direct": true,
"transitive": false,
"cached": false,
"download_bytes": 375994
},
{
"package_key": "package:simdutf",
"name": "simdutf",
"version": "9.1.1",
"exposure": {
"mode": "global"
},
"status": "would_install",
"installed": false,
"declared": false,
"deactivated": false,
"direct": false,
"transitive": true,
"cached": false,
"download_bytes": 394889
},
{
"package_key": "package:merve",
"name": "merve",
"version": "1.2.2_2",
"exposure": {
"mode": "global"
},
"status": "would_install",
"installed": false,
"declared": false,
"deactivated": false,
"direct": true,
"transitive": false,
"cached": false,
"download_bytes": 33424
},
{
"package_key": "package:nbytes",
"name": "nbytes",
"version": "0.1.4",
"exposure": {
"mode": "global"
},
"status": "would_install",
"installed": false,
"declared": false,
"deactivated": false,
"direct": true,
"transitive": false,
"cached": false,
"download_bytes": 13413
},
{
"package_key": "package:simdjson",
"name": "simdjson",
"version": "4.6.11",
"exposure": {
"mode": "global"
},
"status": "would_install",
"installed": false,
"declared": false,
"deactivated": false,
"direct": true,
"transitive": false,
"cached": false,
"download_bytes": 1451751
},
{
"package_key": "package:uvwasi",
"name": "uvwasi",
"version": "0.0.23",
"exposure": {
"mode": "global"
},
"status": "would_install",
"installed": false,
"declared": false,
"deactivated": false,
"direct": true,
"transitive": false,
"cached": false,
"download_bytes": 70145
},
{
"package_key": "package:node",
"name": "node",
"version": "26.8.2",
"exposure": {
"mode": "global"
},
"status": "would_install",
"installed": false,
"declared": false,
"deactivated": false,
"direct": true,
"transitive": false,
"cached": false,
"download_bytes": 19913400
}
],
"satisfied": [],
"would_promote": [],
"would_rename": [],
"would_remove": [],
"requires_confirmation": false,
"would_download_bytes": 23625561
}
}resolved from the registry — not installed
Error: package 'pyton@3.12' not found
8,000+ packages available
Packages come from Homebrew’s prebuilt collection. Search for the tools you use.
How it works
glu trace viewglu trace view- Written in Rust- Native performance, with explicit control over concurrency and memory.
Package correctness
Upstream behavior, ported to Rust
Relocation, signing, linking, and postinstall behavior follow Homebrew’s implementation. Ported postinstall code records the original commit, file, and line.
Inspect the implementationVerification through completion
Downloaded artifacts and reused cache entries are checksum-verified. Setup runs in sandboxed workers. Required transformations fail rather than being silently skipped.
Correctness and testingYour next install can be faster
Install glu, then try a package you use.
curl -fsSL https://glu.run/install | bash