nats-io/nats-server · error
cluster name conflicts between cluster and gateway definitio
Error message
cluster name conflicts between cluster and gateway definitions
What it means
Options validation: gateway.name is set to a value different from cluster.name while cluster.name is also present — the server requires them to be identical, or the cluster name to be omitted so it can inherit the gateway name. The conflicting cluster/gateway name options are at fault.
Source
Thrown at server/errors.go:192
// ErrServerNotRunning is used to signal an error that a server is not running.
ErrServerNotRunning = errors.New("server is not running")
// ErrServerNameHasSpaces signals that the server name contains spaces, which is not allowed.
ErrServerNameHasSpaces = errors.New("server name cannot contain spaces")
// ErrBadMsgHeader signals the parser detected a bad message header
ErrBadMsgHeader = errors.New("bad message header detected")
// ErrMsgHeadersNotSupported signals the parser detected a message header
// but they are not supported on this server.
ErrMsgHeadersNotSupported = errors.New("message headers not supported")
// ErrNoRespondersRequiresHeaders signals that a client needs to have headers
// on if they want no responders behavior.
ErrNoRespondersRequiresHeaders = errors.New("no responders requires headers support")
// ErrClusterNameConfigConflict signals that the options for cluster name in cluster and gateway are in conflict.
ErrClusterNameConfigConflict = errors.New("cluster name conflicts between cluster and gateway definitions")
// ErrClusterNameRemoteConflict signals that a remote server has a different cluster name.
ErrClusterNameRemoteConflict = errors.New("cluster name from remote server conflicts")
// ErrClusterNameHasSpaces signals that the cluster name contains spaces, which is not allowed.
ErrClusterNameHasSpaces = errors.New("cluster name cannot contain spaces")
// ErrClusterNameReserved signals that the cluster name is reserved for internal protocol use.
ErrClusterNameReserved = errors.New("cluster name is reserved")
// ErrMalformedSubject is returned when a subscription is made with a subject that does not conform to subject rules.
ErrMalformedSubject = errors.New("malformed subject")
// ErrSubscribePermissionViolation is returned when processing of a subscription fails due to permissions.
ErrSubscribePermissionViolation = errors.New("subscribe permission violation")
// ErrNoTransforms signals no subject transforms are available to map this subject.
ErrNoTransforms = errors.New("no matching transforms available")View on GitHub (pinned to 3a66a489d2)
Solutions
- Use the same name for cluster and gateway definitions
- Remove cluster.name so it is taken from the gateway
- Remove the unintended gateway.name override
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/errors.go:192 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of nats-io/nats-server@3a66a489d2 (2026-09-02).
Data as JSON: /api/errors/e607e1772b5682fc.
Report an issue: GitHub.