how do I create multiple modules that both add to the output of a node?
If you're using $node-&gt;content['form'] for both modules, that would be why. Instead do $node-&gt;content['module1_form'] and $node-&gt;content['module2_form'].

This is because each function is getting passed the same node object and $node->content['form'] is being overwritten between the two modules.