Filing this under the either the I Can't Believe No One Noticed This Before or the I Must Be Missing Something categories: It appears that if you do a simple window.history.pushState on iOS, the location bar doesn't update unless it is in response to a user gesture. The state itself does get pushed (as you can see by hitting the back button button). Here's is the tiniest test-case I could come up