txthinking/brook · error
It is recommended to use brook link and specify --udpoverstr
Error message
It is recommended to use brook link and specify --udpoverstream
What it means
Not a runtime failure but an intentional configuration rejection in the connect subcommand: a plain quic:// server address was supplied without --udpoverstream, and this build/policy requires QUIC servers to run UDP-over-stream, so the command aborts before dialing. It fires whenever kind == "quicserver" and the user did not set --udpoverstream (the recommended alternative is passing a full brook link that specifies it).
Source
Thrown at cli/brook/main.go:1362
return nil
}
if c.String("from") == "" || c.String("to") == "" || (c.String("server") == "" && c.String("link") == "") {
return cli.ShowSubcommandHelp(c)
}
var link = ""
if c.String("server") != "" {
kind := "server"
if strings.HasPrefix(c.String("server"), "ws://") {
kind = "wsserver"
}
if strings.HasPrefix(c.String("server"), "wss://") {
kind = "wssserver"
}
if strings.HasPrefix(c.String("server"), "quic://") {
kind = "quicserver"
}
if kind == "quicserver" {
return errors.New("It is recommended to use brook link and specify --udpoverstream")
}
v := url.Values{}
v.Set("password", c.String("password"))
link = brook.Link(kind, c.String("server"), v)
}
if c.String("link") != "" {
link = c.String("link")
}
kind, _, v, err := brook.ParseLink(link)
if err != nil {
return err
}
if s := v.Get("clientHKDFInfo"); s != "" {
brook.ClientHKDFInfo = []byte(s)
}
if s := v.Get("serverHKDFInfo"); s != "" {
brook.ServerHKDFInfo = []byte(s)
}View on GitHub (pinned to 5cd13ef3b1)
Solutions
- Re-run using a brook link that includes --udpoverstream, e.g. pass --link instead of --server
- Add --udpoverstream to the connect command alongside the quic:// server
- If UDP-over-stream is not required, use a non-QUIC server kind (ws://, wss://, or plain server)
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at cli/brook/main.go:1362 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of txthinking/brook@5cd13ef3b1 (2026-09-06).
Data as JSON: /api/errors/3a445f1c754a4e93.
Report an issue: GitHub.