If you add the Errata to the first line in physics_process in Hock.gd. And when you hook on the floor, the player will trans to Vector2(INF, INF) (global_posion = a realy big number).
Why is that? I think it should be stuck or something else but that.
You want to return from the function if you place that new condition at the top of your script. Otherwise, the rest of the hook's physics process function will run after entering the run state.
If you look at the errata, I put a comment to indicate you should add these two lines at the end of the function.
Could you try to move the lines and tell me if you still have the problem? I think that errata was specifically to address the issue you are facing, although it's been over a year now and I don't remember all the details.