Since 7.5.2 version global message declaration has priority over nested message declaration. Example + reproduction: ```proto message NestedMessage { int32 id = 1; } message TestMessage { message NestedMessage { int32 id = 1; string name = 2; } NestedMessage nested = 1; // this one will work properly // TestMessage.NestedMessage nested = 1; } ``` ```ts const data = { nested: { id: 0, name: 'hello', }, }; const encoded = TestMessage.encode(data).finish(); const decoded = TestMessage.decode(encoded); console.log('encoded', Array.from(encoded)); console.log('decoded', decoded); ``` The result is: ``` encoded [ 10, 2, 8, 0 ] decoded TestMessage { nested: NestedMessage { id: 0 } } ``` but it has to be: ``` encoded [ 10, 9, 8, 0, 18, 5, 104, 101, 108, 108, 111 ] decoded TestMessage { nested: NestedMessage { id: 0, name: 'hello' } } ```