go-kratos/kratos · error
failed to unmarshal, message is %T, want proto.Message
Error message
failed to unmarshal, message is %T, want proto.Message
What it means
Error "failed to unmarshal, message is %T, want proto.Message" thrown in go-kratos/kratos.
Source
Thrown at encoding/protojson/protojson.go:47
// codec is a Codec implementation with protojson.
type codec struct{}
func (codec) Marshal(v any) ([]byte, error) {
m, ok := v.(proto.Message)
if !ok {
return nil, fmt.Errorf("failed to marshal, message is %T, want proto.Message", v)
}
return MarshalOptions.Marshal(m)
}
func (codec) Unmarshal(data []byte, v any) error {
if len(data) == 0 {
return nil
}
m, ok := v.(proto.Message)
if !ok {
return fmt.Errorf("failed to unmarshal, message is %T, want proto.Message", v)
}
return UnmarshalOptions.Unmarshal(data, m)
}
func (codec) Name() string {
return Name
}
View on GitHub (pinned to 668db92c2c)
When it happens
Trigger: Thrown at encoding/protojson/protojson.go:47 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of go-kratos/kratos@668db92c2c (2026-08-16).
Data as JSON: /api/errors/cf2a0a54df84dd28.
Report an issue: GitHub.