Setting to disable/configure the background `git fetch` on workspace status refresh
Author: djaparidzeCreated Sep 17, 2026Updated Sep 17, 2026
Labelsenhancement
What problem are you trying to solve?
Every git status refresh schedules a background git fetch <remote> <base> --quiet --no-tags (scheduleBaseRefFetch in packages/host-service/src/trpc/router/git/utils/base-ref-freshness.ts). The 5-minute TTL (BASE_REF_FETCH_TTL_MS) is hardcoded, and there's no setting or env var to turn the fetch off.
With an SSH agent that asks for approval on each use (Bitwarden, 1Password, Secretive, YubiKey touch), this causes approval prompts every few minutes per repo that the user didn't trigger.
Environment: Superset desktop 1.25.1, macOS, Bitbucket Cloud over SSH, Bitwarden SSH agent. The same code is still on main (1.29).
Proposed solution
- A setting: "Fetch base branch in background" on/off (ideally per project)
- A configurable fetch interval (default 5 min)
- When off: a manual "Fetch" action in the Changes panel; the diff uses the existing local remote-tracking ref
Workarounds you've tried
- HTTPS fetch URL + SSH
pushurlwith a read-only token (works, but has to be set up in every repo) - The SSH agent's "remember approval" mode (weakens per-use approval)
- SSH
ControlMaster/ControlPersist(reduces prompts, doesn't remove them)
Source: superset-sh/superset