> ## Documentation Index
> Fetch the complete documentation index at: https://docs.diversion.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Sync status

> What each sync status in the desktop and web app means, and what to do about it

Diversion shows sync status in two places: the **workspace header** at the top of an open repo, and each workspace's row on the dashboard's **Local Workspaces** tab (click the Diversion logo at the top left to open the dashboard). The two use different labels -- find the one you're looking at below. For the command line, see [`dv status`](/cmd-ref/status).

## Workspace header

The header reports two separate facts, one per line:

| Line        | What it tells you                                                                                                                                                                                                   |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| First line  | What's happening to the files on this machine, and the commit they're synced to                                                                                                                                     |
| Second line | `cloud workspace dv.commit.<id>` -- the commit your cloud workspace is on, sometimes followed by a [note about the branch](#notes-on-the-second-line). After an error stops sync, the error takes this line instead |

When both lines name the same commit, the files on this machine match your cloud workspace. These are the same two commits `dv status` prints. A status stays on screen until the state changes, and a button appears next to it only when there's something for you to do. If the header is too narrow for the whole second line, hover over the status to read it.

| First line                                                                                | What to do                                                   |
| ----------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
| [Synced to `dv.commit.<id>`](#synced)                                                     | Nothing                                                      |
| [Syncing to `dv.commit.<id>`](#syncing) or **Syncing…**                                   | Keep editing -- wait to commit                               |
| [Sync paused at `dv.commit.<id>`](#sync-paused)                                           | Click **Resume**                                             |
| [Paused by error at `dv.commit.<id>`](#paused-by-error)                                   | Click **View error**, then **Resume**                        |
| [Sync error at `dv.commit.<id>`](#sync-error)                                             | Click **View error**                                         |
| [Agent not running](#agent-not-running)                                                   | Click **Start agent**                                        |
| [Starting Diversion agent…](#agent-starting-or-updating) or **Updating Diversion agent…** | Nothing -- keep working                                      |
| [Agent outdated](#agent-outdated)                                                         | Click the Diversion logo at the top left, then **reinstall** |
| [Cloud workspace `dv.commit.<id>`](#cloud-workspace)                                      | Nothing -- no files on this machine to report on             |

### Synced

<img src="https://mintcdn.com/diversion-2/Sr4YcFOiSah9oDie/images/sync-status-header-synced.png?fit=max&auto=format&n=Sr4YcFOiSah9oDie&q=85&s=d9126edf722d370eba31af25b14aad14" alt="Workspace header reading Synced to dv.commit.12345, cloud workspace dv.commit.12345, branch has no newer commits" style={{width: '392px', maxWidth: '100%', borderRadius: '0.5rem', border: '.1rem solid #555', boxShadow: '0 0 1rem #888' }} width="784" height="96" data-path="images/sync-status-header-synced.png" />

**Synced to `dv.commit.<id>`** means there's nothing left to transfer, and the files on this machine match that commit. Hover over it to see the most recent change synced in each direction.

The cloud icon turns green only when the files on this machine, your cloud workspace and the branch are all on the same commit. Otherwise it stays grey -- when the branch has [newer commits](#newer-commits-on-the-branch), or for a few seconds after your workspace moves to a new commit, until the two lines catch up.

<img src="https://mintcdn.com/diversion-2/m6txH8aSiY2qucvv/images/sync-status-header-synced-not-current.png?fit=max&auto=format&n=m6txH8aSiY2qucvv&q=85&s=93b02d7472b28454feee19de998549b1" alt="Workspace header with a grey cloud icon, reading Synced to dv.commit.68050, cloud workspace dv.commit.68053, branch has no newer commits" style={{width: '395px', maxWidth: '100%', borderRadius: '0.5rem', border: '.1rem solid #555', boxShadow: '0 0 1rem #888' }} width="790" height="96" data-path="images/sync-status-header-synced-not-current.png" />

Right after the agent starts, the status can read just **Synced**, without a commit, until the agent reports one.

**What to do:** Nothing.

### Syncing

<img src="https://mintcdn.com/diversion-2/m6txH8aSiY2qucvv/images/sync-status-header-syncing.png?fit=max&auto=format&n=m6txH8aSiY2qucvv&q=85&s=52d05854968fd0585a7ffedbdf8f281d" alt="Workspace header reading Syncing to dv.commit.12345, 3 files remaining" style={{width: '217px', maxWidth: '100%', borderRadius: '0.5rem', border: '.1rem solid #555', boxShadow: '0 0 1rem #888' }} width="434" height="96" data-path="images/sync-status-header-syncing.png" />

**Syncing to `dv.commit.<id>`** means files are still moving between this machine and the cloud. The second line counts the files remaining. When there's no commit to name, it reads **Syncing…** instead. Hover over it to see how many files and how much data have transferred so far.

If the branch also has newer commits, the file count is followed by a [note about the branch](#notes-on-the-second-line).

**What to do:** Keep editing -- your changes are picked up as you save. Wait to commit: while sync is running the **Commit** button is disabled, along with switching branches, merging, reverting, cherry-picking and shelving. They become available again when sync finishes.

### Newer commits on the branch

When someone commits to your branch, the second line says so. What it says depends on your workspace's [automatic update](/concepts/syncing#workspace-automatic-update) setting.

**Automatic update on**

<img src="https://mintcdn.com/diversion-2/m6txH8aSiY2qucvv/images/sync-status-header-updating-to.png?fit=max&auto=format&n=m6txH8aSiY2qucvv&q=85&s=ab80c267f1aed666f3c984606fdaecd2" alt="Workspace header reading Synced to dv.commit.68053, cloud workspace dv.commit.68053, updating to dv.commit.68056" style={{width: '398px', maxWidth: '100%', borderRadius: '0.5rem', border: '.1rem solid #555', boxShadow: '0 0 1rem #888' }} width="796" height="96" data-path="images/sync-status-header-updating-to.png" />

`updating to dv.commit.<id>` means your cloud workspace is moving to the branch's newest commit by itself, and the files on this machine follow.

**What to do:** Nothing.

**Automatic update off**

<img src="https://mintcdn.com/diversion-2/m6txH8aSiY2qucvv/images/sync-status-header-auto-update-off.png?fit=max&auto=format&n=m6txH8aSiY2qucvv&q=85&s=c25eb9ad9788c41b72178c0cf17f477f" alt="Workspace header reading Synced to dv.commit.68053, cloud workspace dv.commit.68053, automatic update is off, with an Update to dv.commit.68056 button" style={{width: '554px', maxWidth: '100%', borderRadius: '0.5rem', border: '.1rem solid #555', boxShadow: '0 0 1rem #888' }} width="1108" height="96" data-path="images/sync-status-header-auto-update-off.png" />

`automatic update is off` means the branch has newer commits, and your workspace waits until you update.

**What to do:** Click **Update to `dv.commit.<id>`**, or run `dv update`. The button reads **Updating workspace…** while the update runs.

<img src="https://mintcdn.com/diversion-2/m6txH8aSiY2qucvv/images/sync-status-header-updating-workspace.png?fit=max&auto=format&n=m6txH8aSiY2qucvv&q=85&s=4638d8db7b87395321d2992a3f925976" alt="Workspace header with the button reading Updating workspace…" style={{width: '530px', maxWidth: '100%', borderRadius: '0.5rem', border: '.1rem solid #555', boxShadow: '0 0 1rem #888' }} width="1060" height="96" data-path="images/sync-status-header-updating-workspace.png" />

**Conflicts stopped the update**

<img src="https://mintcdn.com/diversion-2/m6txH8aSiY2qucvv/images/sync-status-header-conflicts.png?fit=max&auto=format&n=m6txH8aSiY2qucvv&q=85&s=2511000f216cd6511b9a4bee5a370f3b" alt="Workspace header reading Synced to dv.commit.68053, cloud workspace dv.commit.68053, branch is at dv.commit.68056, with a Resolve conflicts to update button" style={{width: '579px', maxWidth: '100%', borderRadius: '0.5rem', border: '.1rem solid #555', boxShadow: '0 0 1rem #888' }} width="1158" height="96" data-path="images/sync-status-header-conflicts.png" />

`branch is at dv.commit.<id>` with a **Resolve conflicts to update** button means the automatic update stopped because the newer commits conflict with changes in your workspace.

**What to do:** Click **Resolve conflicts to update** to open the merge, then resolve the conflicts. See [Merge conflicts](/concepts/conflicts#merge-conflicts).

### Sync paused

<img src="https://mintcdn.com/diversion-2/Sr4YcFOiSah9oDie/images/sync-status-header-paused.png?fit=max&auto=format&n=Sr4YcFOiSah9oDie&q=85&s=7f9ff38f190c2e4e85a33aaddaae8025" alt="Workspace header reading Sync paused at dv.commit.68053, cloud workspace dv.commit.68053, branch is at dv.commit.68056, with a Resume button" style={{width: '486px', maxWidth: '100%', borderRadius: '0.5rem', border: '.1rem solid #555', boxShadow: '0 0 1rem #888' }} width="972" height="96" data-path="images/sync-status-header-paused.png" />

**Sync paused at `dv.commit.<id>`** means no files move in either direction, because you turned sync off. The commit is the last one this machine synced. The agent can also stop sync by itself after a failure -- that reads differently, see [Paused by error](#paused-by-error).

While sync is paused, has an error, or the agent isn't running, the header offers only the fix. **Update** stays hidden, because updating moves your cloud workspace while no files reach this machine.

**What to do:** Click **Resume**. Committing is disabled while sync is paused, along with switching branches, merging, reverting, cherry-picking and shelving -- they come back once sync is running. See [Pause/Resume sync](/basic/sync-pause-resume).

### Paused by error

<img src="https://mintcdn.com/diversion-2/m6txH8aSiY2qucvv/images/sync-status-header-paused-error.png?fit=max&auto=format&n=m6txH8aSiY2qucvv&q=85&s=4b78c5d8858844ff0aa19948455109d7" alt="Workspace header reading Paused by error at dv.commit.68053 in red, with the error on the second line and View error and Resume buttons" style={{width: '460px', maxWidth: '100%', borderRadius: '0.5rem', border: '.1rem solid #555', boxShadow: '0 0 1rem #888' }} width="920" height="98" data-path="images/sync-status-header-paused-error.png" />

**Paused by error at `dv.commit.<id>`** means the agent stopped sync after a failure. The status is red rather than the grey of a pause you switched on, and a **View error** button appears next to **Resume**. The error takes the second line, and the cloud workspace commit moves into the tooltip -- hover the status to read it.

**What to do:** Click **View error**, fix what it reports, then click **Resume** -- resuming without fixing the cause stops sync again. The same actions are unavailable as for a pause you switched on.

### Sync error

<img src="https://mintcdn.com/diversion-2/m6txH8aSiY2qucvv/images/sync-status-header-error.png?fit=max&auto=format&n=m6txH8aSiY2qucvv&q=85&s=01eb49defb1d1cfbf062be853a1d0a1c" alt="Workspace header reading Sync error at dv.commit.68053, cloud workspace dv.commit.68053, branch is at dv.commit.68056, with a View error button" style={{width: '479px', maxWidth: '100%', borderRadius: '0.5rem', border: '.1rem solid #555', boxShadow: '0 0 1rem #888' }} width="958" height="96" data-path="images/sync-status-header-error.png" />

**Sync error at `dv.commit.<id>`** means the agent hit a problem syncing this workspace. The commit is the last one this machine synced.

**What to do:** Click **View error** to read the full message.

### Agent not running

<img src="https://mintcdn.com/diversion-2/m6txH8aSiY2qucvv/images/sync-status-header-agent-not-running.png?fit=max&auto=format&n=m6txH8aSiY2qucvv&q=85&s=4f32790441164030ed04fce07ab6aa00" alt="Workspace header reading Agent not running, last synced dv.commit.68053, branch is at dv.commit.68056, with a Start agent button" style={{width: '452px', maxWidth: '100%', borderRadius: '0.5rem', border: '.1rem solid #555', boxShadow: '0 0 1rem #888' }} width="904" height="96" data-path="images/sync-status-header-agent-not-running.png" />

**Agent not running** means the Diversion agent, which syncs your files in the background, isn't running on this machine, so nothing syncs. The second line shows the commit this machine was **last synced** to.

**What to do:** Click **Start agent**, or run `dv` in a terminal.

### Agent starting or updating

<img src="https://mintcdn.com/diversion-2/m6txH8aSiY2qucvv/images/sync-status-header-agent-updating.png?fit=max&auto=format&n=m6txH8aSiY2qucvv&q=85&s=e83b57772214669330e01521b989cc08" alt="Workspace header reading Updating Diversion agent…, last synced dv.commit.68053, branch is at dv.commit.68056" style={{width: '367px', maxWidth: '100%', borderRadius: '0.5rem', border: '.1rem solid #555', boxShadow: '0 0 1rem #888' }} width="734" height="96" data-path="images/sync-status-header-agent-updating.png" />

**Starting Diversion agent…** or **Updating Diversion agent…** means the agent is starting up or installing an update. Sync resumes when it's done.

**What to do:** Nothing -- keep working, and don't start the agent again. Changes you make in the meantime sync once it's back.

### Agent outdated

<img src="https://mintcdn.com/diversion-2/m6txH8aSiY2qucvv/images/sync-status-header-agent-outdated.png?fit=max&auto=format&n=m6txH8aSiY2qucvv&q=85&s=0eace969b1d5a67baecb32f1b8398c37" alt="Workspace header badge reading Agent outdated" style={{width: '152px', maxWidth: '100%', borderRadius: '0.5rem', border: '.1rem solid #555', boxShadow: '0 0 1rem #888' }} width="304" height="96" data-path="images/sync-status-header-agent-outdated.png" />

**Agent outdated** appears in the desktop app, next to the sync status, when the agent on this machine is older than the app needs.

**What to do:** Click the Diversion logo at the top left to open the dashboard, then click **reinstall** in the outdated-agent notice.

Reinstalling clears the agent's record of the workspaces on this machine, so finish or pause what you're doing first. The files stay where they are, but each workspace has to be attached again before it syncs: on the same dashboard, click **Attach workspace**, choose the workspace's folder and click **Connect**.

### Cloud workspace

<img src="https://mintcdn.com/diversion-2/m6txH8aSiY2qucvv/images/sync-status-header-web.png?fit=max&auto=format&n=m6txH8aSiY2qucvv&q=85&s=7c097e02fa5d73680cc400cf6c6d66e7" alt="Workspace header reading Cloud workspace dv.commit.68053" style={{width: '254px', maxWidth: '100%', borderRadius: '0.5rem', border: '.1rem solid #555', boxShadow: '0 0 1rem #888' }} width="508" height="96" data-path="images/sync-status-header-web.png" />

**Cloud workspace `dv.commit.<id>`** is the web app's view. The web app can't see the files on your machine, so it shows only the commit your cloud workspace is on, and never **Synced**. The desktop app shows the same for a workspace that isn't cloned to this machine.

A [note about the branch](#notes-on-the-second-line) can follow on the second line, with an **Update to** button when automatic update is off. The status reads **Syncing…** while changes upload to the workspace.

**What to do:** Nothing. To check a machine's files, open the workspace in the desktop app on that machine.

### Notes on the second line

| Note                                       | What it means                                                                                                                                                                                  |
| ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `branch has no newer commits`              | Your cloud workspace is on the branch's newest commit                                                                                                                                          |
| `updating to dv.commit.<id>`               | Automatic update is moving your cloud workspace to the branch's newest commit                                                                                                                  |
| `automatic update is off`                  | The branch has newer commits -- click **Update to** to get them                                                                                                                                |
| `branch is at dv.commit.<id>`              | The branch has a newer commit than your cloud workspace. Shown while sync is stopped, or when conflicts stopped the update                                                                     |
| `files on this machine are not up to date` | Sync is stopped, and your cloud workspace moved to another commit without this machine -- automatic update keeps moving it while sync is stopped. The files here catch up once sync runs again |
| `last synced dv.commit.<id>`               | The agent isn't running -- the last commit this machine synced                                                                                                                                 |

## Dashboard workspace row

To open the dashboard, click the Diversion logo at the top left. Its **Local Workspaces** tab shows a shorter status on each workspace's row. It doesn't name a commit -- open the workspace to see which commit its files are on.

**Synced**

<img src="https://mintcdn.com/diversion-2/m6txH8aSiY2qucvv/images/sync-status-row-synced.png?fit=max&auto=format&n=m6txH8aSiY2qucvv&q=85&s=62f3ecb7ea4caa7aeb257e819ba412d3" alt="Dashboard workspace row reading Synced" style={{width: '634px', maxWidth: '100%', borderRadius: '0.5rem', border: '.1rem solid #555', boxShadow: '0 0 1rem #888' }} width="1268" height="140" data-path="images/sync-status-row-synced.png" />

Nothing is left to transfer for this workspace. **What to do:** Nothing.

**Syncing**

<img src="https://mintcdn.com/diversion-2/m6txH8aSiY2qucvv/images/sync-status-row-syncing.png?fit=max&auto=format&n=m6txH8aSiY2qucvv&q=85&s=d68a214f3d90b4fb7de395ad58941c55" alt="Dashboard workspace row reading Syncing Scan in progress" style={{width: '634px', maxWidth: '100%', borderRadius: '0.5rem', border: '.1rem solid #555', boxShadow: '0 0 1rem #888' }} width="1268" height="140" data-path="images/sync-status-row-syncing.png" />

**Syncing…**, or **Syncing** followed by what the agent is doing -- such as scanning the folder or transferring a file. **What to do:** Keep editing -- wait for it to finish before committing.

**Sync paused**

<img src="https://mintcdn.com/diversion-2/m6txH8aSiY2qucvv/images/sync-status-row-paused.png?fit=max&auto=format&n=m6txH8aSiY2qucvv&q=85&s=40a47807eede91cf43c5989fa6224073" alt="Dashboard workspace row reading Sync paused, with the Sync toggle off" style={{width: '634px', maxWidth: '100%', borderRadius: '0.5rem', border: '.1rem solid #555', boxShadow: '0 0 1rem #888' }} width="1268" height="140" data-path="images/sync-status-row-paused.png" />

You turned sync off for this workspace, so no files move. **What to do:** Turn the **Sync** toggle back on.

**Paused - `<error>`**

<img src="https://mintcdn.com/diversion-2/m6txH8aSiY2qucvv/images/sync-status-row-paused-error.png?fit=max&auto=format&n=m6txH8aSiY2qucvv&q=85&s=85cd6380655b2c0acdd49ddd1be1f45e" alt="Dashboard workspace row reading Paused - Access denied, with a red pause icon and the Sync toggle off" style={{width: '634px', maxWidth: '100%', borderRadius: '0.5rem', border: '.1rem solid #555', boxShadow: '0 0 1rem #888' }} width="1268" height="140" data-path="images/sync-status-row-paused-error.png" />

The agent stopped sync after a failure and named the cause, and the pause icon is red. No files move until it runs again.

**What to do:** Click the label to read the full message, fix what it reports, then turn the **Sync** toggle back on -- turning it on without fixing the cause stops sync again.

**Sync error**

<img src="https://mintcdn.com/diversion-2/m6txH8aSiY2qucvv/images/sync-status-row-error.png?fit=max&auto=format&n=m6txH8aSiY2qucvv&q=85&s=43409a94ce264b49084f28a650402e09" alt="Dashboard workspace row reading Sync error: Access denied" style={{width: '634px', maxWidth: '100%', borderRadius: '0.5rem', border: '.1rem solid #555', boxShadow: '0 0 1rem #888' }} width="1268" height="140" data-path="images/sync-status-row-error.png" />

**Sync error:** followed by the error. **What to do:** Click the label to read the full message.

**Agent down**

<img src="https://mintcdn.com/diversion-2/m6txH8aSiY2qucvv/images/sync-status-row-agent-down.png?fit=max&auto=format&n=m6txH8aSiY2qucvv&q=85&s=e1a70243c9623f74ecdb863b5240a2b8" alt="Dashboard workspace row reading Agent down" style={{width: '634px', maxWidth: '100%', borderRadius: '0.5rem', border: '.1rem solid #555', boxShadow: '0 0 1rem #888' }} width="1268" height="140" data-path="images/sync-status-row-agent-down.png" />

The Diversion agent isn't running on this machine, so none of its workspaces sync. **What to do:** Click **Start agent** in the notice the app shows, or run `dv` in a terminal.
