curlie Was Aliased to curl and Silently Broke My API Calls

Apr 8, 2026

I spent two hours debugging why a hosting provider’s API was returning malformed responses. Every curl call worked fine on a colleague’s machine but failed on mine with cryptic JSON parse errors. Same command, same endpoint, same credentials.


The Symptom

curl -u "$API_USER:$API_PASS" https://api.hosting-provider.com/server

My machine: garbled response, missing headers, API returning HTML instead of JSON.

Colleague’s machine: clean JSON response.

The Debug

I added -v for verbose output and noticed something odd in the request headers. The User-Agent was curlie/1.7.2 instead of curl/8.x.x.

> User-Agent: curlie/1.7.2

The Cause

I had curlie installed via Homebrew — a curl frontend that formats output with colors and httpie-style headers. At some point, either I or a dotfile had aliased it:

alias curl='curlie'

curlie wraps curl but changes the request behavior:

The hosting API was picky about request format. curlie’s modifications were enough to break authentication or trigger a different response format.

The Fix

unalias curl

That’s it. Two hours of debugging, one line fix. The actual curl binary was fine the whole time — it was never being called.

Takeaway

If an HTTP client is behaving differently on your machine than someone else’s, check which curl (or type curl). Shell aliases and wrapper tools like curlie, httpie, or xh can silently replace curl and change request behavior in subtle ways. Especially dangerous when provisioning infrastructure via APIs where the request format matters.