{"record":{"id":"8649c835502d6694","repo":"XTLS/Xray-core","slug":"not-an-outbound-operation","errorCode":null,"errorMessage":"not an outbound operation","messagePattern":"not an outbound operation","errorType":"exception","errorClass":"errors.Error","httpStatus":null,"severity":"error","filePath":"app/proxyman/command/command.go","lineNumber":183,"sourceCode":"func (s *handlerServer) AddOutbound(ctx context.Context, request *AddOutboundRequest) (*AddOutboundResponse, error) {\n\tif err := core.AddOutboundHandler(s.s, request.Outbound); err != nil {\n\t\treturn nil, err\n\t}\n\treturn &AddOutboundResponse{}, nil\n}\n\nfunc (s *handlerServer) RemoveOutbound(ctx context.Context, request *RemoveOutboundRequest) (*RemoveOutboundResponse, error) {\n\treturn &RemoveOutboundResponse{}, s.ohm.RemoveHandler(ctx, request.Tag)\n}\n\nfunc (s *handlerServer) AlterOutbound(ctx context.Context, request *AlterOutboundRequest) (*AlterOutboundResponse, error) {\n\trawOperation, err := request.Operation.GetInstance()\n\tif err != nil {\n\t\treturn nil, errors.New(\"unknown operation\").Base(err)\n\t}\n\toperation, ok := rawOperation.(OutboundOperation)\n\tif !ok {\n\t\treturn nil, errors.New(\"not an outbound operation\")\n\t}\n\n\thandler := s.ohm.GetHandler(request.Tag)\n\treturn &AlterOutboundResponse{}, operation.ApplyOutbound(ctx, handler)\n}\n\nfunc (s *handlerServer) ListOutbounds(ctx context.Context, request *ListOutboundsRequest) (*ListOutboundsResponse, error) {\n\thandlers := s.ohm.ListHandlers(ctx)\n\tresponse := &ListOutboundsResponse{}\n\tfor _, handler := range handlers {\n\t\t// Ignore gRPC outbound\n\t\tif _, ok := handler.(*commander.Outbound); ok {\n\t\t\tcontinue\n\t\t}\n\t\tresponse.Outbounds = append(response.Outbounds, &core.OutboundHandlerConfig{\n\t\t\tTag:            handler.Tag(),\n\t\t\tSenderSettings: handler.SenderSettings(),\n\t\t\tProxySettings:  handler.ProxySettings(),","sourceCodeStart":165,"sourceCodeEnd":201,"githubUrl":"https://github.com/XTLS/Xray-core/blob/7d214f8b094f75322fa3990f8aadad1c912f24f5/app/proxyman/command/command.go#L165-L201","documentation":"Error \"not an outbound operation\" thrown in XTLS/Xray-core.","triggerScenarios":"Thrown at app/proxyman/command/command.go:183 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-15T17:31:12.345Z"}