---
name: "gmni"
section: "1"
platform: "linux"
package: "gmni"
version: "1.0-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/gmni"
---

# gmni(1)

Gemini client

## NAME

gmni - Gemini client

## SYNPOSIS

**gmni** \[-46lLiIN\] \[-j *mode*\] \[-E *path*\] \[-d *input*\] \[-D *path*\] *gemini://...*

## DESCRIPTION

**gmni** executes a gemini request and, if successful, prints the response body to stdout.

If an error is returned, information is printed to stderr and the process exits with a non-zero exit status equal to the response status. If a response is returned which is neither successful or an error, the response status and meta text are printed to stderr.

If the server requests user input, a prompt is shown and a second request is performed with the user's input supplied to the server.

## OPTIONS

- **-4**

  Force the connection to use IPv4.

- **-6**

  Force the connection to use IPv6.

- **-d** *input*

  If the server requests user input, a second request is performed with the given input string as the user input.

- **-D** *path*

  If the server requests user input, *path* is opened and read, and a second request is performed with the contents of *path* as the user input.

- **-E** *path*:*key*

  Sets the path to the client certificate and private key file to use, both PEM encoded.

- **-l**

  For **text/\*** responses, **gmni** normally adds a line feed if stdout is a TTY and the response body does not include one. This flag suppresses this behavior.

- **-L**

  Follow redirects.

- **-j** *mode*

  Sets the TOFU (trust on first use) configuration, which controls if the client shall trust new certificates. *mode* can be one of **always**, **once**, or **fail**.

- **-i**

  Print the response status and meta text to stdout.

- **-I**

  Print the response status and meta text to stdout, and suppress the printing of the response body to stdout.

- **-N**

  Suppress the input prompt if the server requests an input, and instead print a diagnostic message and exit with a zero (successful) status code.

- **-o** *path*

  Write output to *path*. If *path* ends with a '/', the basename of the URL will be appended. If *path* is the empty string, "./" will be presumed.
