> For the complete documentation index, see [llms.txt](https://wiki.crosswatch.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.crosswatch.app/crosswatch/settings/connections/media-servers/multiple-media-server-users.md).

# Multiple media server users

Sync separate watch histories for several media server identities.

Available in **v0.14.0**. Sync several people between media servers from one CrossWatch installation. Each person keeps their own history, ratings, and progress.

{% hint style="info" %}
Leave the **Identities** tab empty if you only sync your own account.
{% endhint %}

### What it does

Use this feature when several people use more than one media server. For example, you may run Plex and Jellyfin, or a main and backup Emby server.

CrossWatch:

* syncs each person to their own account on the other server
* keeps each person’s history separate
* uses one admin connection per server
* Sync pairs: Plex, Emby, Jellyfin and Silo in any combination (History, Ratings, Progress).
* Watcher routes: Plex, Emby, Jellyfin and Silo.
* Webhooks: Plex, Emby and Jellyfin.
* Each sync pair, Watcher route and webhook decides who syncs with whom. Nothing is linked automatically by name during a sync.

For example, when Carmen watches a movie on Plex, CW marks it watched for Carmen on Jellyfin.

{% hint style="warning" %}
**Media servers only.** Trackers such as Trakt, SIMKL, and MDBList require each person to sign in with their own account. Create one connection instance and a standard sync pair for each tracker user.
{% endhint %}

### Before you start

* Connect every media server with an **admin account**. For Plex, use the server owner.
* Give each person an account on every server.

### Setup

{% stepper %}
{% step %}

### Pick identities on every server

In **Settings → Connections**, open the server and go to **Identities**. Tick each person who can be synced and save. Include your own account if it should sync too.

Plex Home users and Silo profiles with a PIN may ask for it.
{% endstep %}

{% step %}

### Link people in the sync pair

Open the pair and go to **Media servers**. Switch on **Identities**. Each person on the source server gets a dropdown with people on the other server.

CrossWatch fills these in first with links from other pairs, routes or webhooks, then with matching names. Check the list, change a link with the dropdown, or choose **Don't sync**. Save.
{% endstep %}

{% step %}

### Live plays (optional)

Switch on **Identities** in a Watcher route’s **Route** tab or a webhook’s **Source** tab. Link people the same way.

Suggestions reuse links from the previous step. Usually, you only need to check and save.
{% endstep %}
{% endstepper %}

Each person on the other server can only be linked once per pair, route or webhook, so two people never end up in one history.

### Reading the Identities card

* **Linked**: you picked this link.
* **Same name**: the names match on both servers.
* **Also in Sync pair 1**: the same link is used there too. This can also name a route or webhook.
* **Use name**: a suggestion. Click it to apply it, or use **Use N suggestions** for all at once.
* A warning appears when a link points to an identity removed from its connection. The link is dropped on save.

### Different names on different servers

Just pick the right person in the dropdown in the pair, route or webhook. Once you link a pair of people somewhere, CrossWatch suggests the same link in your other pairs, routes and webhooks.

### Profiles

Profiles are not needed for syncing. They give a person their own CrossWatch view with only their data.

On the **Identities** tab, open [Profiles](/crosswatch/settings/connections/profiles.md) and select **Create profiles**. This makes one Profile for each identity without one, using its name.

Manage Profiles from [Profiles](/crosswatch/settings/connections/profiles.md).

### What each person sees

* Choose a person in the main-page profile dropdown. You can also use **View as** in [Profiles](/crosswatch/settings/connections/profiles.md).
* Each view shows that person’s history, ratings, and statistics.
* **All profiles** shows everyone together.
* A person signed in with an account linked to their Profile sees only their own data.

### Where you can see it

* The **Identities** tab shows where each person is linked, such as “Linked in Sync pair 1” or “Not linked anywhere yet”.
* Sync pair cards show a people icon in the mode pill when **Identities** is on. A person icon means the pair belongs to a Profile. Hover over the pill to see the Profile and linked people.
* Watcher route and webhook cards show how many people are linked.

### Watcher routes and webhooks

* **Watcher routes:** linked identities replace the route’s user filter. You do not need to list people there.
* **Webhooks:** links are set per destination. The user filter on the **Filters** tab still applies. Add these people there or leave it empty.

### Removing a user

Untick the person on the **Identities** tab and save. If they are linked somewhere, CrossWatch tells you which pairs, routes or webhooks are affected.

They stop syncing right away and are removed from their Profile. If added again later, syncing starts fresh for them.

### Limits

* Up to **25 identities per connection** by default.
* Set `runtime.max_sync_users_per_connection` in `config.json` to raise the limit to 100.
* Each extra identity increases sync time and storage use.

### Troubleshooting

* **Someone does not sync:** make sure they are ticked on the **Identities** tab of both servers and linked in the pair, route or webhook. People who are not linked never sync.
* **No suggestions:** names differ and no link exists yet. Pick the person in the dropdown once and the link is suggested elsewhere from then on.
* **Live plays missing:** switch on **Identities** on the route or webhook and link the person there. For webhooks, also check the user filter on the **Filters** tab.
* **My own watches stopped syncing:** once **Identities** is on, only linked people sync. Tick your own account on both servers and link it.
* **Not on server:** the account was removed from the media server. Untick it and save.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://wiki.crosswatch.app/crosswatch/settings/connections/media-servers/multiple-media-server-users.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
