{"record":{"id":"fb66d83ccfa72114","repo":"XTLS/Xray-core","slug":"handler-not-found-tag","errorCode":null,"errorMessage":"handler not found: ${tag}","messagePattern":"handler not found: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"app/proxyman/inbound/inbound.go","lineNumber":67,"sourceCode":"\t} else {\n\t\tm.untaggedHandlers = append(m.untaggedHandlers, handler)\n\t}\n\n\tif m.running {\n\t\treturn handler.Start()\n\t}\n\n\treturn nil\n}\n\n// GetHandler implements inbound.Manager.\nfunc (m *Manager) GetHandler(ctx context.Context, tag string) (inbound.Handler, error) {\n\tm.access.RLock()\n\tdefer m.access.RUnlock()\n\n\thandler, found := m.taggedHandlers[tag]\n\tif !found {\n\t\treturn nil, errors.New(\"handler not found: \", tag)\n\t}\n\treturn handler, nil\n}\n\n// RemoveHandler implements inbound.Manager.\nfunc (m *Manager) RemoveHandler(ctx context.Context, tag string) error {\n\tif tag == \"\" {\n\t\treturn common.ErrNoClue\n\t}\n\n\tm.access.Lock()\n\tdefer m.access.Unlock()\n\n\tif handler, found := m.taggedHandlers[tag]; found {\n\t\tif err := handler.Close(); err != nil {\n\t\t\terrors.LogWarningInner(ctx, err, \"failed to close handler \", tag)\n\t\t}\n\t\tdelete(m.taggedHandlers, tag)","sourceCodeStart":49,"sourceCodeEnd":85,"githubUrl":"https://github.com/XTLS/Xray-core/blob/7d214f8b094f75322fa3990f8aadad1c912f24f5/app/proxyman/inbound/inbound.go#L49-L85","documentation":"Error \"handler not found: ${tag}\" thrown in XTLS/Xray-core.","triggerScenarios":"Thrown at app/proxyman/inbound/inbound.go:67 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"7d214f8b094f75322fa3990f8aadad1c912f24f5","analyzedAt":"2026-08-15T14:26:24.325Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}