Zuplo CLI

Zuplo CLI: Dev

Applies to
Gatewayruntime for API, AI, and MCP gateways
Hosting
Managed EdgeDiffersManaged DedicatedSelf-Hosted
1 difference by hosting option
Managed Edge

Local mTLS client certificates aren't available, and zuplo dev ignores --mtls-certs with a warning. mTLS works in deployed environments. See Gateway to Origin mTLS Authentication.

Runs the Zuplo API locally
Code
zuplo dev [options]

Local mTLS client certificates

On managed-dedicated and self-hosted projects, zuplo dev presents client certificates to your backend, so routes that set mtlsCertificate work locally without a code change.

Put each certificate in its own subdirectory of .zuplo-local/mtls, named after the certificate:

Code
.zuplo-local/mtls/my_backend_cert/tls.crt .zuplo-local/mtls/my_backend_cert/tls.key

zuplo dev finds that directory automatically and logs the certificates it loaded. To read certificates from somewhere else, pass --mtls-certs:

TerminalCode
npx zuplo dev --mtls-certs ~/certs/zuplo-uat

The flag takes precedence over .zuplo-local/mtls and fails fast when the directory is missing or holds no valid certificate.

.zuplo-local/ contains unencrypted private keys. Projects created with create-zuplo-api gitignore it already; for older projects, add .zuplo-local/ to your .gitignore. zuplo dev warns at startup when it isn't covered.

The project type comes from projectType in zuplo.jsonc. If that field is missing, run zuplo link to have the CLI detect and write it — otherwise local development falls back to managed-edge and skips mTLS.

On managed-edge projects, local mTLS isn't available and --mtls-certs is ignored with a warning. For the full workflow, including certificate requirements and troubleshooting, see Gateway to Origin mTLS Authentication.

Examples

Start the local development server with default settings (port 9000 for API, port 9100 for editor, port 9200 for docs)

Code
zuplo dev

Start the local server on a custom port

Code
zuplo dev --port 8080

Start only the API server without opening the editor

Code
zuplo dev --no-start-editor

Start the API server without the docs server

Code
zuplo dev --no-start-docs

Start with Chrome DevTools inspector enabled on port 9229

Code
zuplo dev --debug-port 9229

Options

--mtls-certs

Directory containing mTLS client certificates to load for local development (layout: <dir>/<cert-name>/tls.crt and tls.key). Only supported for managed-dedicated projects. If not provided, certificates are loaded from ./.zuplo-local/mtls when that directory exists.

Type: stringAlias: -mtls-certificates-dir

--start-editor

Start the editor with the local server

Type: booleanDefault: true

--start-docs

Start the docs server with the local development setup

Type: booleanDefault: true

--unsafely-ignore-certificate-errors

Unsafely ignore certificate errors

Type: booleanDefault: false

--port

The port to run the local server on

Type: numberDefault: 9000

--editor-port

The port to run the route designer on

Type: numberDefault: 9100

--docs-port

The port to run the docs server on

Type: numberDefault: 9200

--debug-port

The port to run the Chrome inspector on

Type: number

Global options

The following global options are available for all commands:

Additional resources

Last modified on