XTLS/Xray-core · error
neither outboundTag nor balancerTag is specified in routing
Error message
neither outboundTag nor balancerTag is specified in routing rule
What it means
Error "neither outboundTag nor balancerTag is specified in routing rule" thrown in XTLS/Xray-core.
Source
Thrown at infra/conf/router.go:172
rawFieldRule := new(RawFieldRule)
err := json.Unmarshal(msg, rawFieldRule)
if err != nil {
return nil, err
}
rule := new(router.RoutingRule)
rule.RuleTag = rawFieldRule.RuleTag
switch {
case len(rawFieldRule.OutboundTag) > 0:
rule.TargetTag = &router.RoutingRule_Tag{
Tag: rawFieldRule.OutboundTag,
}
case len(rawFieldRule.BalancerTag) > 0:
rule.TargetTag = &router.RoutingRule_BalancingTag{
BalancingTag: rawFieldRule.BalancerTag,
}
default:
return nil, errors.New("neither outboundTag nor balancerTag is specified in routing rule")
}
if rawFieldRule.Domain != nil {
rules, err := geodata.ParseDomainRules(*rawFieldRule.Domain, geodata.Domain_Substr)
if err != nil {
return nil, err
}
rule.Domain = rules
}
if rawFieldRule.Domains != nil {
rules, err := geodata.ParseDomainRules(*rawFieldRule.Domains, geodata.Domain_Substr)
if err != nil {
return nil, err
}
rule.Domain = rules
}
View on GitHub (pinned to 7d214f8b09)
When it happens
Trigger: Thrown at infra/conf/router.go:172 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of XTLS/Xray-core@7d214f8b09 (2026-08-15).
Data as JSON: /api/errors/39c80b2061e56d9b.
Report an issue: GitHub.