Skip to content

Releases: Nanako0129/Syrtis-Windows

Syrtis for Windows 1.3.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 16:20
a1fb94e

Syrtis v1.3.0

The tray tooltip names the length of the window it follows.

  • When the length of the tracked quota window is known, the tray tooltip shows it after the window's name, for example "Session (5h)" or "Weekly (7d)". While a window's length is still unknown, the tooltip reads as before. (#253)

Syrtis for Windows 1.2.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 17:04
6fbae50

Syrtis v1.2.0

Syrtis now shows DeepSeek Harness (DSH) usage.

  • Syrtis reads DSH's session logs under %USERPROFILE%\.dsh\sessions. DSH usage appears on its own DeepSeek Harness tab, with the DSH app icon. There is no limits card for DSH.

Thanks @kizaki-R for the engine support (tokscale-core#66).

Syrtis for Windows 1.1.0

Choose a tag to compare

@github-actions github-actions released this 10 Oct 00:45
3207dad

Syrtis v1.1.0

Syrtis can now download your Cursor usage from the signed-in Cursor app, without the tokscale CLI. Grok Bot usage that Cursor bills moves from the Cursor tab to Grok Build & Bot, and Cursor usage saved by the current tokscale CLI is now counted.

Cursor usage sync

  • Turning it on. When the Cursor app is installed, an Overview card asks once: Continue turns sync on, Turn Off leaves it off. Settings → General → Cursor usage sync has the same switch. Nothing is read or sent until you answer.
  • What it reads, sends and keeps. Syrtis reads the Cursor app's login on this PC and sends it only to cursor.com's usage service. For each request it keeps the date, model, token counts, cost and conversation ID on this PC, under %APPDATA%\com.nyanako.tokenbar (or com.nyanako.tokenbar.secure), in a folder only your Windows account and SYSTEM can open. The login itself is never saved or logged.
  • When it runs. At launch, then every 30 minutes, or right away with Sync Now. If the Cursor app has not run for a while its login expires; Syrtis then says so and sends nothing; after you open Cursor, the next sync works again.
  • If you already use tokscale CLI. Syrtis keeps showing the CLI's Cursor usage and asks in Settings whether to use its own sync instead. Choose that only for the same Cursor account; Keep tokscale CLI Data undoes it.
  • Turning it off deletes the downloaded usage. If a file can't be deleted, Settings says so, and restarting Syrtis tries again.

Thanks @whes1015.

Grok Bot usage

  • Cursor usage events from Grok Bot (models named grok-bot…) now count under Grok Build & Bot instead of Cursor, whether they come from this sync or from a tokscale CLI cache. Unless one of those two tabs is hidden, all-time totals don't change. Cursor files are read again once after updating.
  • In Usage Attribution, these rows are suggested as Grok Bot's own plan.
  • If you have hidden the Cursor tab, Overview now includes Grok Bot usage; hiding Grok Build & Bot hides it.
  • With only the Grok Bot app installed (no Cursor app, no tokscale CLI cache), Syrtis can show Grok Bot's quota (once you allow its sign-in) but not its usage: the usage comes from Cursor, through the Cursor app's login or the CLI's cache.

Also in this release

  • Cursor usage that the current tokscale CLI saves as usage.json is now counted; before, only the older usage.csv was read.
  • Antigravity: when agy's current account is one you have captured, the main Antigravity card is filled from that account's own login and agy is not started; the card reads OAUTH. With automatic capture on, each refresh of agy's sign-in is captured again and the card goes back to OAUTH. With it off, a capture lasts until agy next refreshes its sign-in (usually within an hour), and then the card runs agy again (AGY).
  • Antigravity: if the main card fails while agy's current account is a captured account that works, that account's card takes its place instead of an error.
  • A card with an error and no windows to show now has just its red line, without empty "No data" rows under it.
  • The update dialog's icon is sharp at 100%, 150% and 200% display scale.

Syrtis for Windows 1.0.0

Choose a tag to compare

@github-actions github-actions released this 06 Oct 19:56
ad9cc8b

Syrtis v1.0.0

Within what v1 covers, the Windows app has caught up with the macOS app: more quota sources and accounts, a window card that places each window the same way, and the same keyboard shortcuts. The changes you are most likely to notice from v0.6.0: Ctrl+1–9 and Ctrl+[ / ] now switch between Overview and the client tabs instead of between lenses; setup cards appear once on the Overview in place of the Discord card that used to open at startup; and agy started by Syrtis no longer updates itself.

More quota sources and accounts

  • Claude Desktop. When Claude Desktop is signed in, its account gets its own quota card. If it is the same account as your Claude Code login, the two show as one card. Syrtis does not renew Desktop's sign-in; when it expires the card says so.
  • More than one Claude account. Settings → General → Claude accounts → Add config dir… adds a Claude Code config folder. Each folder gets its own quota card, its usage counts toward your totals, and its window usage stays with that account. Folders on a drive letter work, including a mapped network drive; \\server\share and WSL paths can't be added.
  • A Claude setup-token without restarting. CLAUDE_CODE_OAUTH_TOKEN is read from your Windows environment variables on every refresh, so setting or removing it takes effect at the next refresh. A token set only in one terminal's session is no longer picked up.
  • Kiro, read from the Kiro IDE sign-in.
  • OpenCode Go, with its rolling, weekly and monthly windows on the OpenCode tab.
  • Grok Bot. Its weekly quota now appears, and Grok Build and Grok Bot share one "Grok Build & Bot" tab. When the Grok Bot desktop app is signed in, its sign-in is used only after you press Allow on its card; when it is signed out, Syrtis reads the Cursor IDE sign-in instead. Settings → Dashboard → Agent limits → "Use Grok Bot's sign-in" takes that permission back. Either answer refreshes the card and the tray right away.
  • Antigravity accounts. Settings → General → Antigravity accounts → "Capture current agy login" stores agy's current account in Windows Credential Manager. While agy is still on that account it shows on the main Antigravity card; once agy switches to another account, the captured one gets a card of its own. Capturing every account agy signs in to is a separate switch and is off until you turn it on. A captured account on a paid Google AI plan shows the plan's name instead of "Free".
  • The OpenCode tab shows the subscriptions opencode routes through, such as Codex and Copilot, under "↔ Routes through opencode". Switching off opencode's own card keeps those cards.

The window card and the Quota lens

  • Account pills. When a client has more than one account with a live window, pills above the window tabs switch between them, and the choice is remembered. The main account's pill shows its email when known.
  • Model-only weekly limits, such as a Claude weekly limit for one model, now appear, and their bars and history count only that model.
  • Windows are placed the way macOS places them. A window that has ended no longer stays on screen as "Resets in now". After a reset the card says "Placing the window…" until your local usage has been read, then shows the window as idle or as an inferred window starting at your first message. A client on its first window fills in its usage bars without waiting for a recorded window.
  • When Syrtis can't tell which local usage belongs to an account, its card says "Local usage can't be attributed to this account yet." instead of showing another account's numbers.
  • When the window's quota report has an error, the window card shows that error instead of the last windows it had.
  • The history strip and heatmap say "Quota history could not be read" only when the latest read failed and the client has no window drawn, and they leave out clients whose tab or Agent limits card you have hidden.
  • Right after Syrtis starts, before the first quota refresh, these cards show your saved history (hidden clients excluded) instead of waiting empty.

The Agent limits card

  • Codex, Claude, Gemini, Grok Build and Grok Bot get a card before their first reading ("Checking…", then "No data"). An unconfigured Claude card explains how to set it up, with commands you can copy.
  • Cards follow your tab order; on the Overview, drag a card by its ⠿ handle to reorder both. Each card shows the account's email and plan under its name and a status badge, and a window with enough history gets a trend arrow.
  • A card that fails to refresh keeps its last bars under the error.
  • Settings → Dashboard → Agent limits has a switch for each client's card, and "Show Agent limits card" turns the whole card off.

Dashboard and tray

  • Keyboard: Ctrl+1 opens Overview and Ctrl+2–9 the client tabs in order; Ctrl+[ and Ctrl+] step to the previous and next tab. Hold Ctrl to see the numbers on the tabs. Ctrl+G cycles the Token Usage card through Bars, a full-year Heatmap, and 3D. Lenses are picked with the lens buttons.
  • Drag a client tab in the flyout to reorder the tab row.
  • First-run setup cards on the Overview walk through agents on this PC, the menu-bar icon and text, pace, usage attribution, start at login, and Discord. "Skip setup" dismisses them. The Discord card only opens Settings; Discord stays off unless you turn it on in Settings → General → Discord.
  • Settings → Dashboard → Overview cards hides individual Overview cards.
  • Sand shoal, a new tray icon style (Settings → Menu bar → Tray icon), and a Light / Moderate / Heavy animation pace. A tray reading older than 30 minutes turns grey, and a quota source that stops reporting shows a crossed-out gauge instead of its last percentage.
  • The header shows the Syrtis mark and wordmark, the footer names the open lens, and a small light beside the live rate flickers while tokens flow.
  • The Models lens shows each model's share of cost and its input / output / cache split. Expanding a day or month lists one row per model.
  • After a cold start the dashboard shows your last data, up to 90 days old, until the fresh scan arrives; the Refresh button's tooltip says how old it is (for example, "2d ago").

Also in this release

  • agy started by Syrtis for the Antigravity quota now runs with its auto-update turned off, so it no longer starts agy's background updater, which could open a Windows Terminal window. agy you run in a terminal still updates itself.
  • The usage engine is updated. It adds ZCode, Augment Code, Hindsight, Muse Code, Reasonix, Kimchi, Senpi and Oh My Pi (counted separately from Pi), counts Kimi Work sessions as Kimi, and recovers Pi transcripts it used to skip, so Pi, Oh My Pi and Kimi totals can change. It prices Kiro credits and corrects model prices: Claude Fable 5.1 and Claude Opus 5.5 cost about a sixth less, while some models now charge for cache writes.
  • Syrtis no longer turns on Windows Efficiency Mode for its tray icon, which had put the whole app at idle priority.
  • A clock that jumped backwards no longer erases quota history; only readings stamped in the future are dropped.
  • Long model names and account labels are shortened in the middle, hover tooltips stay inside the visible area, and card headers no longer cut a long window name first.
  • More Simplified and Traditional Chinese translations, the app's own name in place of "TokenBar" in a few messages, and About now credits CodexBar and RunCat.

Syrtis for Windows 0.6.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 22:48
59d6e97

Syrtis v0.6.0

This release brings Windows level with the macOS app's screens, adds Simplified Chinese, and adds an opt-in Discord status. The Discord status stays off unless you turn it on; the usage engine update and the other fixes below apply on their own.

Show today's usage on Discord

Syrtis can now show what you have been building today on your Discord profile, the way games show what you are playing. It is off until you turn it on, in Settings → General → Discord.

  • You choose what appears: today's tokens, the tool you used most (or one tool you pick), and your spend as a range such as $10–50. Exact whole-dollar amounts are a separate opt-in, and cents are never shown.
  • Tools you have hidden from the tab row never appear, not even in the totals.
  • Anyone who can see your Discord profile can see it. Turning it off stops further updates; it cannot take back what was already shown.
  • A short card introduces the feature once. It only opens Settings; nothing is turned on for you.

New to the screens

  • Brand icons for Claude, Codex, Copilot, Antigravity, Grok and other tools, on the tab row, the Agent limits card, the past-windows list and the Settings tab list.
  • A Chart layout for the Agent limits card (Settings → Dashboard → Agent limits → Layout: Chart). Each window is drawn as a curve over time with the pace estimate as a second line. Windows without recorded history keep the bar.
  • API-list-price equivalent on the Stats page, split by the subscription each tool is counted toward, with "Not a subscription" and "Unassigned" shown separately.
  • Font color for the tray value (Settings → Menu bar → Font color). Pick your own colors for normal, low and very low remaining quota, from 16 presets or any hex value.
  • Simplified Chinese (简体中文) as a language option.
  • A new app icon with the same shape and soft shading.

Also in this release

  • The usage engine is updated. Where you have the data: OpenCode 2.x usage now appears, OpenClaw archives are counted and its checkpoints are no longer counted twice, Grok usage is kept when a log has a damaged line, Cursor cache-write tokens are counted separately, a Cursor row reported at $0.00 shows $0, and Cline 4.x is priced under its real model. Claude and Codex figures do not change. The first scan after updating takes longer while those tools' records are read again.
  • A Codex sign-in is now refreshed when its access token is about to expire, not only once it is eight days old.
  • When GitHub is rate-limiting update checks, Settings says so instead of a generic "Could not check for updates."

Syrtis for Windows 0.5.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 02:55
e1c3e28

Syrtis v0.5.0

Read this before updating: once v0.5.0 has run, going back to v0.4.1 or earlier empties your quota history. Details below. There is no reason to go back, but if you install an older copy over this one, that is what happens.

Quota history that no longer falls apart

The Quota lens learns how fast you spend each window from its own history. On Windows that history kept splitting: every time a sign-in refreshed its token, Syrtis started a new, empty history for the same account. On a real machine, one Claude account had been split into more than a dozen separate histories, and the window history card showed a single cycle while weeks of cycles sat where it could no longer reach them.

This release fixes it:

  • History now stays with you across token refreshes. It is keyed to your subscription, not to the current sign-in token.
  • The pieces are merged back once, on the first run. Cycles recorded before this update reappear in the window history card.
  • A damaged history file is repaired instead of freezing. Previously one bad entry could stop every later reading from being saved.

This brings Windows' quota engine back in line with the macOS build, which had moved ahead.

Two things change as a result:

  • No going back. The history file is upgraded to a new format the first time v0.5.0 saves to it. An older Syrtis cannot read that format; it sets the file aside and starts an empty one.
  • Claude, Copilot and Grok keep one history per computer, not one per account. If you switch between two accounts of the same service on one Windows install, their quota history is shared. Codex and the Antigravity IDE still keep accounts apart. This matches the macOS build.

Tabs for every subscription you have

The tab row used to list only tools with usage recorded on this computer. It now also lists services you are signed in to that only report a quota, such as GitHub Copilot, so their Quota lens is one click away. A service you are not signed in to does not get a tab.

Antigravity's IDE and command-line tool now share one "Antigravity" tab, since they draw on the same subscription. Your earlier tab order and hidden tabs carry over.

Also in this release

  • Hovering a row in the window history now breaks its tokens down into input, output, cache read, cache write and reasoning; hovering one of its models does the same for that model. Rows light up under the pointer like the other lists.
  • The Session and Weekly tabs on the window card stay in a fixed order. Previously Weekly jumped to the front whenever no session was running.
  • Syrtis now finds the Antigravity IDE's sign-in client in its Windows install. It needs that client to refresh an expired Antigravity sign-in, and it looked only in the macOS location before.
  • An Antigravity or Codex sign-in file that exists but cannot be read is reported as unreadable, not as "not logged in".
  • Grok's weekly allowance is read from the shared credit pool it is spent from, not from a single product's row, which could disagree with it.

Syrtis for Windows 0.4.1

Choose a tag to compare

@github-actions github-actions released this 23 Sep 18:15
5bb3b2e

Syrtis v0.4.1

Two fixes. No engine change, so no cache rebuild.

Antigravity quota for people signed in through the agy CLI

If you signed in to Antigravity only through the agy command-line tool, Syrtis said "Antigravity is not logged in" even though you were. It looked for your sign-in where the Antigravity IDE keeps it, and agy keeps it somewhere else.

Syrtis now asks agy for your quota directly, and the Agent-limits card shows the Gemini and Claude/GPT windows that agy's own /usage screen shows.

It only does that when agy is installed and you are signed in to it. A signed-out agy opens a Google sign-in page in your browser when asked for anything, and Syrtis checks every few minutes — so it checks for your saved sign-in first and leaves agy alone when there is none.

If a check through agy fails, Syrtis stops trying and the card says so, rather than retrying every few minutes. Restart Syrtis, or sign in to agy again, to retry.

Also in this release

  • The Daily and Monthly lists ended every row with the same note about which clients the turn count covers ("Claude + Codex only"). It is now a single line above the list.

Syrtis for Windows 0.4.0

Choose a tag to compare

@github-actions github-actions released this 22 Sep 22:30
fbc5a80

Syrtis v0.4.0

A smaller release than v0.3.0, mostly about cost figures that were shown with more confidence than they had. No engine change, so there is no cache rebuild and no slow first launch this time.

A model with no price now says so

A model the pricing table does not know used to show $0.00, which reads as "this cost nothing". It now shows —. A cost that is real but smaller than a cent now shows <$0.01 instead of rounding down to $0.00.

This applies everywhere a cost is shown: the Models rows and their hover cards, the drill-down, the Agents lens, the Hourly view, the day tooltips on the charts, the tray tooltip, the Attribution page and the Quota summary.

A reported cost the local price table cannot explain is flagged

Some clients report their own cost rather than leaving it to Syrtis to price. When a client's reported cost for a model is more than 50 times what the local price table would charge for the same tokens, the Models row shows an amber warning icon beside the cost, and its hover card states the multiple.

The figure itself is not changed. Syrtis cannot tell which of the two numbers is wrong, only that they cannot both be right.

Quota history goes further back

The window history on the Quota lens showed the most recent 12 cycles and stopped. It now has a Show more button that extends it to 32.

No more internal codes on the Quota lens

When a live quota read fails — most often because a sign-in has expired — the window cards used to fall back to internal identifiers such as session.v1. They now show a readable name derived from the same key.

Also in this release

  • A copy installed through Scoop no longer answers Check for updates with "Could not check for updates", which pointed at a network fault that was not there. It now says updates are handled by whatever installed it — scoop update syrtis.
  • The installer now records the publisher as Nyanako rather than the package identifier.
  • THIRD-PARTY-NOTICES.md now ships inside the app, and the repository is MIT licensed.

Syrtis for Windows 0.3.0

Choose a tag to compare

@github-actions github-actions released this 12 Sep 21:24
62cb5a5

Your numbers will change when you update, and your first launch will be slow. Both are expected. Some token counts move as well as cost, and they move because the old ones were wrong. Details below.

The Quota lens

A new Quota view, and the largest addition since this port began.

It shows what each of your subscriptions has left and how fast you are spending it: an overview strip and heatmap across every provider, then per-client window and history cards for the one you select, plus the Agent-limits card.

Behind it is a usage-attribution subsystem. Local session usage does not say which subscription paid for it — a Claude Code session could be on your Pro plan or on API credit, and nothing in the transcript records which. Settings now has an Attribution page where you declare that once, and the Quota lens counts accordingly.

Your cost figures were wrong, and are now less wrong

This release advances the shared parsing engine by 60 commits. Six of them change numbers you have already seen:

  • Codex reasoning tokens were priced twice. They are reported as a subset of output tokens, and were being charged as both.
  • Claude tool_result input tokens were estimated from character counts rather than counted.
  • Claude 1-hour cache writes were billed at the 5-minute rate. Anthropic charges 2x base input for the 1-hour TTL where a 5-minute write is 1.25x.
  • A model priced through the fallback table could report different costs on two runs over the same data. Candidates of equal length were taken in hash-iteration order.

Two of those change token counts, not just cost:

  • Claude input falls, because tool_result tokens were being estimated from characters and are now counted. Estimation ran high.
  • Codex output falls, because reasoning tokens were being carried in the output bucket and the reasoning bucket at once. They are now in one.

The rest change cost only. The overall direction is worth stating plainly: Syrtis was under-counting what you spent. It is not charging you more now — it was charging you too little before.

If you keep your own records, expect totals from before and after this update not to line up. That is the correction landing, not a new defect.

The quota equivalence line was 12x wrong

The line reading "this window's usage is worth about n of your allowance" divided by the wrong thing. It measured the difference between the first and last quota reading, which collapses to nearly nothing across a reset while the usage above the line keeps counting every message in the span.

Measured on real data, it was off by a factor of 12. It now measures the distance the readings actually travelled.

The heatmap card on the same view was already computing this correctly, so before this release the two cards disagreed with each other about the same window.

Codex Spark's two windows are finally distinguishable

Codex Spark's 5-hour and weekly allowances arrived with identical labels, so the tray's quota-source menu offered two entries you could not tell apart — and selecting one gave no indication which you had chosen.

They are now qualified by length: Codex Spark · Session and Codex Spark · Weekly. When the provider withholds the length — which is exactly what happens on a fresh window reporting 100% remaining — the qualifier falls back to that row's own reset countdown.

One slow launch after updating

The engine changes require rebuilding the parse cache, so the first launch after this update takes noticeably longer. Subsequent launches return to normal.

No history is lost. The old cache format is migrated rather than discarded. That distinction matters most for Claude: once a conversation has been compacted, the cache holds the only copy of the turns that were rewritten out of the transcript.

Also in this release

Full Traditional Chinese interface — the tray, dashboard, settings, number formats and time phrasing, selectable in Settings.

Reworked Settings window with sidebar navigation, and the new Attribution page.

A Monthly view, alongside Daily and Hourly.

Install wizard and in-app updates — check for updates, watch the download, restart to apply.

New clients: Junie and OCR.

A new application icon.

Fixes: horizontal scroll wheel in the dashboard; tray icon cropping and padding; flyout shortcut cycling; partial cost-coverage display; four quota cards that printed $0.00 for usage with no price attached, where they now show a dash; the Models view listing one model several times because provider-split rows were never folded, which also meant Stats could name a provider shard as your favourite model; the Overview lens ignoring which client tab you had selected; and client names carrying a form factor they do not actually describe — Cursor IDE became Cursor, because that row covers IDE, agent and cloud usage alike.

Known limitations

Present on the macOS build, not yet here: Discord Rich Presence, per-client tray items, Simplified Chinese, menu-bar font colour, the flat-heatmap chart mode, agent brand icons (clients render as coloured discs), the Agent-limits sparkline and chart layout, the Stats attribution-breakdown card, and support for multiple Claude accounts.

Channels

Four installers: win-x64, win-x64-lite, win-arm64, win-arm64-lite. Full bundles the .NET 10 runtime and is the safe choice. Lite acquires it at install time and is only smaller if your machine already has .NET 10. A channel cannot be switched after installing without uninstalling first.

Syrtis for Windows 0.2.2

Choose a tag to compare

@github-actions github-actions released this 08 Aug 23:34

Syrtis v0.2.2

If you are on 0.2.0 or 0.2.1, you must uninstall and reinstall. Automatic update will not reach you, and it will not tell you that — it reports no update available. See "Updating from an earlier version" below.

The reason this release exists

v0.2.1 does not work on a machine that has never had the Visual C++ Redistributable installed. It installs, it opens, and then it never shows any data. The dashboard spins indefinitely, the tray falls back to a static icon, and nothing anywhere in the interface says why.

The native library that reads your usage data was linked against vcruntime140.dll, which ships with the Visual C++ Redistributable rather than with Windows. Machines that have ever installed a game, a developer tool, or a great deal of ordinary desktop software already have it, which is why this went unnoticed. A freshly installed Windows does not.

The library now links the C runtime statically and has no such dependency. Verified by installing on a clean Windows 11 with no redistributable present, on both x64 and ARM64.

Also fixed

The app would not open at all when built from recent source. A payload-trimming change removed WinUIEdit.dll, which the XAML runtime loads while constructing the window. This never reached a published release, but it is fixed here.

Tray startup no longer gives up after half a second. At logon the notification area can take several seconds to accept an icon. The retry budget is now a ten-second monotonic deadline rather than five quick attempts, and exhaustion exits visibly rather than leaving an invisible process.

Hover feedback on the dashboard highlights the element a card describes — the bar, the model row, or the per-model row inside an expanded day — instead of leaving you to guess.

New: Lite installers

Alongside the standard installer there are now -lite builds. They omit the bundled .NET runtime and fetch it during installation instead.

Standard Lite
Download 79 MB (x64) / 76 MB (ARM64) 47 MB (x64) / 45 MB (ARM64)
.NET runtime included installed on first install
Network needed to install no yes, if .NET 10 is absent

On a machine that does not already have .NET 10, Lite's smaller download plus the runtime it fetches comes to roughly what the standard installer costs, so Lite is not a saving for most people — it is worthwhile if you already have .NET 10 or expect to install other .NET applications.

Use the standard installer unless you have a specific reason not to. Standard and Lite cannot update to one another; switching means uninstalling and reinstalling.

Updating from an earlier version

The package identity changed in this release so that installed files and folders carry the product name. An unfortunate consequence is that 0.2.0 and 0.2.1 cannot update to 0.2.2. They will check for updates, find nothing they consider valid, and report that you are up to date.

To move to 0.2.2:

  1. Uninstall Syrtis from Settings → Apps
  2. Delete %LocalAppData%\Nyanako.TokenBar if it remains
  3. Install 0.2.2 from below

Your settings live in %AppData%\TokenBar\settings.json and are not touched by this.

Updates from 0.2.2 onward work normally.

Known issues

Slow first launch on some networks. The first data refresh waits on a network connection that has no timeout of our own. If your network resolves IPv6 addresses but cannot route them — common on hotel and cafe WiFi, some home routers, and some VPNs — the dashboard can spin for 20 to 30 seconds before showing anything. It does eventually work. This is not new in 0.2.2; it is tracked in #39.

Unsigned. Windows SmartScreen will warn on first run. Choose More info → Run anyway. Code signing is planned but not in this release.

ARM64 is less exercised than x64. The ARM64 build has been installed and verified on a clean ARM64 Windows 11, but it has far less real-world use behind it.

Which file do I want

Machine File
Intel or AMD, standard Nyanako.Syrtis-win-x64-Setup.exe
Snapdragon or other ARM, standard Nyanako.Syrtis-win-arm64-Setup.exe
Same, but you already have .NET 10 the matching -lite-Setup.exe

If unsure, take the x64 standard installer.