Skip to content
Desktop Material Verification edited this page Jul 13, 2026 · 37 revisions

Desktop Material

Desktop Material is an independent Material Design 3 (M3 Expressive) remake of GitHub Desktop. It is a fork of desktop/desktop (MIT) with the entire application shell rebuilt around Material Design 3 — animated light/dark theming, dynamic type and color tokens, and a browser-like, tabbed workspace — while keeping GitHub Desktop's complete Git workflow intact underneath.

On top of that shell, Desktop Material ships multi-provider accounts and organizations, automation, GitHub Actions and logs, agent access, searchable graph History, multiple stashes, pull-all, multi-window workflows, per-account repository tabs, Git-backed settings and notifications, and a non-modal dialog framework.

Status: Desktop Material is in active development. Preview builds are published from the project's GitHub Releases. Feature-parity references come from desktop-plus (MIT).

Desktop Material Changes view with the MD3 shell


Contents

Page What it covers
User Guide Task-oriented walkthrough for accounts, guided Git/GitHub functions, organizations, providers, tabs, automation, Actions, History, stashes, pull-all, multi-window, and the MD3 shell.
Automation Scheduled commit & push and pull, layered overrides, safety guards, and merge-all branches/worktrees.
Regex Guide Filter chips, substring/regex modes, the regex builder, and the search surfaces that use them.
Developer Guide Architecture for contributors — Electron windows, store/dispatcher flow, dugite, profile repos, agent server, CLI routing, and SCSS tokens.
Agent API Shipped MCP, local REST, stdio proxy, and CLI access for safe AI-agent control.

Shipped today

  • Material Design 3 Expressive shell with animated light/dark theming and M3 color tokens: an app bar with an inline pill menu, a left icon navigation rail (Changes with a badge, History, Branches, Settings, account avatar), a floating pill toolbar with repository and branch chips and a sync pill, and floating radius-24 workspace cards with tri-state checkboxes, tonal status chips, token-based diff colors, and an inverse-surface undo banner.
  • Browser-like repository tabs — per-account and bound to repos, with inline rename and per-tab title styling (bold/italic/underline, size, color, font family, alignment).
  • Multi-account — multiple identities per host; each account carries its own tabs, repos, and settings. GitHub organizations expose their complete repository lists and can be selected when publishing. GitLab endpoints use PAT authentication and Bitbucket uses app passwords; both providers can browse and clone repositories without exposing credentials to the renderer or agent API.
  • Per-account settings in a local git repo — every settings or tabs change auto-commits. Open Edit → Settings History… (Ctrl+Alt+Z) for a non-modal timeline with lazy diffs, undo, redo, and restore; each history action appends an audit commit.

Live Settings history side sheet

  • Non-modal dialogs that float without blocking the app, drag by their headers, cascade, and come to front on focus. Preferences is an MD3 940×660 dialog with a left rail, an Active chip, and a pill footer; the repository and branch pickers are MD3 side sheets.

Automation, CI, and agent control

  • Automation — schedule guarded commit-and-push and pull at the global level, override either setting per account or repository, run commit-and-push immediately, and merge all branches or worktrees with per-target progress and Copilot-assisted conflict handling.
  • GitHub Actions — filter runs by workflow, branch, event, or status; re-run a complete run or failed jobs; inspect jobs and steps; search job logs; and dispatch a workflow with a ref and declared inputs.
  • Agent access — opt in from Settings to start a token-gated MCP/REST server on a random loopback-only port. A stdio proxy and command-line client expose the same bounded commands for repositories, tabs, Git operations, automation, and workflow dispatch.

Automation preferences with global and account overrides

Agent access with loopback and bearer-token controls

History, stashes, repositories, and windows

  • History power tools — search commits by title, message, tag, or hash and toggle a commit graph that renders ancestry lanes beside the filtered history.
  • Multiple stashes — create and keep multiple entries, select one to inspect its files and diffs, then restore or discard that exact stash.
  • Repository power tools — pin and group repositories, pull all with a per-repository result, use branch presets and default-branch controls, set a repository-specific editor, shallow-clone with a commit-depth control, manage cone-mode sparse checkout, and multi-clone in parallel or sequence with URL-only import/export. These are named, validated workflows rather than a raw Git, gh, or API-command catalogue.
  • Multi-window workflows — open a repository or worktree in a separate window; each window keeps its own selected repository and persisted tab state while commands route to the correct window.
  • Notification centre — a Git-backed Local view plus an account-aware GitHub inbox with All/Unread and participating-only filters, including a complete no-signed-in-account state.
  • Clipping-safe scaling — choose 50–200% UI scaling; auto-fit caps the effective scale when a small window cannot contain the requested size. At the supported minimum window, 200% safely auto-fits to 96% while preserving every title-bar, navigation, Appearance, and footer control.
  • Responsive overflow guard — at 1450×997, the toolbar and complete Changes card remain inside the viewport, including filter, commit-composer, and action controls, with no horizontal overflow.
  • No page-level sideways scrolling — task forms wrap text and stack controls when space narrows. Horizontal scrolling is reserved for spatial content such as code, diffs, and logs when needed.

History search and commit ancestry graph

Provider accounts for GitLab and Bitbucket

Open repositories and worktrees in another window

Requested 200 percent UI scale auto-fitted without clipping

Responsive regression proof at 1450 by 997 with toolbar and Changes controls fully contained and no horizontal overflow

Guided shallow clone with commit depth

Guided sparse-checkout directory editor

Account-aware GitHub notifications

Clone this wiki locally