CLI Documentation

Reference for the taupi command-line tool.

Installation

Download and install the latest binary:

curl -fsSL https://taupi.dev/install.sh | bash

The script detects your OS and architecture, then places the binary in /usr/local/bin (or ~/.local/bin if /usr/local/bin is not writable).

Verify the installation:

taupi version

Authentication

Taupi requires an API key to create tunnels. You can authenticate in two ways.

Browser login

taupi login

Opens your browser to sign in. The API key is saved automatically after authentication.

Manual key

Create a key from the dashboard, then save it:

taupi auth tk_your_api_key_here

The key is stored in ~/.config/taupi/config.toml.

You can also set the TAUPI_KEY environment variable instead. This takes precedence over the config file and is useful for CI environments.

Starting a tunnel

Pass a port number or a host:port address:

taupi tunnel 3000
taupi tunnel localhost:8080

Taupi connects to the server, assigns a subdomain, and forwards all incoming HTTPS requests to your local address. The tunnel URL is printed on startup:

  Taupi

  Status   connected
  URL      https://bafoli.taupi.dev
  Target   localhost:3000

Press Ctrl+C to close the tunnel. If the connection drops, Taupi reconnects automatically.

Free plan tunnels expire after 5 minutes and reconnect with a new random subdomain. Pro plan tunnels have no time limit and persist until you close them.

Request inspector

Use --inspect (or -i) to print full request and response headers and bodies:

taupi tunnel --inspect 3000

Custom subdomain

Pro users can request a specific subdomain with -s. The subdomain must be registered first (see below).

taupi tunnel -s webhook 3000

This gives you https://webhook.taupi.dev.

Subdomains

Pro plan users can register up to 20 subdomains to use with tunnels. Registered subdomains are exclusive to your account and cannot be claimed by anyone else.

Register

taupi subdomain register my-project

Subdomains are locked for 60 days after registration and cannot be deleted during the lock period.

List

taupi subdomain list

Delete

taupi subdomain delete my-project

Only works after the 60-day lock period has expired.

Rules

  • 3 to 63 characters, lowercase letters, numbers, and hyphens.
  • Must start and end with a letter or number.
  • Reserved names (www, api, app, admin, etc.) cannot be registered.

Subdomains can also be managed from the dashboard.

Configuration

Taupi reads its configuration from ~/.config/taupi/config.toml:

server = "taupi.dev"
api_key = "tk_..."

Environment variables override the config file:

VariableDescription
TAUPI_KEYAPI key
TAUPI_SERVERServer hostname (default: taupi.dev)

Command reference

taupi tunnel <target>

Start a tunnel. Target is a port number or host:port address.

-s, --subdomainRequest a specific subdomain (Pro)
-i, --inspectShow full request/response details

taupi login

Open the browser to authenticate and save an API key.

taupi auth <api-key>

Save an API key to the config file.

taupi subdomain register <name>

Register a subdomain (Pro).

taupi subdomain list

List your registered subdomains.

taupi subdomain delete <name>

Delete a subdomain after the lock period.

taupi logout

Remove the saved API key from your config file.

taupi status

Check taupi.dev service status, uptime, and active tunnel count.

taupi upgrade

Download and install the latest CLI version.

taupi version

Print the installed version and check for updates.