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.

TL;DR
curlie wraps curl with HTTPie-style arguments, giving you every curl feature (HTTP/3, FTP, SSH) with a friendlier command-line interface.
§01

What it is

curlie is a thin wrapper around curl written in Go. It translates HTTPie-style command-line arguments into curl calls, combining curl's comprehensive protocol support (HTTP/3, SSH, FTP, GSSAPI) with HTTPie's intuitive syntax for headers, JSON bodies, and query parameters. The output is colored and formatted for readability.

curlie targets developers who like HTTPie's UX but need curl's full feature set. Since curlie delegates to the system's curl binary, every curl feature and flag works transparently.

§02

How it saves time or tokens

curlie eliminates the mental overhead of curl's verbose flag syntax. Posting JSON with curl requires -H 'Content-Type: application/json' -d '{...}'. With curlie, you write curlie POST url key=value. Headers use Header:Value syntax instead of -H 'Header: Value'. The colored, formatted output makes API responses readable without piping through jq.

§03

How to use

  1. Install curlie via brew install curlie on macOS or download the binary from GitHub releases.
  2. Use HTTPie-style syntax: curlie GET url for requests, key=value for JSON fields, Header:Value for headers.
  3. Any curl flag works directly: curlie --http3 url or curlie -k url for insecure connections.
§04

Example

# Simple GET with colored output
curlie example.com/api/users

# POST JSON data (HTTPie syntax)
curlie POST api.example.com/users name=alice role=admin

# Custom headers
curlie GET api.example.com/data Authorization:'Bearer token123'

# Any curl flag works
curlie --http3 example.com
curlie -k https://self-signed.example.com

# Download a file
curlie -o output.json api.example.com/export
§05

Related on TokRepo

§06

Common pitfalls

  • curlie requires curl to be installed on your system. It is a wrapper, not a replacement. The curl version determines which protocols and features are available.
  • Some HTTPie syntax differs slightly in curlie. Check the curlie README for edge cases, especially around file uploads and form data.
  • Colored output may not render correctly in all terminals or when piping to other commands. Use --plain for plain text output in scripts.

Frequently Asked Questions

How does curlie differ from HTTPie?+

curlie delegates to the system curl binary, inheriting every curl feature including HTTP/3, FTPS, GSSAPI, and proxy support. HTTPie is a standalone Python tool with its own HTTP implementation. curlie gives you curl's power with HTTPie's syntax.

Can I use curl flags with curlie?+

Yes. Any curl flag works with curlie. Flags like --http3, -k, -o, --proxy, and others pass through directly to the underlying curl binary.

Does curlie support HTTP/3?+

Yes, if your system curl supports HTTP/3. Run curlie --http3 url to use HTTP/3. The availability depends on how curl was compiled on your system.

Is curlie faster than HTTPie?+

curlie starts faster than HTTPie because it is a compiled Go binary rather than a Python program. For the actual HTTP request, performance is identical to curl since curlie delegates to curl.

Does curlie format JSON responses automatically?+

Yes. curlie detects JSON responses and formats them with syntax highlighting and indentation automatically. This makes API response inspection faster without piping through jq.

Citations (3)

Discussion

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

Related Assets