temporalio/temporal · error
expected delimiter ':' or '.' not found in version string %s
Error message
expected delimiter ':' or '.' not found in version string %s
What it means
Error "expected delimiter ':' or '.' not found in version string %s" thrown in temporalio/temporal.
Source
Thrown at common/worker_versioning/worker_versioning.go:1260
v, _ := WorkerDeploymentVersionFromStringV31(s)
if v == nil {
return nil
}
return &deploymentpb.WorkerDeploymentVersion{
BuildId: v.BuildId,
DeploymentName: v.DeploymentName,
}
}
func WorkerDeploymentVersionFromStringV31(s string) (*deploymentspb.WorkerDeploymentVersion, error) {
if s == UnversionedVersionId {
return nil, nil
}
before, after, found := strings.Cut(s, WorkerDeploymentVersionIDDelimiterV31)
// Also try parsing via the v32 delimiter in case user is using an old CLI/SDK but passing new version strings.
before32, after32, found32 := strings.Cut(s, WorkerDeploymentVersionDelimiter)
if !found && !found32 {
return nil, fmt.Errorf("expected delimiter '%s' or '%s' not found in version string %s", WorkerDeploymentVersionDelimiter, WorkerDeploymentVersionIDDelimiterV31, s)
}
if found && found32 && len(before32) < len(before) {
// choose the values based on the delimiter appeared first to ensure that deployment name does not contain any of the banned delimiters
before = before32
after = after32
}
if len(before) == 0 {
return nil, fmt.Errorf("deployment name is empty in version string %s", s)
}
if len(after) == 0 {
return nil, fmt.Errorf("build id is empty in version string %s", s)
}
return &deploymentspb.WorkerDeploymentVersion{
DeploymentName: before,
BuildId: after,
}, nil
}
View on GitHub (pinned to bde624efd1)
When it happens
Trigger: Thrown at common/worker_versioning/worker_versioning.go:1260 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/5b23971bea6cb2a4.
Report an issue: GitHub.