The check_tools_repo (git ls-remote | awk) and update_dotfiles (git fetch) background jobs could stall on a network call and, being disowned (&!), orphan into days-long processes holding unreaped git/awk children. Bound both network probes with `timeout` (guarded, absent on macOS) and disable ssh multiplexing so no daemonized mux master inherits our fds. Also dedup the double update_dotfiles startup call. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>