Prerequisites
Gurl requires no runtime dependencies — it ships as a single static binary. Go is only needed if you are building from source (Go 1.21+).
Homebrew (macOS / Linux)
brew tap bsreeram08/gurl https://github.com/bsreeram08/gurl
brew install gurl
Update with:
brew upgrade gurl
One-liner Install
curl -sL https://raw.githubusercontent.com/bsreeram08/gurl/master/scripts/install.sh | bash
This detects your platform, downloads the correct binary from the latest release, and installs it to /usr/local/bin.
Pre-built Binaries
Download directly from GitHub Releases:
macOS (Apple Silicon)
curl -LO https://github.com/bsreeram08/gurl/releases/latest/download/gurl-darwin-arm64.tar.gz
tar -xzf gurl-darwin-arm64.tar.gz
sudo mv gurl /usr/local/bin/gurl
Linux (x86_64)
curl -LO https://github.com/bsreeram08/gurl/releases/latest/download/gurl-linux-amd64.tar.gz
tar -xzf gurl-linux-amd64.tar.gz
sudo mv gurl /usr/local/bin/gurl
Linux (ARM64)
curl -LO https://github.com/bsreeram08/gurl/releases/latest/download/gurl-linux-arm64.tar.gz
tar -xzf gurl-linux-arm64.tar.gz
sudo mv gurl /usr/local/bin/gurl
Install via Go
For users with Go 1.21+ installed:
go install github.com/sreeram/gurl/cmd/gurl@latest
This installs the gurl binary to $GOPATH/bin or $HOME/go/bin.
Build from Source
git clone https://github.com/bsreeram08/gurl.git
cd gurl
go build -o gurl ./cmd/gurl
sudo mv gurl /usr/local/bin/gurl
Shell Completion
Enable tab completion for faster command entry.
Bash
Add to your ~/.bashrc:
source <(gurl completion bash)
Zsh
Add to your ~/.zshrc:
source <(gurl completion zsh)
Fish
Add to your ~/.config/fish/config.fish:
gurl completion fish | source
First-run Setup
On first launch, Gurl creates the local data directory:
~/.local/share/gurl/
This stores:
gurl.db— Request collections, environments, and history (LevelDB)plugins/— Custom middleware and formatters
Configuration is loaded from the first file found in this order:
- Path set in
$GURL_CONFIG_PATH .gurlrc(current directory)~/.gurlrc~/.config/gurl/config.toml
Example config file:
[general]
history_depth = 100
auto_template = true
timeout = "30s"
[output]
default_format = "auto"
syntax_highlight = true
json_pretty = true
Verify Installation
gurl --version
You should see the version number and build information.
Update
Gurl can self-update to the latest release:
gurl update
Next Steps
Continue to the Quick Start guide to save and run your first request.