forked from bchanot/claude
Env-var-only seam (§3.2), zero logic change (diff is one added condition): the version-check `git fetch` at :215 now skips when SESSION_START_OFFLINE is set (non-empty), leaving _remote_ver empty (same as any other offline/fetch-failure path already handled) instead of hitting the network. Unlocks (BACKLOG, not built here): a HOME-injected truth-table + smoke test for session-start.sh (J4-14), without every run paying a network round-trip or depending on origin/main being reachable. Verified: bash -n clean, shellcheck clean (pre-existing SC1091 info only, unrelated). Behavioral: SESSION_START_OFFLINE=1 runs in ~15ms (no fetch) vs ~740ms unset (fetch attempted) — identical banner output either way (v4.0.0 == CONFIG_VERSION, no update line in both). Full `make test` exit 0.