A computer-implemented method comprising: identifying a first difference between a sync tree and at least one of a remote tree and a local tree, wherein the sync tree represents a known synced state between the server state at a content management system and the file system state at a client device, the remote tree represents the server state, and the local tree represents the file system state; generating, based on the first difference, a first set of operations configured to converge the server state and the file system state; receiving the first set of operations configured to converge a server state of content items stored by the content management system and a file system state of content items stored on a client device; initiating execution of the first set of operations; while executing the first set of operations, receiving modification data from the content management system and/or the client device; updating, based on the modification data received from the content management system and/or the client device, the remote tree and/or the local tree respectively; identifying a second difference between the sync tree and the updated remote tree and/or local tree; generating, based on the second difference, the second set of operations configured to converge the server state and the file system state after a change to at least one of the server state and the file system state; identifying a first operation in the first set of operations that is not in the second set of operations; prior to initiating execution of the first operation, canceling execution of the first operation; identifying a second operation in both the first set of operations and the second set of operations; and initiating execution of the second operation concurrently with the canceling of the first operation. identifying a first difference between a sync tree and at least one of a remote tree and a local tree, wherein the sync tree represents a known synced state between the server state at a content management system and the file system state at a client device, the remote tree represents the server state, and the local tree represents the file system state; generating, based on the first difference, a first set of operations configured to converge the server state and the file system state; receiving the first set of operations configured to converge a server state of content items stored by the content management system and a file system state of content items stored on a client device; initiating execution of the first set of operations; while executing the first set of operations, receiving modification data from the content management system and/or the client device; updating, based on the modification data received from the content management system and/or the client device, the remote tree and/or the local tree respectively; identifying a second difference between the sync tree and the updated remote tree and/or local tree; generating, based on the second difference, the second set of operations configured to converge the server state and the file system state after a change to at least one of the server state and the file system state; identifying a first operation in the first set of operations that is not in the second set of operations; prior to initiating execution of the first operation, canceling execution of the first operation; identifying a second operation in both the first set of operations and the second set of operations; and initiating execution of the second operation concurrently with the canceling of the first operation.