When you reset the atom it becomes an empty state saved in storage. According to the docs https://recoiljs.org/docs/guides/atom-effects/#asynchronous-storage-persistence the key should be removed when it's a default value (at least for now) the fix is to simply add this to onSet ``` if (newValue instanceof DefaultValue) { if(state.hasOwnProperty(node.key)) delete state[node.key]; } else { state[node.key] = newValue } ```