Description
When a large number of sessions accumulate locally (e.g. due to an initial timeout or temporary connectivity issue), all subsequent upload attempts fail with a timeout error. This creates a death spiral where the backlog grows with each failed attempt, making future uploads even less likely to succeed.
Environment
- CLI version: 0.8.6
- OS: macOS (Darwin 25.3.0)
- Last successful upload: 2026-02-07
- Sessions accumulating: ~2,500+ (filtered as <4min), with hundreds of longer sessions in the payload
Symptoms
Every hook-triggered and manual send command fails with:
[ERROR] Upload sessions: Request timed out. Your connection might be slow or the server is not responding
[ERROR] Failed to execute hook send
The server itself is reachable (responds in ~85ms to a basic HTTPS request), so it's the upload payload size/duration that exceeds the timeout, not a connectivity issue.
Secondary issue: timed-out uploads hold the execution lock, causing subsequent hook invocations to fail with:
Error: Another hook execution is already in progress
Reproduction
- Accumulate a few weeks of Claude Code sessions (~2,500+)
- Run
npx vibe-log-cli send --silent --background --hook-trigger=sessionstart --hook-version=1.0.0 --all
- Upload starts, filters short sessions, then times out before completing
Expected behavior
Uploads should succeed regardless of backlog size, ideally by:
- Batching large uploads into smaller chunks (e.g. 50-100 sessions per request)
- Incremental sync — upload newest sessions first, then backfill older ones
- A
--limit or --since flag to allow partial uploads
- Graceful recovery so one timeout doesn't permanently block future syncs
Logs
From ~/.vibe-log/upload.log (pattern repeating since early March):
=== Upload started at 2026-03-16T16:37:49.178Z ===
[INFO] Filtered out 2553 session(s) shorter than 4 minutes
[ERROR] Failed to upload sessions
[ERROR] Failed to execute hook send
From ~/.vibe-log/hooks.log:
VibelogError: Request timed out. Your connection might be slow or the server is not responding
Workaround attempted
Running the interactive npx vibe-log-cli menu and selecting manual sync updated lastSync in config.json, but upload.log shows no actual successful upload — the backlogged sessions remain unsynced.
Description
When a large number of sessions accumulate locally (e.g. due to an initial timeout or temporary connectivity issue), all subsequent upload attempts fail with a timeout error. This creates a death spiral where the backlog grows with each failed attempt, making future uploads even less likely to succeed.
Environment
Symptoms
Every hook-triggered and manual
sendcommand fails with:The server itself is reachable (responds in ~85ms to a basic HTTPS request), so it's the upload payload size/duration that exceeds the timeout, not a connectivity issue.
Secondary issue: timed-out uploads hold the execution lock, causing subsequent hook invocations to fail with:
Reproduction
npx vibe-log-cli send --silent --background --hook-trigger=sessionstart --hook-version=1.0.0 --allExpected behavior
Uploads should succeed regardless of backlog size, ideally by:
--limitor--sinceflag to allow partial uploadsLogs
From
~/.vibe-log/upload.log(pattern repeating since early March):From
~/.vibe-log/hooks.log:Workaround attempted
Running the interactive
npx vibe-log-climenu and selecting manual sync updatedlastSyncin config.json, butupload.logshows no actual successful upload — the backlogged sessions remain unsynced.