Skip to main content
The sync engine lets you work on pipeline files in your local IDE and keep them in sync with your Mage Pro cluster — pulling remote changes down and pushing local edits back up.

Supported file types

.py, .sql, .r, .yaml, .yml, .md, .txt

Pull remote files to local

Download the full remote project tree to a local directory:
If --local-project-dir is omitted, the CLI prompts for a path (default: .mage-agent/local_sync).

Check sync status

See what has changed between your local copy and the cluster:
Files are grouped into four categories: For a human-readable table instead of JSON:

Push local changes to the cluster

Only files flagged as local_to_remote are uploaded.

Bidirectional sync with conflict resolution

Run a full two-way sync in one command:
For each conflicting file, mage-agent prompts:
Choose r, l, or s for each file. Conflicts are never silently overwritten.

Sync via AI assistant

You can also trigger sync operations through your AI assistant using MCP tools: Example prompt:
“Pull the latest remote changes to my local project at ./my-mage-project

How sync state is tracked

mage-agent stores a state file at <local-project-dir>/.mage-agent-sync-state.json after each sync. This file records the last-known timestamps for all tracked files, enabling accurate detection of what changed on each side. Do not delete or edit it manually.
Files inside hidden directories (.git, .venv, etc.) and __pycache__ folders are automatically excluded from sync.