temporalio/temporal · error

invalid URL scheme: %s

Error message

invalid URL scheme: %s

What it means

Error "invalid URL scheme: %s" thrown in temporalio/temporal.

Source

Thrown at common/nexus/nexusrpc/client.go:171

// BaseURL and Service are required.
func NewHTTPClient(options HTTPClientOptions) (*HTTPClient, error) {
	if options.HTTPCaller == nil {
		options.HTTPCaller = http.DefaultClient.Do
	}
	if options.BaseURL == "" {
		return nil, errors.New("empty BaseURL")
	}
	if options.Service == "" {
		return nil, errors.New("empty Service")
	}
	var baseURL *url.URL
	var err error
	baseURL, err = url.Parse(options.BaseURL)
	if err != nil {
		return nil, err
	}
	if baseURL.Scheme != "http" && baseURL.Scheme != "https" {
		return nil, fmt.Errorf("invalid URL scheme: %s", baseURL.Scheme)
	}
	if options.Serializer == nil {
		options.Serializer = nexus.DefaultSerializer()
	}
	if options.FailureConverter == nil {
		options.FailureConverter = DefaultFailureConverter()
	}
	return &HTTPClient{
		baseHTTPClient: baseHTTPClient{
			serializer:       options.Serializer,
			failureConverter: options.FailureConverter,
			httpCaller:       options.HTTPCaller,
		},
		serviceBaseURL: baseURL,
		service:        options.Service,
	}, nil
}

View on GitHub (pinned to bde624efd1)

When it happens

Trigger: Thrown at common/nexus/nexusrpc/client.go:171 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of temporalio/temporal@bde624efd1 (2026-09-01). Data as JSON: /api/errors/6849863843033446. Report an issue: GitHub.