Git Login Manager
Checks that GitHub access works (gh login, SSH key, SSH connection, git identity) and walks you through fixing what fails.
packages/git-login-manager
Git Login Manager keeps the GitHub credentials that other RobOS apps depend on in working order. It does not handle GitLab or Gitea, and it does not store personal access tokens; login uses the GitHub CLI’s browser flow.
The four checks
| Check | How it is tested | If it fails |
|---|---|---|
| GitHub CLI (gh) Authentication | gh auth status reports “logged in” |
Login runs gh auth login --web --hostname github.com --scopes admin:public_key and shows the one-time code, with Copy and Open Browser Again |
| SSH key exists | ~/.ssh/id_ed25519, id_ecdsa or id_rsa is present |
Generate Key runs ssh-keygen for an Ed25519 or RSA 4096 key, with a comment and optional passphrase. It refuses to overwrite an existing key |
| SSH to github.com | ssh -T git@github.com (a success result is cached for 10 minutes) |
Add to GitHub shows the public key and runs gh ssh-key add. If the token lacks the admin:public_key scope, Re-auth gh runs gh auth refresh -s admin:public_key |
| git identity configured | git config --global user.name and user.email are set |
Configure saves both values |
Check now runs all checks immediately.
Behavior you should know about
- The window starts hidden. The checks run at startup and every 5 minutes (
CHECK_INTERVAL_MSinmain.js; the window’s “Next check in” label counts down from 60 seconds, which does not match), and the window opens by itself the first time any check fails, unless onboarding is still in progress. - If the git identity is missing and
ghis logged in, the app fillsuser.nameanduser.emailfrom your GitHub profile (using theid+login@users.noreply.github.comaddress if your email is private). - On every check it sets the global git option
url."git@github.com:".insteadOf "https://github.com/"if it is not set, sohttps://github.com/...clones go over SSH. Remove it withgit config --global --unset url.git@github.com:.insteadOfif you do not want that. - When all checks pass it refreshes
~/.config/robos/gh-repos-cache.json(your repositories and those of your organizations, at most once an hour). Other apps use this list for repository pickers. - Desktop Manager restarts this app if it stops.
Requirements
gh, ssh, ssh-keygen and git on the PATH. Source: packages/git-login-manager.
More in Security & Credentials
DocuVault Desktop
Offline-first secure markdown notes, personal snippet vault, and local workstation storage starter app.
Pass Manager Vault
Desktop front end for the standard Unix password store (pass), with entries encrypted by GPG.
Pass Unlock Daemon
Small dialog that asks for your GPG passphrase once a day and caches it in gpg-agent.
RobOS App Mesh
Zero-Trust App & IPC Port Mesh for connecting RobOS applications across machines (mTLS 1.3, OpenZiti, Tailscale, NetBird, WireGuard)
RobOS Cloud Accounts
One list of your cloud accounts, shared with Data Sources and Google Calendar; Google accounts can sign in through the browser and be written into Thunderbird.
RobOS Hardware Keys
YubiKey & FIDO2 physical push keys, touch verification, ed25519-sk SSH keys, Passkeys, and PAM U2F security studio
RobOS Private Networks
Cross-Network Zero-Trust P2P & Relay Mesh for linking RobOS machines across separate networks/NAT/CGNAT via Mutual TLS 1.3 (robos-net://), AES-256-GCM encrypted rendezvous, bidirectional Reverse-Mux tunneling, and cross-machine RobOS Movie Player (:19215) streaming
RobOS Setup Wizard
Eleven-step first-run wizard for GPG, pass, pinentry, git identity, SSH, Chrome, GitHub login, AI agent keys and optional tools.
RobOS VPN Sandbox
Launch any desktop or CLI app inside an isolated Linux network namespace (ip netns) routed exclusively through OpenVPN with a 3-barrier kernel kill-switch.
RobOS VPN Servers
Manage OpenVPN providers (IPVanish built-in with 3,598 server profiles), encrypted VPN accounts, live TLS 1.3 credential tests, and server locations.
Security Setup Wizard
Five-step wizard that configures GPG pinentry, a GPG key, the pass store and an SSH key.