Skip to content

Connect to a remote Funnel server

By default, the Funnel CLI connects to http://localhost:8000. Use -S to select another server for a command:

funnel -S https://funnel.example.com task list

To use the same server for multiple commands, set FUNNEL_SERVER:

export FUNNEL_SERVER=https://funnel.example.com
funnel task list

The -S flag takes precedence when both are set.

Set FUNNEL_SERVER_USER and FUNNEL_SERVER_PASSWORD to authenticate using Basic authentication. Credentials require HTTPS for remote HTTP servers. Plain HTTP is allowed for loopback development (localhost, 127.0.0.1, or [::1]). Authenticated HTTPS requests cannot redirect to HTTP.

For a server configured with OIDC authentication, set FUNNEL_SERVER_TOKEN to a valid bearer token. The HTTP task client sends it in the Authorization header instead of Basic credentials when both are configured. The same HTTPS and redirect restrictions apply. With no bearer token, existing Basic authentication behavior is preserved, including credentials with an empty password. The CLI does not refresh expired tokens; replace the environment value and rerun the command when needed.

The internal gRPC client currently uses plaintext transport. It rejects credentials for remote addresses by default; use a secure tunnel terminating on loopback. This restriction does not add gRPC TLS support.

For a known trusted private deployment that requires remote plaintext credentials, explicitly set FUNNEL_ALLOW_INSECURE_CREDENTIALS=true. This also permits HTTP credential downgrades, and exposes credentials to anyone who can observe that connection. Unauthenticated connections remain available without this setting.