# Sync Failed

You copied something but another device never receives it. Work this page top to bottom. **First decide which layer fails**: the content was never recorded in the source device's history (capture), it was recorded but never transferred (transfer), or it arrived but won't paste (paste). Starting from the source device and following these three layers reduces trial-and-error.

Not sure this is the right page? Use the minimal test in the [Troubleshooting overview](/advanced/troubleshooting/overview) to find the layer first.

> [!TIP] In a hurry?
> Fastest triage: confirm the clip is in the **source** device's history, that **both ends use the same sync method**, then retry with a short unique text. If any of those fails, start there.

## Who this is for

- Users who can see clip history on a single device but can't receive content across devices
- Users unsure whether to check the sync method, the network, or source-device permissions first

If the two devices **can't discover each other**, start with [Device Discovery Failed](/advanced/troubleshooting/device-discovery-failed). This page assumes the devices are already paired or signed in to the same account.

> [!WARNING] Don't mix sync paths
> Using Nearby Sync on one device and Cloud Sync on the other often looks like "nothing arrives" or extreme instability. Put both ends on the **same** sync method before continuing.

## Run one minimal test

On the source device, copy this plain text and use it through all three layers below:

```text title="Minimal test text" noLineNumbers
octoclip-sync-failed-001
```

## Layer 1: Did the source device record it?

When content doesn't arrive, **first look for this copy in the source device's clip history**. If it isn't there, this isn't a sync problem — fix capture first.

:::steps
:::step{title="Confirm the app is running and not paused"}

The source device can open the app and reach the clip history page, and monitoring is not manually paused.

:::
:::step{title="Find the test text in the source history"}

After copying `octoclip-sync-failed-001`, confirm it appears in the **source** device's history list.

:::
:::step{title="If the record is missing"}

The content was never captured — stop at this layer. This is especially common on mobile: when clipboard background monitoring is off or not working, you often have to **open the app before copying** for it to be recorded. See [Clipboard background monitoring](/features/source/background-monitoring/).
:::
:::

> [!NOTE] No record on the source means don't change sync yet
> If the copy isn't in the source history, the other device naturally "waits forever." Changing the sync method or reconnecting the cloud won't help — fix "not recorded" first.

## Layer 2: Can it transfer?

If the source history has the record but the target doesn't, the problem is in the transfer layer. Expand the checks for your sync method.

:::tabs
:::tab{label="Nearby Sync"}

:::steps{collapsible}
:::step{title="Confirm Nearby Sync is enabled"}
Ensure the "Nearby Sync" switch is turned on in settings on both devices.
:::
:::step{title="Confirm pairing status"}
In the nearby devices list, confirm that both ends discover each other and are in a paired/connected state.
:::
:::step{title="Network permissions and environment"}
Confirm the app has been granted "Local Network" system permission. Confirm both devices are connected to the same Wi-Fi LAN.
:::
:::step{title="Rule out firewalls and isolation"}
Check that the system firewall, router guest network isolation, VPN, or proxy is not blocking local peer-to-peer traffic.
:::
:::

If you can't find the other device, go to [Device Discovery Failed](/advanced/troubleshooting/device-discovery-failed).

:::
:::tab{label="Cloud Sync"}

:::steps{collapsible}
:::step{title="Confirm account and config match"}
Confirm both ends are signed in to the same Octoclip account or use the exact same private sync configuration.
:::
:::step{title="Confirm Cloud Sync is enabled"}
Ensure Cloud Sync is selected as the sync path and enabled in settings on both ends.
:::
:::step{title="Check outbound connection"}
Confirm the local network is not blocking outbound encrypted HTTPS/WSS traffic, or test with a mobile hotspot.
:::
:::

:::
:::

## Layer 3: It arrived but won't paste

When the target device's history **already shows** the clip but you can't use it, the problem is in the paste/use layer.

:::steps{progress=1}
:::step{title="Test in a plain text field"}
Try pasting manually into an ordinary text editor (like Notepad or Notes) first to rule out the target app's own pasting restrictions.
:::
:::step{title="Confirm the target app is focused and allows pasting"}
Some secure apps or system policies block programmatic pasting that is not manually triggered by the user.
:::
:::step{title="Check permissions required for auto paste"}
If you enable click-to-paste or helper features, macOS users must ensure "Accessibility" and "Input Monitoring" permissions are granted; see [macOS Permissions](/advanced/macos/permissions).
:::
:::step{title="Rule out shortcut conflicts"}
Confirm the auto paste shortcut does not conflict with other applications.
:::
:::

## How to verify after fixing

- Copy `octoclip-sync-failed-001` on the source device.
- The text appears in the target device's clip history.
- The target device pastes the same text successfully.
- The reverse test also works (copy on target, receive on source).

## Still not solved

Please include:

- Platform and OS version of both devices
- App version
- Sync method in use (Nearby Sync / Cloud Sync)
- Which layer it stops at (not in source history / in history but not received on target / visible on target but won't paste)
- Failure direction (A → B / B → A / both)
- Content type (plain text / link / image / file reference)
- Network environment (same Wi-Fi / different networks / VPN / proxy / firewall / corporate network)
- Reproduction steps (shortest path)
- Error message screenshot or log snippet

## Next steps

:::cards{cols=2}
:::card{title="First-run troubleshooting" icon="lucide.triangle-alert" href="/getting-started/first-run-troubleshooting"}
If your first cross-device attempt receives nothing, follow the fuller first-run checklist.

:::
:::card{title="Sync overview" icon="lucide.git-compare" href="/features/sync-overview"}
Unsure whether to use Nearby or Cloud Sync? Re-pick by scenario.

:::
:::card{title="Device discovery failed" icon="lucide.scan-search" href="/advanced/troubleshooting/device-discovery-failed"}
When the two devices can't find each other, debug the discovery layer separately.

:::
:::card{title="Clipboard background monitoring" icon="lucide.monitor-cog" href="/features/source/background-monitoring/"}
When the source "didn't record it," understand background monitoring and per-platform limits.
:::
:::
