--- title: "system.tag.move" description: "Moves tags or folders to a new destination." --- # system.tag.move > Moves tags or folders to a new destination. This function is used in **Python Scripting**. ## Description Moves tags or folders to a new destination. The new destination can be a separate tag provider. If interested in copying the tags to a new destination, instead of moving them, please see the [system.tag.copy](appendix\scripting-functions\system-tag\system-tag-copy.md) page. #### Moving Across Tag Providers When moving UDTs to a different provider, the destination provider must have a matching UDT definition. This function moves folders/tags sequentially, so definitions can be placed earlier in the list, with instances following after. Note that moving tags with this function will not move or otherwise update prior Tag History or Alarm Journal entries: the old records will persist in the database at the old path, while future entries will be based on the new paths. #### Remote Tag Providers Additionally, this function can move tags to or from a [Remote Tag provider](platform\tags\tag-providers\tag-providers.md#remote-tag-provider). In this case, the Tag Access [Service Security](platform\security\security-zones\security-zones.md) settings on both providers must be set to ReadWriteEdit. ## Client Permission Restrictions [Permission Type](../../../ignition-modules/vision/vision-project-properties/vision-project-properties.md#vision-permissions-properties): Tag Editing Client access to this scripting function is blocked to users that do not meet the role/zone requirements for the above permission type. This function is unaffected when run in the Gateway scope. ## Syntax `system.tag.move(tags, destination, [collisionPolicy])` ### Parameters Type | Parameter | Description ------- | ------- | ------ List| `tags` | A List of tag paths to move. String| `destination` | The destination to move the tags to. The destination tag provider must be specified: i.e., `[default]Folder/myTag`. String| `collisionPolicy` | The action to take when a tag or folder with the same path and name is encountered. Defaults to Overwrite. [optional]. Possible values include:a - Abort and throw an exceptiono - Overwrite and replace existing tag's configurationi - Ignore that item in the list. ### Returns **List** - A List of QualityCode objects, one for each tag in the list, that is representative of the result of the operation. See [Scripting Object Reference](appendix\reference-pages\scripting-object-reference\scripting-object-reference.md#qualitycode). ### Scope Gateway, Vision Client, Perspective Session ## Code Examples ```python title="Example #1 - Rename a Folder" # This function moves a folder in a Tag provider to a new folder. # Since both paths are at the same node, the "Old_Folder" will be placed at the root of the provider, and the name changed, effectively renaming the folder. tags = ['[default]Old_Folder'] destination = '[default]New_Folder/' # Move the folder. system.tag.move(tags, destination) ``` ```python title="Example #2 - Move Multiple Folders to a New Folder" # This function moves an entire folder of Tags to a new destination. # Define the source and new path. tags = ['[default]Old_Folder', '[default]Another_Folder' ] destination = '[default]New_Folder/Imports' # If there are any conflicts with the new destination, then abort the operation policy = 'a' # Move the folder system.tag.move(tags, destination) ```