v0.1 is in testing · not released yet

Press play.
The little tiger keeps count.

Kotora is a native anime tracker for Linux and macOS. It notices the episode playing in mpv, VLC, mpc-qt or IINA, and asks once before it updates your MyAnimeList.

Free and open source (GPL-3.0) · Rust, GPU-drawn · a tribute to Taiga

Kotora Synced 2 min ago
LK Playing in mpvLanterns of Kirigaoka · episode 6 · 61%
LK Watching Lanterns of Kirigaoka ep 682% watched · matched in your list Update to 6 / 12?
Recorded episode 6Lanterns of Kirigaoka · waiting to sync
Okay, not now.kot confirm still records it later.
Watching12Progress
  • LK Lanterns of KirigaokaAiringWaiting to sync 56 / 12 +1
  • SD Starfall Delivery ServiceAiringEp 9 on Wed 8 / 13 +1
  • MS Mikan Street DetectivesFinished airing 7 / 24 +1
  • SL Slow Life on Hoshizora IslandAiringEp 4 on Sun 3 / 12 +1

A live sketch of the app in HTML. All titles are made up.

EP 01How it works

No typing. No forgetting.

You watch the way you always do. Kotora sits in the background, sleeps until a player says something, and speaks up once the episode counts as watched.

  1. Press play

    Open a file in your own player. Kotora doesn't play anything and doesn't need you to change how you watch.

    $ mpv "[Hoshi] Lanterns of Kirigaoka - 06 (1080p).mkv"
  2. Kotora notices

    It reads the file name, finds the show in your list and shows you why it matched. At 80 % watched (you choose), it asks.

    → Lanterns of Kirigaoka · episode 6 · in your list
  3. One click, recorded

    Press Update, or run kot confirm. The change lands at once and goes to MyAnimeList, now or when you are back online.

    ✓ 6 / 12 · Watching · synced

EP 02Try it

Messy file names are fine.

Release names come in every shape. Kotora reads them with anitomy-ng, a Rust take on anitomy, the parser by Taiga's author. Paste one below, or pick an example.

Title
Mecha Bento Club
Episode
11 (version 2)
Season
–
Group
Tsukimi-Subs
Resolution
720p
Other
CRC A1B2C3D4 · mkv

Next, Kotora looks for Mecha Bento Club in your list. No match? One rate-limited MyAnimeList search, cached for 30 days.

A toy: a few dozen lines of JavaScript that run in your browser and send nothing. The app uses the real anitomy parser and also checks folder names and seasons.

EP 03Features

Small app, sharp claws.

Everything v0.1 does, and nothing that gets in your way.

It asks first

Kotora never touches your list behind your back. If you trust it, switch on automatic updates: an unsure match still asks, and every automatic update has Undo.

Update automatically

Off by default. Kotora asks every time.

Offline-first, never silent

Your list opens from a local cache. Changes land at once and wait in a queue you can see. If MyAnimeList disagrees, you pick.

  • WaitingMecha Bento Club4 → 5
  • ConflictMikan Street Detectivesyours 7 · MAL 8
  • SentStarfall Delivery Service8 / 13

Native and light

Rust and a GPU-drawn UI. No Electron, no web view, no background timers.

binary
< 30MB
CPU at rest
0.00s/min
kot status
2ms

Measured in testing; budgets are checked at every stage.

Recognition you can read

Every match says why. If it guessed wrong, "Wrong anime…" offers the closest titles and remembers your pick.

● In your list (Watching), sure: same title in your list

● Not sure: close to a title in your list (95 %)

It finishes the show

Record the last episode and the entry becomes Completed. Start a Plan to watch show and it moves to Watching.

Watching → Completed 12 / 12

Your service

  • MyAnimeListv0.1
  • AniListv0.2
  • Kitsu, Shikimorimaybe later

The service keeps your list. Kotora only keeps a cache and a queue.

EP 04Players

Bring your own player.

Kotora listens to the players you already use. Most work as they are; mpv needs one line.

  • mpv

    Its IPC socket, or MPRIS with the mpv-mpris plugin.

    input-ipc-server=$XDG_RUNTIME_DIR/mpv.sock
    LinuxmacOS
  • VLC

    MPRIS on Linux, nothing to set up. On macOS, its web interface with a password you choose (opt-in).

    LinuxmacOS
  • mpc-qt

    The MPC-HC look on Linux. MPRIS, nothing to set up.

    Linux
  • IINA

    mpv inside: add the IPC socket under Advanced, "additional mpv options".

    macOS
  • Haruna, Celluloid and friends

    Any MPRIS player that tells the desktop which file it plays.

    Linux
  • Streaming sites

    Not Kotora's job: use the MAL-Sync browser extension.

    Browser

EP 05The app

Night navy, one orange button.

Real screenshots of Kotora 0.1, drawn by the app itself from made-up data. Orange means "act here", and there is only ever one.

Kotora's list with an orange banner on top: Watching Lanterns of Kirigaoka episode 6 in mpv, update to 6 of 12?
The banner: an episode counts as watched, Kotora asks. Update, Not now, or Wrong anime…

EP 06kot, the command line

Your list, from the terminal.

kot talks to the running app over a Unix socket, so scripts, key bindings and status bars can do everything the window does.

  • kot nowwhat's playing, and what Kotora thinks it is
  • kot confirm dismissanswer the banner
  • kot +1 <title>one more episode
  • kot set <title> <ep>also --status and --score
  • kot list [status]your list as text
  • kot queue syncsee the waiting changes, send them

EP 07Privacy

Your list stays yours.

Kotora is a client for your own account and nothing more. No server of ours sits in between.

  • Never your password

    You sign in on MyAnimeList's own page in your browser. Kotora gets a token, not your password.

  • Token in a 0600 file

    Readable by your user only. Never in the database, never in logs.

  • No telemetry

    No analytics, no crash uploads, no accounts of ours. This website has no trackers either.

  • The service is the source

    Your list lives on MyAnimeList. Kotora keeps a cache and a queue, only as long as it needs them.

EP 08A thank-you

Thanks, Taiga.

For years, Taiga has been the anime tracker on Windows: it notices what you play, asks, and keeps your list honest. So many of us learned to track anime that way that it felt strange to lose it when we moved to Linux or a Mac.

Kotora brings that idea home, written from scratch in Rust. The name is our small bow: 小虎, ko-tora, a little tiger following a big one.

On Windows, use Taiga. Its developers are working on a cross-platform v2 too, and we cheer for it.

Kotora is an independent project. It is not affiliated with or endorsed by Taiga or its developers, MyAnimeList or AniList.

EP 09Install

Almost there.

Honest status: v0.1 is built and in testing. Nothing to download yet. Here is where it stands.

Kotora v0.1 In testingNext: release
  1. Skeleton
  2. MyAnimeList
  3. Edits & queue
  4. Detection
  5. Release
4 / 5

Arch Linux

AUR

$ yay -S kotora

Coming with v0.1 The package isn't published yet.

Any Linux

From source

$ ./install.sh

When the repo opens Builds with Cargo and installs the app, kot and the desktop entry.

macOS

DMG

Kotora.dmg

v0.2 It already builds and runs on macOS; packages come later. AppImage too.

You'll sign in with MyAnimeList. Kotora needs a free MAL API Client ID; the first screen shows where to put yours if your build doesn't have one.

Kotora is free and always will be. If it saves you a few clicks every episode, you can buy the tiger a coffee on Ko-fi.

EP 10FAQ

Questions, answered.

The last episode. Kotora would mark this page as Completed now.

Is Kotora a fork of Taiga?

No. Kotora is written from scratch in Rust for Linux and macOS. It borrows Taiga's idea (notice what you play, ask, keep your list honest) and its name is a nod to it, but it shares no code and is not affiliated with Taiga or its developers.

Which list services does Kotora support?

MyAnimeList in v0.1. AniList comes in v0.2. Kitsu and Shikimori may come much later.

Does Kotora change my list without asking?

No. By default it asks every time. You can switch on Update automatically in Settings; even then an unsure match still asks, and every automatic update can be undone.

Does it work offline?

Yes. Your list opens from a local cache, edits land at once and wait in a visible sync queue until MyAnimeList can be reached. Conflicts are shown side by side, never dropped silently.

What about streaming sites in the browser?

Use the MAL-Sync browser extension. Kotora tracks local players and does not read streaming sites.

Does Kotora download or play anime?

No. Kotora tracks what you watch in your own player. It does not play, stream or download video.

Is there a Windows version?

No. On Windows, use Taiga, the tracker that inspired Kotora.

Is Kotora free?

Yes, free and open source under the GPL-3.0, with no ads, accounts or tracking. If you'd like to help, there is a Ko-fi page; it is entirely optional.

Where are my password and token kept?

Kotora never sees your password: you sign in on MyAnimeList's own page in your browser. The access token is kept in a file only your user can read (mode 0600), never in the database or in logs.

When can I install it?

Version 0.1 is built and in testing. It will be released for Linux (AUR and an install script) when the live tests pass. There is no date yet. macOS packages come with v0.2.