ConfigsApr 15, 2026·2 min read

curlie — The Power of curl, the Ease of HTTPie

curlie is a thin wrapper around curl written in Go that speaks HTTPie-style arguments, inheriting every curl feature (HTTP/3, SSH, FTP, GSSAPI) while giving a friendly terminal UX.

Introduction

curlie is the pragmatist's HTTPie: a ~5MB Go binary that parses HTTPie-style key=value / key:value / key:=raw / key@file arguments, translates them into curl flags, and execs real curl. You get curl's full feature surface (HTTP/3, SSH, FTP, Kerberos, ALPN, multi-protocol) plus HTTPie's readable output and pretty JSON.

What curlie Does

  • Accepts HTTPie-style arguments at the shell.
  • Translates them into equivalent curl invocations.
  • Pipes curl's output through a JSON colorizer.
  • Forwards every curl flag transparently — full feature parity.
  • Resolves @file bodies, forms, multipart, sessions.

Architecture Overview

On invocation, curlie tokenizes args, categorizes them into methods, URLs, headers, body fields, and curl flags, builds the corresponding curl argv, and execs it. stdout is piped through gron-like JSON prettifier when content-type is JSON. Exit code mirrors curl's.

Self-Hosting & Configuration

  • Install via brew, scoop, winget, or go install github.com/rs/curlie@latest.
  • Relies on the system curl being in $PATH.
  • CURLIE_PRETTY=off disables coloring for CI.
  • All curl environment variables (CURL_HOME, SSL_CERT_FILE) pass through.

Key Features

  • Inherits curl's full protocol matrix (HTTP/3, SCP, SFTP, IMAP, LDAP).
  • HTTPie syntax without Python install.
  • Pretty JSON + colored headers in the terminal.
  • Single small Go binary, works on Alpine.
  • Zero behavior surprises — it's still curl underneath.

Comparison with Similar Tools

  • HTTPie (Python) — fuller client but heavier install.
  • xh — self-contained Rust reimplementation; no curl dependency.
  • httpie-go — Go rewrite; not curl-backed.
  • curl — everything, but argument syntax is verbose.
  • Hurl — file-based test DSL; complementary.

FAQ

Q: Do I need curl installed? A: Yes — curlie execs curl. This is intentional.

Q: HTTP/3? A: If your curl is built with nghttp3/quiche, curlie --http3 url works.

Q: Sessions like HTTPie? A: Use curl's -b/-c cookie jars or .netrc.

Q: Windows? A: Yes — pair with Windows curl (shipped in Windows 10+).

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets