> 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/trackers/kitsu.md).

# Kitsu

Connect Kitsu to sync anime watchlists, ratings, and watch history.

{% tabs %}
{% tab title="End users" %}
Connect Kitsu to synchronize anime watchlists, ratings, and watched history with CrossWatch. You can also scrobble anime episodes and movies to Kitsu.

### Connect Kitsu

1. Open **Settings → Connections → Kitsu** in CrossWatch.
2. Select a connection profile. To connect another Kitsu account, click **New profile**.
3. Enter your Kitsu **Email or username** and **Password**.
4. Click **Connect Kitsu**. Wait until you see:

```
Connected - save settings to apply
```

5. Click **Save** to store the connection for the selected profile.
6. Enable **Anime ID Mapping** when prompted. You can also open it under **Connections → Metadata**.

Kitsu needs no developer app, client secret, or callback URL. CrossWatch exchanges your login details for tokens, then discards the password. Tokens refresh automatically. Reconnect if Kitsu rejects a refresh token.

{% hint style="info" %}
Enable global **Anime ID Mapping** to match anime across providers. It also translates episode numbering for history and scrobbling. Custom mappings are supported.

Guide: [Anime ID Mapping](/crosswatch/settings/connections/metadata/anime-id-mapping.md).
{% endhint %}

### Synchronization and scrobbling

Create a sync pair and select the Kitsu connection profile. Watchlist, ratings, and history support one-way and two-way sync with compatible providers.

* **Watchlist:** Uses Kitsu titles marked **Plan to Watch**. Existing watching, completed, dropped, or on-hold titles are not moved back to the watchlist.
* **Ratings:** Syncs title ratings and supports removing a rating.
* **History:** Uses watched status and episode progress per title. Removal reduces consecutive watched episodes from the end. It resets a movie to unwatched. Ratings and notes remain. Removals that leave gaps are unresolved.
* **Scrobbling:** Select Kitsu as a destination in a Watcher or webhook route. Anime episodes and movies are marked watched after playback reaches the configured watched threshold.

{% hint style="warning" %}
Kitsu is an experimental, anime-only provider. **Anime-only sync** is always enabled for its watchlist, ratings, and history pairs. Use **Interactive Sync** to review changes before applying them.

Playback position and resume syncing are unsupported. History has no individual watch events. Specials and rewatches are skipped.
{% endhint %}

### Troubleshooting

* Check your Kitsu email or username and password if sign-in fails.
* Click **Save** before leaving when the status says **Connected - save settings to apply**.
* Sign in again and save the connection if Kitsu asks you to reconnect.
* Enable Anime ID Mapping and verify its data is available if titles or episodes are skipped. Add a custom mapping for missing or incorrect title and episode ranges.
* Check for later watched episodes when history removal is unresolved. Kitsu stores one episode count and cannot represent gaps.
  {% endtab %}

{% tab title="Power users" %}

## Power users

### Config keys

Stored under:

* `kitsu.*` for the default connection.
* `kitsu.instances.<instance_id>.*` for additional connection profiles.

CrossWatch manages the access token, refresh token, token expiry, and account identity. The Kitsu password is not stored in the configuration.

Anime matching settings are stored under `anime_mapping.*`.

### Related docs

* [Anime ID Mapping](/crosswatch/settings/connections/metadata/anime-id-mapping.md)
* [Profiles](/crosswatch/settings/connections/profiles.md)
* [Watcher](/crosswatch/settings/scrobbler/watcher.md)
* [Webhooks](/crosswatch/settings/scrobbler/webhooks.md)
  {% endtab %}
  {% endtabs %}


---

# 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 dynamically 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/trackers/kitsu.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 `build a script that syncs our docs to a CMS` 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.
