{"version":"2.1.296","anchor":"first-party-event-emit-now-tracks-in-flight-emits","canonical_anchor":"first-party-event-emit-now-tracks-in-flight-emits","heading":"Claude Code's own usage-event logger now queues events instead of dropping them","tier":"internal","area":"Telemetry","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296\/e\/first-party-event-emit-now-tracks-in-flight-emits","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296","markdown":"### Claude Code's own usage-event logger now queues events instead of dropping them\n\nUsage events recorded while Claude Code's event logger is starting, being replaced or shutting down are now queued and sent instead of lost\n\n**What**\n\nClaude Code records usage events and sends them to Anthropic through its own (first-party) event logger. That logger now keeps hold of events it used to lose.\n\n- While the logger is being replaced, `loggerBeingReplaced` is set and new events wait in a `preInitQueue`.\n\n- Events being sent are tracked in `emitsInFlight`, and Claude Code waits for them to finish.\n\n- On shutdown the old logger is restored and the queue is sent. The queue is also sent if replacing the logger fails.\n\n- Experiment exposure events recorded before the logger exists are now held in that queue, up to a cap. Before, they were dropped.\n\n**Why**\n\nThis is an internal reliability change with nothing to set or change. It means fewer usage and experiment events go missing when Claude Code starts up, swaps its logger or exits.\n\n- Area: Telemetry\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}