Never tell the players what they're doing, it seems obvious but some DMs can't help it when their narrative gets disrupted.
In addition to that, I don't punish players for not following the story. It's my world but it's their game, if they want to spend a session drinking in a tavern and end up...