Skip to content

Releases: andrewbakercloudscale/claude-burst

v0.20.40

Choose a tag to compare

@andrewbakercloudscale andrewbakercloudscale released this 23 Oct 19:19

Fixed

  • Codex tab said "Codex uses its own model provider claude-burst" while Codex was going through Burst. The Codex app rewrites ~/.codex/config.toml when a setting changes, dropping Burst's markers; Burst now recognises its own provider in that form, and enable, disable and codex-unroute.sh handle it.
  • Codex error rate counted ChatGPT closing an idle WebSocket at 60 minutes (websocket_connection_limit_reached) as failed turns, up to seven at once. These are now logged only, and old entries no longer count.
  • Codex Desktop's model-list polls while this Mac was offline filled the failures list, five rows per outage. Offline is now recognised (chatgpt.com and a control name both fail to resolve, or no route), kept out of failures, and turns sent while offline are recorded as offline. A filter blocking only ChatGPT still shows as a failure.
  • The in-session "Burst dashboard not answering" toast fired on one slow poll. It now needs three missed polls in a row, and errors showing alerts no longer count as the dashboard being down (mod 0.12.6).

Changed

  • Request tables show a grey "offline" instead of a red 502 for requests sent while this Mac had no network.
  • The Codex provider conflict message says what to do: delete the model_provider line, then press Route Codex through Burst.

Upgrading

  • git pull and zsh scripts/deploy.sh. New Claude Code sessions load mod 0.12.6.

v0.20.39

Choose a tag to compare

@andrewbakercloudscale andrewbakercloudscale released this 21 Oct 06:39

Fixed

  • No failover when the network changes under a connection. A connection opened on the old network that stops answering no longer sends its requests to the secondary. Burst first checks whether Anthropic answers on a new connection. If it does, the request returns an error and Claude Code retries it on a fresh connection. It fails over only when the new connection fails too.
  • Uncompacted Size counts screenshots correctly. Each base64 image now counts as the tokens it costs (about 1,600), not the length of its base64 text. A session with 51 screenshots showed 2.31M when it held about 300k.
  • The hand-off figure falls as well as rises. The hand-off file's estimate of what Claude Code holds now goes down too. An old overestimate no longer triggers an early hand-off (which cost a turn re-read uncached).

Upgrading

Press Upgrade on the dashboard, or run scripts/deploy.sh.

v0.20.38

Choose a tag to compare

@andrewbakercloudscale andrewbakercloudscale released this 19 Oct 17:33

Added

  • Automask's Last 50 masks on the dashboard has a Context column: the text either side of each mask, exactly as Claude was sent it, with the value masked. A test fixture or a number that only looks like a card can now be told from a real secret. The value itself is still never kept, and the log lines carry no context.

Fixed

  • The credit card rule no longer masks parts of longer numbers. A card must be written solid or grouped as on a card (4-4-4-4, or 4-6-5 for Amex), and is never the decimals of a price, digits after a thousands comma, a group in a column of figures, or single digits spaced out in a table. On 19 Oct a dollar amount worked out to 16 decimal places was masked as a card.

Upgrading

Press Upgrade on the dashboard, or run scripts/deploy.sh.

v0.20.37

Choose a tag to compare

@andrewbakercloudscale andrewbakercloudscale released this 19 Oct 12:39

Fixed

  • A compaction summary is no longer thrown away because Claude Code rewrote its own system note. A turn that ended in one had every summary dropped at the next request and a new one started: 14 in 20 minutes on 18 Oct, none swapped in, while the session grew from 200k to 303k. Intelligent compaction read those as compactions losing money and moved the repository back to the fixed Compact at.
  • When Burst asks Claude Code for a thread's whole history and it does not come back, it asks again after 30 seconds instead of 10 minutes. A session asked at 300k went on to 345k for 19 minutes before it was asked again.

Changed

  • The hotspot watch opens one probe connection per online check instead of four.

Upgrading

Press Upgrade on the dashboard, or run scripts/deploy.sh.

v0.20.36

Choose a tag to compare

@andrewbakercloudscale andrewbakercloudscale released this 16 Oct 15:51

Fixed

  • Remote Control reconnects by itself when the network comes back. A hotspot that dropped and came back on the same address left every session's phone connection deaf for up to 12 minutes, until something was typed on the Mac. Connections to Anthropic are now pinged, so a dead one is closed in under half a minute, and "Network back" makes every session reconnect to the phone straight away.
  • Intelligent compaction prices a compaction's extra cost at each run's own model. A Haiku run last no longer makes an Opus repository's compactions look four times dearer and push its size from 175k to 500k.
  • The compaction replay tells a subagent's requests apart from the session's own, so they no longer read as the user clearing context (51 false clears and 19 false swaps from 8 to 16 Oct).
  • A compaction that leaves a session over its limit summarises again at the next request, instead of letting the turn grow far past the limit.

Added

  • Loose ends: a session that closes leaving files uncommitted raises a red alert. The next session in that repository is told what is lying there and asks you. A dashboard section, claude-burst loose-ends and a daily 09:00 reminder list uncommitted files, unpushed commits and stashes across every repository your sessions use. Nothing is committed, pushed or deleted for you.

Changed

  • Intelligent compaction checks its replay against the actual bill and keeps a repository's size when the cheaper option is within the replay's own error, capped at 20%.
  • Every Burst toast in a session starts with a coloured mark (blue for news), so Burst's lines no longer read as Claude Code's own.

Upgrading

Press Upgrade on the dashboard, or run scripts/deploy.sh.

v0.20.35

Choose a tag to compare

@andrewbakercloudscale andrewbakercloudscale released this 16 Oct 08:02

Changed

  • The gateway holds the metrics history in about half the memory: 34MB instead of about 75MB for 174,000 requests, and about 100MB in all instead of about 190MB. Each request is stored packed, with repeated text such as model and session names kept once. Totals are unchanged.
  • Pop-ups in a Claude Code session now mark a problem, since Claude Code does not let a mod colour them: a red dot for an error (such as "Burst dashboard not answering" while the gateway restarts, an error alert, or a command that could not run) and a yellow dot for a warning. News carries no mark. Mod 0.12.3; new sessions load it.

Upgrading

Press Upgrade on the dashboard, or run scripts/deploy.sh.

v0.20.34

Choose a tag to compare

@andrewbakercloudscale andrewbakercloudscale released this 16 Oct 06:56

Fixed

  • The gateway uses about a tenth of the CPU it did with a dashboard or usage panel open. Every dashboard poll, usage panel and in-session band read the whole metrics history again from JSON: on one Mac 173,000 events in 52MB, which kept the gateway near 30% of a core. The history is now parsed once and held, and only new lines are read after that. Reading all of it takes 4ms instead of 175ms. Measured on that Mac, the gateway went from about 30% CPU to under 3%.

Changed

  • The gateway holds the parsed history in memory: about 75MB for that history, more in resident size. It cannot grow much beyond that, because rotation keeps at most six 10MB files.

Upgrading

Press Upgrade on the dashboard, or run scripts/deploy.sh.

v0.20.33

Choose a tag to compare

@andrewbakercloudscale andrewbakercloudscale released this 16 Oct 06:14

Fixed

  • The Mac no longer runs hot on v0.20.29 to v0.20.32. The dashboard checks that each caller belongs to the account Burst runs as. It asked lsof for every new connection, which walks every process on the Mac and cost about a second of CPU each time. With the usage panels opening a connection per poll, that kept the gateway near 70% of a core and the system logger busy. It now reads the kernel's TCP socket list, the one netstat reads, in about a millisecond: measured on one Mac, the gateway went from about 70% CPU to under 1%, and load average from 11 to 5. Under that load lsof also timed out at times, which let callers in unchecked; that no longer happens.
  • Deploys no longer report the support console as not answering when it is up. The check asked a page that runs every status check and took 4 seconds on a busy Mac.

Upgrading

Press Upgrade on the dashboard, or run scripts/deploy.sh. Every Mac on v0.20.29 to v0.20.32 should upgrade.

v0.20.32

Choose a tag to compare

@andrewbakercloudscale andrewbakercloudscale released this 14 Oct 22:09

Changed

  • Upgrade keeps the usage panel up to date as well as Claude Burst. The version check compares the installed usage panel with its newest signed release. Upgrade updates whichever is behind, or both: when Burst is current (or cannot upgrade), the button reads "Update usage panel" and updates the panel alone. A new panel release raises a notice.
  • Every install includes the usage panel. An install with nobody to answer its question used to skip it. Set CLAUDE_BURST_PANEL=no to leave it out.

Fixed

  • The price inputs on the dashboard have names a screen reader reads, and the side rail is marked as navigation.

Upgrading

Press Upgrade on the dashboard, or run scripts/deploy.sh.

v0.20.31

Choose a tag to compare

@andrewbakercloudscale andrewbakercloudscale released this 13 Oct 11:39

Fixed

  • Automask reads the turns Codex sends over a WebSocket. Codex sends its turns over a WebSocket by default, and Burst passed that socket through unread, so with Automask on every one raised "Automask could not read what Codex sent". Those turns are now masked, and counted in usage, like a turn Codex POSTs.
  • Codex plan limits are read from the socket's rate limits message, so the limits shown stay current for sessions that use it.
  • The pf self-heal installer names itself in the commands it suggests.

Changed

  • The log says when a Codex WebSocket opens and closes, with how many messages and turns it carried and who closed it.
  • A Codex turn socket is no longer compressed, because a compressed one cannot be read. It uses more bytes on the wire (about 56 KB against 19 KB for one measured turn).

Known limits

  • After its first turn Codex sends only the new input on a socket, so the context inspector shows the opening context for those sessions, and a removal takes effect when Codex next sends the whole context.
  • Automask still warns, and passes the message on unread, for a socket message that is compressed, not text, or larger than 64 MB.

Upgrading

Press Upgrade on the dashboard, or run scripts/deploy.sh.