Follow Discord
Sweep 22 Oct 2026 · 21:04Z Build v2.1.309 528 read Stable v2.1.308 Latest v2.1.308 Next v2.1.309 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.301 ·

Plugin sync rounds report an outcome, and the turn-start check can run without blocking

Plugin sync now records how each round ended and its round number, and the check at the start of a turn can run without the turn waiting on it

Group of 2 Under the hood Internal Changes
JSON All of v2.1.301
Under the hoodTier: how much it should matter to you
1Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
PluginsArea: what it touches
Internal ChangesKind: in v2.1.301,
Internal ChangesSection of the release

What

Claude Code periodically syncs your plugins (add-ons that extend it). This release adds more record-keeping around that sync, along with a few other new fields.

  • Each plugin sync round now keeps an outcome, such as ok, gate_closed, list_failed or unexpected_error, and reports it when the round ends.
  • Startup reporting now includes the sync round number, plugins_sync_round.
  • The check at the start of each turn (each time Claude starts responding) was split into isDueAt and atTurnStart, and atTurnStart can now be told not to wait. When it finishes it records whether anything changed, whether the turn waited for it, and how long it took (is_changed, is_waited_for, duration_ms).
  • Separately, reporting about the end of a previous session (used when resuming) gains tail_age_min and tail_shutdown_stamped.

Before this release, atTurnStart worked out when the next sync was due inline and recorded nothing when it finished.

Why

Most of this is internal measurement and does not change what you see. The practical difference is that the plugin sync check at the start of a turn can now run without holding up the turn.

See this entry in the whole of v2.1.301 →

Feedback