Reliable run capture from isolated worktrees
Automatic usage capture now works when Claude Code, Codex, or Mistral Vibe runs inside a Pekan-created isolated worktree. Pekan installs a small ignored launcher that delegates to the source checkout's current recorder, so provider lifecycle hooks no longer fail because record-run.mjs is missing. The launcher points the recorder to the source project's durable state without copying its MCP credential, endpoint configuration, or retry queue into the disposable worktree. A changed local port or rotated token is picked up the next time the hook runs, and pending telemetry remains available after worktree cleanup.
Desktop-launched agent runs also have one clear telemetry owner. Pekan's desktop lifecycle recorder remains authoritative, and provider hooks now recognize those managed processes and skip their own recording path. Independently launched terminal sessions continue to be captured in base checkouts and isolated worktrees with stable provider session identifiers. Setup, configuration discovery, and upload failures remain non-fatal and now report a short stage-specific diagnostic, making a capture problem easier to identify without disrupting completed agent work.
Highlights
- Claude Code, Codex, and Mistral Vibe hooks work from isolated worktrees.
- Credentials and live endpoint data stay in the source checkout.
- Pending telemetry survives worktree removal and retries from durable storage.
- Desktop-managed runs are recorded exactly once, while external terminal sessions remain automatic.