Unfortunately the nature of stateful navigation is that the state is maintained. If you don't want your state maintained you'll need to use a normal ShellRoute with no state and rely on finer manipulation such as overriding didPush, didPushNext, didPop, didPopNext, and didChangeDependencies as well as the obvious initState.