{"record":{"id":"7c2c4b82236143c1","repo":"cloudflare/cloudflared","slug":"invalid-event-filter-provided-please-use-one-of","errorCode":null,"errorMessage":"invalid --event filter provided, please use one of the following EventTypes: cloudflared, http, tcp, udp","messagePattern":"invalid --event filter provided, please use one of the following EventTypes: cloudflared, http, tcp, udp","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/cloudflared/tail/cmd.go","lineNumber":185,"sourceCode":"\n\tevents := make([]management.LogEventType, 0)\n\n\targLevel := c.String(\"level\")\n\targEvents := c.StringSlice(\"event\")\n\targSample := c.Float64(\"sample\")\n\n\tif argLevel != \"\" {\n\t\tl, ok := management.ParseLogLevel(argLevel)\n\t\tif !ok {\n\t\t\treturn nil, fmt.Errorf(\"invalid --level filter provided, please use one of the following Log Levels: debug, info, warn, error\")\n\t\t}\n\t\tlevel = &l\n\t}\n\n\tfor _, v := range argEvents {\n\t\tt, ok := management.ParseLogEventType(v)\n\t\tif !ok {\n\t\t\treturn nil, fmt.Errorf(\"invalid --event filter provided, please use one of the following EventTypes: cloudflared, http, tcp, udp\")\n\t\t}\n\t\tevents = append(events, t)\n\t}\n\n\tif argSample <= 0.0 || argSample > 1.0 {\n\t\treturn nil, fmt.Errorf(\"invalid --sample value provided, please make sure it is in the range (0.0 .. 1.0)\")\n\t}\n\tsample = argSample\n\n\tif level == nil && len(events) == 0 && argSample != 1.0 {\n\t\t// When no filters are provided, do not return a StreamingFilters struct\n\t\treturn nil, nil\n\t}\n\n\treturn &management.StreamingFilters{\n\t\tLevel:    level,\n\t\tEvents:   events,\n\t\tSampling: sample,","sourceCodeStart":167,"sourceCodeEnd":203,"githubUrl":"https://github.com/cloudflare/cloudflared/blob/2253eeeb25a44a713a4b60b8ba1e1b3f377d1a0f/cmd/cloudflared/tail/cmd.go#L167-L203","documentation":"Validation error in parseFilters for `cloudflared tail`. It fires when any value passed to the repeatable --event flag does not parse as a management.LogEventType (valid: cloudflared, http, tcp, udp), aborting stream setup before the websocket connection is made.","triggerScenarios":"Running e.g. `cloudflared tail --event https <tunnel-id>` or `--event Cloudflared` if parsing is case-sensitive — any --event string not matching a defined LogEventType.","commonSituations":"Guessing event names (e.g. 'dns', 'quic'), pluralizing them ('events'), or wrong casing when passing multiple --event flags.","solutions":["Use only: cloudflared, http, tcp, udp","Repeat the flag for multiple events: --event http --event tcp","Check `cloudflared tail --help` for the exact accepted values"],"exampleFix":"# before\ncloudflared tail --event quic <tunnel-id>\n# after\ncloudflared tail --event tcp --event udp <tunnel-id>","handlingStrategy":"validation","validationCode":"var validEvents = map[string]bool{\"cloudflared\": true, \"http\": true, \"tcp\": true, \"udp\": true}\nfor _, e := range events {\n\tif !validEvents[strings.ToLower(e)] {\n\t\treturn fmt.Errorf(\"--event %q invalid; use cloudflared, http, tcp, udp\", e)\n\t}\n}","typeGuard":null,"tryCatchPattern":"if _, ok := management.ParseLogEventType(e); !ok {\n\treturn usageError(\"invalid --event; expected cloudflared|http|tcp|udp\")\n}","preventionTips":["Only use the four documented event names","Repeat --event per type instead of comma lists unless supported","Keep a script-side whitelist of allowed event values"],"tags":["cli","validation","flags"],"backgroundTag":"invalid-enum-value","analyzedSha":"2253eeeb25a44a713a4b60b8ba1e1b3f377d1a0f","analyzedAt":"2026-09-06T04:14:33.757Z","contentChangedAt":"2026-09-06T04:14:33.757Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}