Why does updating newly added field collection on hook_field_collection_item_insert fail?
You can only set the host entity while creating the field collection item (as your exception also states).

What you can do however is use $fc_wrapper-&gt;value()-&gt;updateHostEntity('node', $node); before you save the $fc_wrapper.
For that to work you will first have to load your host entity node of course (node_load() will suffice).

Hopefully this gets you on your way.