Skip to content
Proposals/Set git.diff_base to default-branch merge base i
proposaldeveloperP4High impactZed AI

Set git.diff_base to default-branch merge base in Zed

Zed v1.15.0-pre adds git.diff_base so gutters, file-status colors, and git: diff can show the full branch delta vs the default-branch merge base instead of only uncommitted changes vs HEAD. Configure it and align multi-select/JSX workflows with the other shipped edits.

Why this loop

Zed v1.15.0-pre adds git.diff_base so editor gutters, file-status colors, and git: diff can show uncommitted changes against HEAD ("head", default) or all current-branch changes against the merge base with the repository default branch ("default_branch"). The same switch is "Diff Against Default Branch" in the editor controls menu. Leaving the default hides branch-level work behind only uncommitted hunks. gutter.git_gutter_width can size those indicators. This pre-release also ships the multiple_selections key context, linked editing for custom elements in JSX/TSX, and Emmet completions in return and arrow-function bodies—the other shipped edits this proposal should align. Do not assume the 18 omitted changelog items.

Proposed actions

  1. In Zed settings.json set "git.diff_base": "default_branch". Reload, then on a feature branch with both committed and uncommitted edits confirm editor gutters, file-status colors, and the git: diff command show the full current-branch delta against the default-branch merge base. Open the editor controls menu and leave Diff Against Default Branch enabled.
  2. In the same settings.json set "gutter.git_gutter_width" to an integer pixel width so Git diff gutter marks stay readable when git.diff_base is default_branch and the branch delta is larger than uncommitted changes vs HEAD.
  3. In keymap.json bind the intended multi-cursor commands under the multiple_selections key context so those bindings apply only when more than one selection is active; keep single-selection bindings on the default context.
  4. In a JSX/TSX buffer that uses a custom element, rename the opening tag and confirm linked editing updates the matching closing tag. In a return statement and in an arrow-function body, type an Emmet abbreviation and accept the completion.

Agent prompt

Paste into your agent or query via MCP (get_agent_prompt) — free, no extra AI cost

AGENTS.md / CLAUDE.md / GEMINI.md rule update

DevAgentRadar → Repo Harness Rule Patch

Goal: update our repository's permanent harness instructions based on this release.

Update the file that tool actually reads. Do not dump everything into one file.

  • Claude Code → CLAUDE.md plus .claude/ (skills, hooks, settings, agents, commands). It does not read AGENTS.md natively; start CLAUDE.md with @AGENTS.md.
  • Codex, Copilot, Cursor, Factory Droid, Grok Build, Roo Code, Goose, OpenCode, Amp, Zed, Aider → AGENTS.md.
  • Gemini CLI / Antigravity → GEMINI.md. AGENTS.md only if context.fileName is set.
  • Cursor glob-scoped rules → .cursor/rules/*.mdc (plain .md is ignored), not a second constitution.
  • Codex MCP → .codex/config.toml, not .mcp.json.
  • Copilot extra instructions → .github/copilot-instructions.md; custom agents → .github/agents/.
  • Windsurf → .windsurf/rules (do not assume AGENTS.md).
  • Cline → .clinerules.
  • Procedures → a skill (SKILL.md). Enforcement the model must not skip → a hook. Isolated roles → subagents.
  • Do not fork the same rule into three tool files.

Context

Assistant: Zed AI Proposal: Set git.diff_base to default-branch merge base in Zed Summary: Zed v1.15.0-pre adds git.diff_base so gutters, file-status colors, and git: diff can show the full branch delta vs the default-branch merge base instead of only uncommitted changes vs HEAD. Configure it and align multi-select/JSX workflows with the other shipped edits. Primary source: https://github.com/zed-industries/zed/releases/tag/v1.15.0-pre

Why it matters

Zed v1.15.0-pre adds git.diff_base so editor gutters, file-status colors, and git: diff can show uncommitted changes against HEAD ("head", default) or all current-branch changes against the merge base with the repository default branch ("default_branch"). The same switch is "Diff Against Default Branch" in the editor controls menu. Leaving the default hides branch-level work behind only uncommitted hunks. gutter.git_gutter_width can size those indicators. This pre-release also ships the multiple_selections key context, linked editing for custom elements in JSX/TSX, and Emmet completions in return and arrow-function bodies—the other shipped edits this proposal should align. Do not assume the 18 omitted changelog items.

Suggested actions

  1. In Zed settings.json set "git.diff_base": "default_branch". Reload, then on a feature branch with both committed and uncommitted edits confirm editor gutters, file-status colors, and the git: diff command show the full current-branch delta against the default-branch merge base. Open the editor controls menu and leave Diff Against Default Branch enabled.
  2. In the same settings.json set "gutter.git_gutter_width" to an integer pixel width so Git diff gutter marks stay readable when git.diff_base is default_branch and the branch delta is larger than uncommitted changes vs HEAD.
  3. In keymap.json bind the intended multi-cursor commands under the multiple_selections key context so those bindings apply only when more than one selection is active; keep single-selection bindings on the default context.
  4. In a JSX/TSX buffer that uses a custom element, rename the opening tag and confirm linked editing updates the matching closing tag. In a return statement and in an arrow-function body, type an Emmet abbreviation and accept the completion.

Config surfaces this release may change

  • MCP servers — check your repo before applying

After you finish

Do not report this as applied to DevAgentRadar. You cannot write the visitor's loop.

Tell the human: open https://devagentradar.com/proposals/zed-ai-v1-15-0-pre-set-git-diff-base-to-default-branch-merge-base-in-zed and mark Applied, Skipped, or Failed. Proposal id: c486577f-1dbe-47f7-9466-4b2743197a1c

Instructions:

  1. Read the existing context files and settings for the tools in this repo.
  2. Draft an explicit Git diff. Update ONLY agent harness rules or tool configuration.
  3. Call out deprecated flags, obsolete habits, or changed permission boundaries.
  4. Do not touch application logic.

Start with the proposed diff and say which layer and which tool's file it belongs in.

agentmcpmodelpricingideRelease source ↗

Your loop

This browser · no sign-in · not shared as “you”

After you run the prompt

Only you can mark this. Agents cannot write your loop.

Your decision stays on this device. A public tally appears after a few votes.

Originating release signal

Zed AIv1.15.0-preAug 5, 2026

v1.15.0-pre

This week's release includes a new git.diff_base setting for choosing whether editor gutters, file-status colors, and git: diff show uncommitted changes against HEAD or all current-branch changes against the default branch's merge base, plus support for dragging files from the Project Panel to external apps on macOS and Linux Wayland; web developers also get linked editing for custom elements in JSX and TSX and Emmet completions in return and arrow-function bodies. · +58 more changes
Verified excerpt — the source's own words

This week's release includes a new git.diff_base setting for choosing whether editor gutters, file-status colors, and git: diff show uncommitted changes against HEAD or all current-branch changes against the default branch's merge base, plus support for dragging files from the Project Panel to external apps on macOS and Linux Wayland; web developers also get linked editing for custom elements in JSX and TSX and Emmet completions in return and arrow-function bodies.

Shipped by the Zed Guild 🛡️

  • Added support for dragging files from the Project Panel to external macOS apps. (#58161; thanks notJoon)

  • Added the multiple_selections key context for assigning different keybindings when multiple selections are active. (#60018; thanks AidanV)

  • Agent: Fixed the first line of terminal output sometimes being hidden in the Agent Panel. (#61939; thanks timvermeulen)

Excerpt ends here — this release continues at the source ↗.

Primary source ↗