hashicorp/nomad · error
Connect proxy service name (%q) not found in Connect service
Error message
Connect proxy service name (%q) not found in Connect services from task group: %s
What it means
Validation error from group Connect proxy validation: the sidecar_service references a proxy/target service name that is not among the Connect-enabled services defined in the task group. Unlike error 3243, Connect services do exist, but the requested proxy name does not match any of them; the error lists the valid names.
Source
Thrown at nomad/structs/structs.go:8788
if svc.Connect == nil || svc.Connect.SidecarService == nil {
continue
}
if svc.Name == serviceName {
found = true
break
}
// Build up list of mismatched Connect service names for error
// reporting.
names = append(names, svc.Name)
}
if !found {
if len(names) == 0 {
return fmt.Errorf("No Connect services in task group with Connect proxy (%q)", serviceName)
} else {
return fmt.Errorf("Connect proxy service name (%q) not found in Connect services from task group: %s", serviceName, names)
}
}
return nil
}
const (
// TemplateChangeModeNoop marks that no action should be taken if the
// template is re-rendered
TemplateChangeModeNoop = "noop"
// TemplateChangeModeSignal marks that the task should be signaled if the
// template is re-rendered
TemplateChangeModeSignal = "signal"
// TemplateChangeModeRestart marks that the task should be restarted if the
// template is re-rendered
TemplateChangeModeRestart = "restart"View on GitHub (pinned to 482b49bf1a)
Solutions
- Correct the proxy's referenced service name to match one of the Connect services listed in the error message.
- Rename the app service stanza so it matches the name the proxy expects.
- Remove the stale sidecar_service if the Connect service was intentionally removed.
Example fix
// before
service {
name = "wev"
connect { sidecar_service {} }
}
// after
service {
name = "web"
port = "http"
connect { sidecar_service {} }
} Defensive patterns
Strategy: validation
Validate before calling
// Ensure the proxy target name matches a Connect service name in the group
names := connectServiceNames(group)
if !slices.Contains(names, proxyTargetServiceName) {
return fmt.Errorf("proxy target %q not in %v", proxyTargetServiceName, names)
} Prevention
- Single source of truth for service names (shared variable) between app service and proxy.
- Rename services and their sidecar stanzas together.
- Read the error's list of valid names — it enumerates the acceptable values.
When it happens
Trigger: Submitting a job with service { connect { sidecar_service { proxy { ... } } } } whose target service name ( serviceName ) is not found in the group's Connect service names, where len(names) > 0.
Common situations: Typo in the service name the proxy attaches to; renaming the app service without updating the proxy; cross-copying proxy stanzas between jobs with different service names.
Related errors
- No Connect services in task group with Connect proxy (%q)
- Check %s invalid: tcp checks are not valid for Connect enabl
- Service %s is Connect Native and requires setting the task
- Consul Connect must be exclusively native, make use of a sid
- Connect proxy task must not have a service block
AI-assisted analysis of hashicorp/nomad@482b49bf1a (2026-09-04).
Data as JSON: /api/errors/7b2107eb1965d827.
Report an issue: GitHub.