[BUG] `claude update` blocks ~100s on telemetry POST before exiting

Resolved 💬 3 comments Opened Mar 22, 2026 by tylyp Closed Apr 20, 2026

Description

claude update takes ~1m42s to complete even when already up to date. The version check itself is fast — the delay is caused by a blocking telemetry POST to /api/event_logging/v2/batch that stalls process exit.

Steps to reproduce

time claude update

Observed behavior

Current version: 2.1.81
Checking for updates to latest version...
Claude Code is up to date (2.1.81)

real    1m42.270s

Debug analysis

Running with DEBUG='*' reveals the timeline:

  1. Version manifest check (GCS) — completes in seconds
  2. "Claude Code is up to date" message prints — near-instant
  3. POST to api.anthropic.com/api/event_logging/v2/batch (~6.6 KB payload) — blocks for ~100 seconds before process exits

Direct connectivity to api.anthropic.com is fine (~1s via curl). The issue is specifically the telemetry call blocking the process exit rather than being fire-and-forget.

Expected behavior

The telemetry POST should be non-blocking — either fire-and-forget, use a short timeout, or run in the background so it doesn't delay process exit.

Environment

  • Claude Code version: 2.1.81
  • Platform: Windows 11 (x86-64)
  • Shell: Git Bash (MSYS2)
  • Installation: native binary (~230 MB PE executable)
  • Network: direct (no proxy), ~1s RTT to api.anthropic.com

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗