You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Doctor flags a working yt-dlp as wedged on Windows: 3s probe timeout is shorter than the onefile exe's ~4s cold start, and the fix hint is brew/apt only #2531
LifeOS 8.761.0 · attestation: unattested (could not extract v8.761.0: tar (child): Cannot connect to C: resolve failed
gzip: stdin: unexpected end of file
tar: Child returned status 128
tar: Error is not recoverable: exiting now)
What is broken
On Windows, Doctor reports ytdlp as broken ("yt-dlp --version timed out — the binary is wedged") when yt-dlp is current and working. probeLive gives every binary a fixed 3s timeout. The winget build of yt-dlp (2026.10.26) is a self-extracting onefile exe that unpacks on every launch, and --version takes about 4.2s on two consecutive runs, so the probe times out before the binary answers. A real fetch (yt-dlp --skip-download --print title <youtube url>) succeeds in about 8s. The suggested fix is also macOS/Linux only (brew install yt-dlp / apt-get), so a Windows user is sent to a command that does not exist on their machine for a tool that does not need fixing. This is a false positive introduced by the liveness probe from #2066.
Where (file:line)
LIFEOS/TOOLS/Doctor.ts:169
Repro on a clean tree
1. On Windows 11, install yt-dlp with `winget install yt-dlp.yt-dlp` (gives 2026.10.26).
2. Time it: `Measure-Command { yt-dlp --version }` gives about 4.2s, every run, with output `2026.10.26` and exit 0.3. Run `bun ~/.claude/LIFEOS/TOOLS/Doctor.ts`.4. Expected: `YouTube ingestion (yt-dlp) — live`.5. Actual: `❌ YouTube ingestion (yt-dlp) — broken ... timed out — the binary is wedged`, fix `brew install yt-dlp (Linux: sudo apt-get install yt-dlp)`.Separately noticed while filing: `Report.ts attest` returns `unattested` on Windows because tar reads `C:`in the archive path as a remote host ("Cannot connect to C: resolve failed"). Passing `--force-local`, or a relative path, would avoid it.
2026.10.26
❌ YouTube ingestion (yt-dlp) — broken
powers: the Feed YouTube source and the Upgrade skill's channel scan
yt-dlp on PATH but `yt-dlp --version` timed out — the binary is wedged
Suggested fix
Raise the probeLive timeout on Windows (e.g. 10s), or let a capability set its own timeout, with yt-dlp given more because of the onefile cold start.
Make the yt-dlp fix hint platform-aware: winget upgrade yt-dlp.yt-dlp (or pip install -U yt-dlp) on Windows.
Optionally word a timeout as "slow to start (>Ns)" rather than "wedged", since a slow-but-working binary is not broken.
Activity