How can I set a default category for a custom post type in wordpress?

The problem with ‘save_post’ is that it gets called when you actually change something on the post edit page, if you just click the update button without changing anything, it doesn’t get called. So, i would say use ‘pre_post_update’ action hook instead of ‘save_post’ or use both. Also for debugging try put some test code in your custom function and test it to make sure it is being called.