Skip to content

v3.3.8

Choose a tag to compare

@github-actions github-actions released this 04 Oct 20:55
· 48 commits to main since this release
d84299f

Released 2026-10-05.

One Line: Resets can no longer be lost to a slow confirmation, and provider cards follow what you actually use.

Fixed

  • A Codex reset can no longer be spent without Toki noticing. Toki gave Codex about 10 seconds to confirm a redeem, then stopped the request and reported a failure. A slow confirmation could still spend the reset on OpenAI's side. Toki now waits up to 45 seconds, and if it gets no answer it retries once with the same request key. Codex then reports the first attempt's result instead of spending a second reset.
  • Toki checks that a Codex reset is available before redeeming. It reads the live reset count from Codex first and stops if none is left, instead of relying on the card's last refresh.
  • Redeeming a reset now updates the card. If Toki was already refreshing when a reset was redeemed (opening the popover starts a refresh), the follow-up read was dropped or given up on after 10 seconds. The card then kept the old limit and the reset badge, although the reset was already spent. The read now always runs as soon as the current refresh ends, for Claude and Codex. It also runs after a failed redeem, because a request that fails on the Mac can still spend the reset on the server.
  • The Claude reset badge only shows for a reset that can be redeemed. Anthropic accepts a claim only on the grant it names as next. When it named no grant, or a grant that was not usable, Toki still showed the badge and sent a claim that Anthropic could only refuse.
  • The Remote Control app no longer says a reset was redeemed before it was. The phone showed "Reset redeemed" as soon as it passed the request to the Mac. It now says the reset was sent, and the usage panel shows the result.
  • Provider cards are ordered by what you actually used last. Codex never had a last-used time, and Claude only had one while a claude process was running. Any provider with an old timestamp, such as fx or OpenCode, sorted above them. Claude and Codex now read their last activity from local session files, and activity older than 7 days no longer affects the order.
  • A background opencode serve or opencode web process no longer counts as an active OpenCode agent. It kept OpenCode marked active and pushed it up the list.
  • Switching update channels no longer fails because of an unrelated Homebrew tap. Toki refreshes Homebrew before switching between the toki and toki-beta casks, and brew update fails if any tap on the Mac is broken, for example one whose GitHub repo was deleted. That failure now only gets logged, and the switch continues with Homebrew's auto-update turned off, so the download and the install still use the same version.

Added

  • Report a bug in Settings. Toki saves a debug report with the last 30 days of logs, then offers to email it to toki@aashutosh.dev or open a GitHub issue. The report leaves out credentials, prompts, file paths and account settings.
  • The update banner says why to update. It shows the release's one-line summary instead of a generic "Install the latest GitHub release". Its What's New and Update buttons are also slightly taller and easier to hit.
  • Every failed API request is now written to the local log (~/.toki/logs), along with rate-limited, offline and signed-out usage reads. Logs and saved reports older than 30 days are deleted automatically.

Full Changelog: v3.3.7...v3.3.8