Find out what’s new, what’s fixed, or just take a trip down memory lane remembering those bugs of yesterday.
Check out our Changelog to see linked issues and past changes.
Features marked with PRO require a trial or paid plan for use on privately hosted repos
Features marked with PREVIEW require a GitKraken Account, with access level based on your plan, e.g. Community, Pro, etc
Version 19.0
Tuesday, August 12, 2026
GitLens 19 rebuilds the Commit Graph from the ground up and gives it a new home — it now leads the GitLens side bar as its main view. It’s noticeably faster on large repositories, hosts powerful tools for managing parallel work, is more configurable than ever, and completely keyboard navigable — rows and row actions included.
The graph also tells you far more at a glance. HEAD, its upstream, and your merge target are marked right on the rows, the reference pills, and the scroll bar — and hovering Pull or Push shows what’s about to move, and where a pull would conflict, before you run it. Lane folding collapses stretches of history you don’t need, a new Changes column shows the size and shape of every commit, and selecting a branch or tag opens a full sheet with its tracking status, pull requests, issues, and what to do next. When you know the name of what you’re after, press / and start typing — the graph moves to it as you go.
More of your day moves into the graph, too. Your open pull requests and remote branches join the side bar — including full support for GitHub’s stacked pull requests, from layer badges to stack-aware merges — your account, walkthrough progress, and setup status sit in the header, and composing commits with AI now happens in the graph’s details panel instead of a view of its own.
Keeping your branches up to date gets easier, too — with AI handling any conflicts along the way. Choose Automatic Rebase and GitLens runs the rebase start to finish, resolving every conflicting step, then hands you a summary explaining each decision it made — with one-click undo if you don’t like what you see. GitLens can also verify SSH-signed commits now, with a new visual editor that builds the allowed-signers file Git needs for you.

Graph is the New Home
A Graph That Shows You Around
The graph now has your back at every step. Signed out, you get a Get Started with GitLens screen with a rotating spotlight of what GitLens unlocks — or a Verify your email prompt when the connected account isn’t verified. Completing sign-in lands on a welcome that introduces the graph and its walkthrough. Arrive via a specific task — composing, an AI review, comparing, or resolving conflicts — and the screen speaks to that task, then returns you to it once access is restored.
With no repository open, an empty state offers Open a Folder, Clone a Repository, and Start a New Project (or Open Remote Repository in web and virtual environments); Restricted Mode offers Manage Workspace Trust, refreshing to your history the moment trust is granted. A one-time prompt on first entry asks whether you’d rather run the graph vertically in the side bar or horizontally in the bottom panel, and moves it there for you.
Contextual how-tos fill in the rest: the first time you reach a feature — commit details, Compose, Review, conflicts, Resolve, Compare, the agents list, and more — a short tip opens right where you are. Dismiss it for good, or park it on a lightbulb to reopen any time, with “new” dots marking the features you haven’t tried yet.
Your Account
An account pill sits in the graph header, ringed in a color that tracks your entitlement. Opening it rolls up your account, your walkthrough progress, and your AI, Agents, and Integrations setup status — each deep-linking into the matching part of GitLens Settings, where the renamed Show Account in Settings command also lands. The Launchpad pill beside it becomes a compact severity dot — red when anything is blocked, yellow for other actionable work — with the full breakdown on hover.
All-New Commit Graph
The Commit Graph is now drawn by an all-new rendering engine, rewritten from the ground up. Loading, rendering, updating, and scrolling are all significantly faster, it uses substantially less memory, and it’s far more accessible to keyboards and screen readers.
- Grouped columns by default — the Graph and Branches / Tags columns fold together into a compact anchor zone, with
gitlens.graph.lanes.grouped.minandgitlens.graph.lanes.grouped.maxcontrolling how many lanes render inline and how much of the row width they may claim. - Compact lanes by default — a new
gitlens.graph.lanes.densitysetting defaults tocompact, and the author, date, and SHA columns start narrower. - Lane folding — collapsible lane segments get expand/collapse chevrons in a fold strip beside the graph, configurable via
gitlens.graph.lanes.folding.enabledandgitlens.graph.lanes.folding.default. - A responsive row layout — the new
gitlens.graph.stylesetting picks betweentable(single-line rows with columns) andlist(stacked two-line rows), withautoswitching tolistwhen the view is too narrow for the columns — which is what you’ll get in the side bar until you widen or move it. - A sticky timeline — a pill groups scrolled rows into the same relative time buckets as the date column, expanding while you scroll to reveal the range and yielding when it overlaps something interactive, with optional separator lines between date groups (
gitlens.graph.timelineSeparators). - Better columns — inline filter buttons that reveal on hover, breadcrumbs showing the grouping hierarchy, double-click auto-fit that measures real date formats, a wider resize hit area, and a new Quick Refresh button that re-lays out the lanes on demand without a refetch.
- Full keyboard navigation — the graph is now a standard WAI-ARIA tree with a comprehensive set of shortcuts for jumping around, folding lanes, toggling panels, and acting on rows — press ? anywhere in the graph for the full reference.
Always Know Where You Stand
HEAD, its upstream, and your merge target are now called out everywhere the graph can call them out:
- Role-colored reference pills and row markers — HEAD in green, its upstream in a deeper green of the same hue (they’re one branch shown in two places), and the merge target in its own role color. Each of those commits also gets a left-edge indicator that expands on hover, and references sitting on the same commit collapse into one.
- A merge target scroll marker — a full-width line on the scroll bar alongside the existing HEAD and upstream markers, themeable via
gitlens.graphScrollMarkerMergeTargetColor. Right-clicking the rail toggles marker types in place, clicking a marker now selects and focuses its row instead of just scrolling near it, and the optional extra marker types are off by default to cut clutter. - Unpulled and unpushed row decorations — commits waiting to be pulled are decorated in red and commits waiting to be pushed in green, so what’s incoming and what’s outgoing reads at a glance.
- A quick-access overview bar — the working changes (WIP) bar becomes a jumping-off point for your recent worktrees, with an indicator dot on any row carrying uncommitted changes. When the main row isn’t sitting on HEAD it grows a jump pill for hopping to HEAD, the upstream (with ahead/behind), and the merge target. The new
gitlens.graph.overviewBar.visibilitysetting controls when the bar appears —worktreesby default, oralways,dirtyWorktrees, ornever. - New default colors — a perceptually-uniform lane palette for dark and high-contrast themes where no lane dominates, plus retuned HEAD and upstream greens that separate on brightness rather than saturation so they stay distinguishable with color blindness. Existing
gitlens.graphLane1Color–gitlens.graphLane10Colorcustomizations are honored, and branch highlighting now follows a branch’s own lane and stops at its merge base.
Find and Jump Faster
- Type-ahead reference finder — press / anywhere in the graph (or the search icon in the references column header) and type to jump to a branch, tag, or worktree by name. The graph moves as you type, the match’s pill fills and its row flashes, and ↑/↓ step through the rest. Abbreviated path segments work too —
d/f/foofindsdebt/feature/foo. References whose commits aren’t loaded yet are offered dimmed, and Enter fetches and jumps to them. - Jump to the commits a pull or push will move — hovering the Pull or Push button offers a jump to the commits involved, and Alt+click does the same without acting.
- See where a pull would conflict
PRO— the pull preview warns in one line when pulling would hurt: either that uncommitted changes to the same files will block it, or how many files it would conflict in, simulated the way yourpull.rebasesetting says the pull will actually integrate. Requires Git 2.33 or later. - A minimap that shows up when it’s useful — the minimap is now hidden by default and appears while searching, so matches are visible as they stream in. When to show it lives in the new
gitlens.graph.minimap.defaultVisibilitysetting (onSearch,always, orhidden). - Smoother reveals — jumping to a reference, a search result, or a deep link now slides into the target row instead of cutting to it, and reliably lands on it even when the commit has to be paged in first.
- Terminal links open in the Graph — a new
gitlens.terminalLinks.showInsetting (default: the Commit Graph) replaces the old boolean, and ranges likemain..featureorHEAD~3..HEADare now detected and opened as comparisons rather than linking only the trailing SHA.
Branch and Tag Sheets
Selecting a branch or tag reference now opens a sheet for it in the details panel. Each sheet carries an issue and pull request strip, upstream and merge-target relationship cards with tracking status and the relevant sync, rebase, or merge actions (click the counterpart’s name to change it), AI Explain and Generate Changelog actions, and next-step rows tailored to the kind of ref. Tags default their comparison to the newest previous tag; remote branches compare against their merge target.
Sheets also carry Focus and Hide toggles, an Open on Remote chip, and the agent sessions that ref’s worktree can resume. They refresh in place as the graph changes and close when their ref disappears, and actions run against the branch’s worktree when it’s checked out somewhere else.
The Changes Column
A new Changes column shows each commit’s diffstat, with four visualizations you can switch between from the column header: numbers, squares, bar, and bipolar (a two-sided bar). It degrades gracefully as the column narrows — down to a single “churn ring” glyph at its narrowest — and uses positional, grayscale-friendly markers so deletions stay distinguishable without relying on color.
Because computing stats can be expensive on large repositories, the column is off by default and offers a one-time opt-in (gitlens.graph.changesColumn.enabled, with the visualization in gitlens.graph.changesColumn.mode).
Remote Branches in the Branches Side Bar
The Branches panel gains a Show Remote Branches toggle (sharing gitlens.views.branches.showRemoteBranches with the Branches view), with remote branches keeping their prefix, grouping under their remote in tree layout, and showing their remote’s provider icon. Every branch, worktree, and remote-branch row also picks up an inline Focus action, plus pinned and current-branch indicators.
Stacked Pull Requests
GitLens now understands GitHub’s stacked pull requests, so a stack reads as one piece of work instead of a pile of unrelated branches.
Selecting any layer opens its pull request sheet with a stack map — the whole stack laid out in order, so you can see how many layers there are, where you sit among them, and step to any other. In the side bar, a stack’s layers group together in the new Pull Requests panel, and each layer is badged with its position on reference pills and in hovers. Focus Pull Request on any layer scopes the graph to the whole stack rather than the single branch you clicked.
Merging routes through GitHub’s stack-aware merge, with a confirmation naming how many pull requests will land. Launchpad picks up the same context — stacked pull requests show their layer position, and merging one becomes Merge Stack…, running under cancellable progress and reporting any failures.
Pull Requests in the Graph
A new Pull Requests panel lists the repository’s open pull requests, most-recently-updated first, each with a Launchpad-style status indicator when it needs attention, a fork glyph when it came from a fork, and a hover adding CI, review, and change-size signals. Rows lead with a state-aware action — Switch to Branch…, Open in Worktree…, or Open Worktree in New Window… — then Open Pull Request on Remote and Focus, which scopes the graph to the pull request’s branch, offering to fetch it first when it isn’t local yet. When the remote has no integration connected, the panel offers to connect one instead of showing an empty list.
Selecting a pull request anywhere in the graph opens its details sheet — details, description, and stack map, with switch and worktree actions, Compare Changes, Review Changes (an in-place AI review), Review with Agent…, and a split merge button offering merge, squash, or rebase that confirms in place.
AI and Agentic Feature Improvements
Automatic Rebase, Start to Finish
The AI Resolve mode introduced in 18.2 can now drive an entire rebase. Choose Automatic Rebase in the rebase quick menu, or Continue Automatic Rebase on an already-paused rebase, and each conflicted step is resolved, staged, and continued automatically — pausing for review only when confidence falls below the new gitlens.ai.autoRebase.confidenceThreshold setting, or when something genuinely needs you.
The run narrates itself in the Commit Graph‘s Resolve panel rather than a progress notification: which step it’s on, a progress bar, what it’s doing right now, and every conflict already resolved with its strategy, confidence, and reasoning. When automation stops, the same panel fills in with the resolutions it already computed. A Cancel Rebase action restores the branch’s pre-rebase state mid-run, and on completion a per-step summary shows every file’s strategy and reasoning with before/after diffs, plus a validated Undo that refuses if the branch has moved since.
AI Resolve can now consult your repository — when a conflict hunk is too ambiguous on its own, it can read the file, blame or log the lines in question, search for other uses of the symbols involved, and diff the two sides before choosing. Consultation is read-only and bounded, reported as it happens in the Resolve panel, and each resolution’s reasoning cites what it consulted. Your AI file-exclusion rules (gitlens.ai.exclude.files and .aiignore/.cursorignore/.aiexclude) now apply to everything AI reads, not just what it’s asked to change.
A new gitlens.ai.resolveConflicts.customInstructions setting gives AI standing guidance for every conflict it resolves — “prefer the incoming side for lock files”, say — with instructions you type for a single run still applying on top.
The rebase quick menu’s confirm step is now three options — Rebase, Automatic Rebase, and Interactive Rebase — with an Update Branches toggle applying --update-refs to whichever you pick.
Composing Commits
The standalone Commit Composer webview is gone — composition now lives in the Commit Graph‘s details panel. Recompose on a branch, a commit selection, or a single commit resolves a covering range and seeds the inline scope picker, merge topologies and interior ranges included. A new top drag handle scopes a compose to staged changes only, commits only, or an arbitrary range, and recompose anchors on the branch’s worktree, offering to create one when the branch isn’t checked out anywhere.
AI composition itself gets sharper too: commit message convention detection is more accurate, noise hunks are filtered out of proposals, and very large change sets are handled far better.
Code Review
Review mode can now be scoped to unstaged changes only, and reviews of working changes include untracked files — staged into a scratch index rather than your repository’s, so a review can never disturb what you have staged.
New Model and Agent Harness Support
GitLens adds support for Gemini 3.6 Flash and 3.5 Flash-Lite, and expands the set of models available through GitKraken AI — the current OpenAI, Gemini, and Anthropic models straight from your GitKraken account, no API key of your own required.
Per-feature AI model selection is now available for Composing Commits, Reviewing Changes, and Resolving Conflicts, each using a different model from your default.
A new Agents configuration in the GitLens Settings view that lists every detected coding agent grouped by kind, each with a Default agent picker and, for CLI agents, easy controls to install GitKraken MCP and Claude Hooks.
Verify SSH-Signed Commits
A new Edit SSH Allowed Signers editor builds the allowed_signers file Git needs to verify SSH-signed commits. Open it from the Command Palette, or from Add to allowed signers… on an unverified SSH signature in a commit’s signature details. It finds candidate signers in the public keys embedded in your repository’s SSH-signed commits — entirely offline, on any host — and cross-checks them against each signer’s registered SSH signing keys when a GitHub or GitLab integration is connected, marking keys as signed-here, provider-verified, or both. Review each signer’s avatar, email, fingerprint, provenance, and signed-commit count, choose who to include, pick the target file, and optionally point gpg.ssh.allowedSignersFile at it globally or per repository — merging into an existing file without clobbering your manual entries.
A Deeper Settings Page
The GitLens Settings page rebuilt in 18.3 gains new sections and a reorganized category rail, grouped into Setup, Integrations, Views, Editor, and General.
- Account leads the rail — your account, plan, and subscription actions, with your avatar on the rail item once you’re signed in.
- Get Started is where a first open now lands — a four-step setup launchpad (sign in, connect integrations, choose an AI model, set up agents) with a completion ring tracking what’s left.
- Agents lists every detected coding agent grouped by kind, each with a Default picker and, for CLI agents, install controls for GitKraken MCP and Claude Hooks.
- Custom Remotes configures the
gitlens.remotessetting in the UI instead of hand-editing JSON. - Per-feature AI models — Composing Commits, Reviewing Changes, and Resolving Conflicts can each use a different model from your default, with every row naming the model it will actually use and a Use Default action to drop an override.
Performance and Reliability
- Faster, smaller webview payloads — improved compression and payload sizes, batching, and less extension-to-webview chatter over IPC.
- Less Git work — work avoided or delayed, better caching and sharing, leaner Git calls, and improved Git priority queueing to cut latency.
Added
- Adds a new home for GitLens — the Commit Graph now leads the GitLens side bar as its main view (only the default location changes, so a graph you moved yourself stays put, and a one-time prompt offers the bottom panel), adapting to the side bar’s width with compact list-style rows and the details panel below the graph; widen or move the view for the columnar table layout (#5545)
- Adds empty states — with no repository open, offers Open a Folder, Clone a Repository, and Start a New Project actions (an Open Remote Repository action in web/virtual environments), and in a workspace running in Restricted Mode offers Manage Workspace Trust, refreshing to your history as soon as trust is granted (#5408)
- Adds a sign-in experience — signed-out users see a Get Started with GitLens screen with a rotating spotlight of what GitLens unlocks, completing sign-in lands on a welcome that introduces the graph and its walkthrough, and arriving via a specific task (composing, an AI review, comparing, or resolving conflicts) shows messaging for that task and returns you to it once access is restored (#5534)
- Adds an account pill to the header — ringed in a color tracking your entitlement, opening a rollup with your account, walkthrough progress, and AI, Agents, and Integrations setup status, each deep-linking into GitLens Settings; the Show Account command (renamed Show Account in Settings) now opens there too (#5522)
- Adds contextual how-tos (coach marks) — the first time you reach a feature (commit details, Compose, Review, conflicts, Resolve, Compare, the agents list, the overview bar, and more) a short tip opens right where you are; dismiss it for good, or park it on a lightbulb to reopen any time, with “new” dots on the features you haven’t tried yet (#5516)
- Adds What’s New, Help Center, Report Issue (GitHub), and Share Feedback (GitHub) to the graph’s “…” menu and the Welcome view toolbar
- Adds an all-new high-performance rendering engine on the Commit Graph, rewritten from the ground up — loading, rendering, updating, and scrolling are significantly faster, it uses substantially less memory, and it is far more keyboard and screen reader accessible
- Adds column grouping for the Graph and Branches / Tags columns (enabled by default) for a more compact layout, and lane folding to collapse commit histories that aren’t relevant right now
- Adds new perceptually-uniform lane colors for dark and high-contrast themes (existing
gitlens.graphLane1Color–gitlens.graphLane10Colorcustomizations are honored), and branch highlighting that follows a branch’s own lane and stops at its merge base - Adds row markers for HEAD, its upstream, and its merge target — role-colored reference pills (HEAD in a clearer green, its upstream the deeper green of the same hue) with matching markers on the scroll bar — plus row decorations for commits waiting to be pulled (red) or pushed (green)
- Adds a context menu to the scroll marker rail to toggle marker types in place, and clicking a marker now selects and focuses its row instead of just scrolling near it; the optional additional marker types are now off by default to reduce clutter
- Adds previews of what a pull or push would do to the Pull and Push buttons — hovering offers a jump to the commits involved (Alt+click jumps without acting), and the pull preview warns when uncommitted changes would block the pull or how many files would conflict, simulated the way your
pull.rebasesetting will actually integrate (conflict detection requires GitLens Pro and Git 2.33+) - Adds a “quick-access” overview bar for showing and quickly jumping to recent worktrees — use the new
gitlens.graph.overviewBar.visibilitysetting to control when it appears - Adds an indicator dot to working changes (WIP) rows with uncommitted changes, and a “jump pill” on the main WIP row when it isn’t directly attached to HEAD, for easy jumps to HEAD, the upstream, and the merge target
- Adds Apply / Pop Stash… and Apply Copied Changes (Patch) options to working tree (WIP) rows — invoked from another worktree’s WIP row, the changes are applied into that worktree
- Adds a type-ahead reference finder — press
/(or use the search icon in the references column header) and type to jump to a branch, tag, or worktree; ↑/↓ step through matches, and references that aren’t loaded yet are offered too, fetched only when you press Enter - Adds a Show Remote Branches toggle to the side bar’s Branches panel — lists the default remote’s branches alongside local ones (falling back to
originwhen no default remote is set), shared with the Branches view viagitlens.views.branches.showRemoteBranches; remote branches also become pickable in the Focus Branch scope picker - Adds visualization modes for the Changes column — numbers, squares, bar, or a two-sided bar, with compact versions as the column narrows — behind a one-time opt-in overlay to avoid impacting performance by default
- Adds a sticky timeline that names the time period you’re scrolled to, with a new
gitlens.graph.timelineSeparatorssetting to draw dividers between date groups - Adds comprehensive keyboard shortcuts — jump to HEAD, upstream, merge target, or working changes with
h/u/t/w, fold lanes with ←/→, toggle the minimap, side bar, and details withAlt+M/S/D, holdCtrlto highlight the focused branch’s lane, peek the focused commit’s rich hover withi, and press?for the full reference;Escnow closes one thing per press
- Adds an automatic rebase that resolves conflicts end-to-end with AI — choose Automatic Rebase in the rebase quick menu to resolve, stage, and continue each conflicted step, narrated live in the Commit Graph‘s Resolve panel with each file’s strategy, confidence, and reasoning, and a Cancel Rebase action that restores the branch’s pre-rebase state. It pauses for review when confidence falls below
gitlens.ai.autoRebase.confidenceThreshold, and finishes with a per-step summary and a validated Undo (#5450) - Adds repository consultation to AI-powered conflict resolution (Preview) — when a conflict hunk is ambiguous on its own, AI can now read the file, blame or log the lines in question, search for other uses of the symbols involved, and diff the two sides before choosing a resolution. Consultation is read-only and bounded, reported as it happens in the Commit Graph‘s Resolve panel and the automatic rebase, and each resolution’s reasoning cites what was consulted; your AI file-exclusion rules (
gitlens.ai.exclude.filesand.aiignore/.cursorignore/.aiexclude) now apply to everything AI reads (#5581) - Adds a
gitlens.ai.resolveConflicts.customInstructionssetting — standing guidance for AI conflict resolution (e.g. “prefer the incoming side for lock files”), applied to every conflict AI resolves; guidance typed for a single run still applies on top - Adds rich pull request support to the Commit Graph — browse, focus, review, and merge pull requests without leaving the graph
- Adds a Pull Requests panel to the side bar — the repository’s open pull requests, most-recently-updated first, with Launchpad-style status indicators and rich hovers; rows offer switch and worktree actions, Open Pull Request on Remote, and Focus, which scopes the graph to the pull request’s branch — offering to fetch it first (even from a fork) when it isn’t local yet
- Adds a pull request details sheet — selecting a pull request anywhere in the graph opens its details, description, and stack map, with switch and worktree actions, Compare Changes, Review Changes (an in-place AI review), Review with Agent…, and a split merge button (merge, squash, or rebase) that confirms in place
- When the repository’s remote has no integration connected, the panel offers to connect one and fills in without a reload
- Adds support for GitHub’s stacked pull requests
- Badges each layer with its position on ref pills and hovers, and groups a stack’s layers in the new Pull Requests panel
- Focus Pull Request on any layer scopes the graph to the whole stack, and the pull request sheet’s stack map lets you step between layers
- Merging routes through GitHub’s stack-aware merge, with a confirmation naming how many pull requests will land
- Adds stack context to Launchpad — stacked pull requests show their layer position, and merging one becomes Merge Stack…, running under cancellable progress with failures reported
- Improves the Commit Graph‘s details panel — smarter placement and new full-height sheets
- Docks to whichever side of the graph has the room, gains a maximize control (automatic when entering compose, review, resolve, or compare, via
gitlens.graph.details.maximizeOnMode), and double-clicking a splitter resets it - Adds a branch and tag details sheet — selecting a branch or tag reference opens its issue and pull request, upstream and merge-target relationship cards with sync, rebase, and merge actions (rooted at the ref’s own worktree), Focus and Hide toggles, Open on Remote, and AI-powered Explain and Generate Changelog actions — for tags, the changelog covers what shipped since the previous tag
- Adds keyboard support to file trees —
Spacetoggles a row’s checkbox (e.g. staging),Alt+Spaceunchecks a mixed one (matchingAlt+click), andCtrl/Cmd+Fopens and focuses the tree’s search/filter box
- Docks to whichever side of the graph has the room, gains a maximize control (automatic when entering compose, review, resolve, or compare, via
- Adds AI agent session enhancements to the Commit Graph and Home — a Resume Agent Session… option on working tree (WIP) rows to open live sessions or resume past ones, sessions listed in the working-changes and branch details, and completed sessions from the last 30 days available behind a filter toggle in the Agents panel, each with Resume Session and Archive Session actions
- Adds support for locked worktrees — new Unlock Worktree commands, and deleting a locked worktree now surfaces the lock’s reason with an offer to force-delete instead of failing with a raw Git error
- Improves the GitLens Settings page with new sections and a reorganized category rail (#5392)
- Adds an Account section leading the rail — your account, plan, and subscription actions, with your avatar on its rail item when signed in
- Adds a Get Started section, where a first open now lands — a four-step setup launchpad (sign in, connect integrations, choose an AI model, set up agents) with a completion ring tracking what’s left
- Adds an Agents section — every detected coding agent grouped by kind, each with a Default picker and, for CLI agents, install controls for GitKraken MCP and Claude Hooks
- Adds a Custom Remotes section — configures the
gitlens.remotessetting in the UI instead of hand-editing JSON - Adds per-feature AI model controls to the AI section — the model for Composing Commits, Reviewing Changes, and Resolving Conflicts can each be set independently of the default, with each row naming the model it will actually use and a Use Default action to drop an override
- Reorganizes the category rail into Setup, Integrations, Views, Editor, and General groups
- Adds an optional
modeparameter to thegraphcommand deep link (e.g.vscode://eamodio.gitlens/link/command/graph?mode=compose) — opens the Commit Graph directly into Compose or Review (#5226) - Adds an Edit SSH Allowed Signers editor — discovers signers from this repository’s SSH-signed commits and from connected GitHub and GitLab signing keys, then writes an
allowed_signersfile (optionally pointinggpg.ssh.allowedSignersFileat it) so Git can verify SSH-signed commits. Open it from the Command Palette, or from Add to allowed signers… on an unverified signature (#5469) - Adds support for Gemini 3.6 Flash and Gemini 3.5 Flash-Lite AI models
Changed
- Changes the Home, Cloud Patches, and Cloud Workspaces views to be hidden by default — applied once on upgrade too (landing you on the Graph in its new home); each remains available from the Command Palette and stays visible once shown (#5545)
- Changes commit composition to happen in the Commit Graph‘s details panel, now the single place to compose — the standalone Commit Composer editor is gone, and every entry point (the Compose Commits… command, the Source Control view, the GitLens views, Home, the GitKraken MCP tools, and the Interactive Rebase Editor) opens compose in the graph instead. Recompose on a branch, a commit selection, or a single commit works there too, and a new drag handle narrows a compose to staged changes only, commits only, or a range of the two. AI composition also improves — more accurate commit message convention detection, noise hunks filtered out of proposals, and better handling of very large change sets (#5506)
- Changes the rebase quick menu’s confirm step — an Update Branches toggle now applies
--update-refsto whichever rebase you choose (Rebase, Automatic Rebase, or Interactive Rebase), replacing the separate & Update Branches variants (#5450) - Changes paused-rebase auto-open (
gitlens.rebaseEditor.openOnPausedRebase) to only open for rebases you’re driving from GitLens — a newautovalue, now the default, ignores paused rebases started outside GitLens (terminals, agents, other tools), which previously popped open the Interactive Rebase Editor or Commit Graph uninvited; set it totrueto restore the previous behavior (#5686, #4954) - Changes paused merge, rebase, cherry-pick, and revert conflicts to surface in one place — the Commit Graph‘s working changes (WIP) details, or the Interactive Rebase Editor for rebases when the graph isn’t usable
- Changes the Commit Graph‘s paused-operation bar into a state-driven strip — a labeled primary action (e.g. Resolve 3 Conflicts), an all-resolved ready state, a “paused at step m/t” link that jumps to the commit being applied, Continue with Empty Commit where Git offers it, and paused reverts can now be continued end-to-end
- Changes the Commit Graph sidebar to be unpinned by default — it floats over the graph and auto-collapses when it loses focus or on Esc; pin it (or set
gitlens.graph.sidebar.pinned) to restore the shared-space layout (#5447) - Changes the Commit Graph header’s jump-to-reference button into a Focus Branch control — clicking focuses (scopes) the graph to the current branch (clicking again clears it), and Alt-clicking opens the Focus Branch picker; branch and worktree rows in the side bar gain an inline Focus action too (#5556)
- Improves branch pinning in the Commit Graph — the off-screen HEAD and pinned-branch indicators merge into a single waypoints capsule, the pinned branch gets its own scroll bar marker, unpinning now lives on the reference pill itself, and side bar rows show pin and current-branch indicators (#5409, #5626, #5624)
- Changes the Commit Graph header’s Launchpad pill into a compact indicator — a severity dot on the rocket (red when anything is blocked, yellow for other actionable work) with the full breakdown on hover (#5522)
- Changes the Commit Graph minimap to be hidden by default and shown while searching — controlled by a new
gitlens.graph.minimap.defaultVisibilitysetting ("onSearch", the new default,"always", or"hidden");gitlens.graph.minimap.enabledgoes back to a plain boolean for whether the minimap is available at all — setdefaultVisibilityto"always"to keep the previous always-shown behavior (#5598) - Changes where terminal links open — a commit, branch, or tag clicked in the terminal now opens in the Commit Graph by default, configurable via the new
gitlens.terminalLinks.showInsetting (replacinggitlens.terminalLinks.showDetailsView; existing values migrate), and ranges likemain..featurenow open as a comparison - Changes when the Commit Graph side bar’s Worktrees panel loads each worktree’s working change counts — a fast check settles clean vs. dirty and the
+N ~M -Kbreakdown loads only when you hover a row, instead of agit statusper worktree up front - Changes the Pro feature gate to adapt to constrained spaces — the feature list, messaging, and spacing compact in narrow or short placements without hiding content (#5519)
- Improves switching AI models — with a provider already selected, the picker opens directly to its model list, with a Change AI Provider entry keeping provider switching one pick away (#5584)
- Changes GitLens: Reset Stored Data… — adds AI model, GitKraken CLI install, and Commit Graph cache resets, and a full reset now prompts to reload the window
- Improves Commit Graph and commit details performance — reference metadata loads through a bounded pool and streams in as it lands, background worktree probes no longer compete with the graph’s own Git work, holding a navigation key no longer spawns a Git process per row crossed, and commit details open faster and stay interactive during refreshes
- Renames the Home view’s GitHub Issues and GitHub Discussions actions to Report Issue (GitHub) (now opening the new-issue template chooser) and Share Feedback (GitHub)
Fixed
- Fixes blame going stale for open files after you commit, pull, or switch branches outside of VS Code — blame annotations, hovers, and CodeLens kept showing an older commit for lines a newer commit had changed, until the file was reopened or the window reloaded; this affected repositories at any path containing an uppercase character — nearly all of them on Windows and macOS (#5523)
- Fixes diffs opened from GitLens views and details landing at the top of the file instead of scrolling to the first change
- Fixes per-file actions (stage, unstage, conflict options) missing from working-changes file rows in the Commit Graph and Inspect views (#5548)
- Fixes GitLens silently pinning your AI provider to Copilot without you ever choosing it — GitKraken AI is now the only provider selected automatically, nothing is written to
gitlens.ai.modelunless you pick a model yourself, and settings written by the old behavior are cleared on upgrade, leaving choices you made yourself untouched (#5612) - Fixes a scoped AI model selection leaking into the global default — resolving a model for Review or Compose could write that operation’s preferred model into
gitlens.ai.modelfor every other AI feature - Fixes AI conflict resolution failing outright on models that don’t accept a temperature (seen as “upstream AI provider error (OpenAI HTTP 400)” on GPT-5 models via GitKraken AI)
- Fixes AI conflict resolution failing with No active merge, rebase, or cherry-pick conflicts to resolve when conflicts exist without a paused Git operation, such as after a
git stash pop(#5487) - Fixes focusing (scoping) the Commit Graph on a branch sometimes dimming the whole graph instead of re-rooting it, dropping the focused branch’s own commits, doing nothing for remote branches, and the focused branch or its working changes row being filtered out from under its own scope
- Fixes the Commit Graph‘s hidden branches/tags list not identifying which refs are hidden — entries now name their remote, group by type, and refs that no longer exist are no longer listed or counted
- Fixes branches with parentheses in their names (e.g.
feat/(wip)) being treated as a detached HEAD — the working changes row vanished and the toolbar showed a SHA instead of the branch name - Fixes a transient Git or network failure being cached and served as a real answer for the rest of the session — blanked branch/tag lists, an authoritative “no issues” for a branch, or stale commit counts that never recovered
- Fixes a branch deleted or renamed through GitLens leaving its stored base and merge target behind — a new branch reusing the name no longer inherits the dead branch’s merge target
- Fixes AI agent sessions being attributed to the wrong worktree, and sessions needing input sometimes showing Allow/Deny actions that could not work — a live permission ask can also no longer be denied by an unrelated event from the same session
- Fixes AI agent sessions from other AI CLIs (Codex, GitHub Copilot CLI, Cursor, OpenCode, Antigravity) appearing as Claude Code sessions on Home and the Commit Graph (#5715)
- Fixes a transient Launchpad failure (e.g. an expired token at startup) sticking the Commit Graph header on an error state for up to 30 minutes with refresh doing nothing
- Fixes the Commit Graph side bar’s Worktrees panel running per-worktree Git commands while collapsed and without bound — on repositories with many worktrees this could saturate GitLens’s Git queue and hold up other Git work
- Fixes the Commit Graph working changes (WIP) details continuing to show files after they were committed or discarded outside of VS Code
- Fixes working-changes actions invoked from another worktree’s row (copy patch, compose, explain, review) acting on the current worktree instead of the row’s worktree
- Fixes Copy Changes (Patch) producing an empty or incomplete patch — fully-staged selections reported “No changes found to copy”, mixed selections silently dropped their staged changes, and renamed files copied as a bare add of the new path
- Fixes the Commit Graph view’s progress indicator repeatedly flashing while nothing appears to change (most noticeable after the window regains focus)
- Fixes the Commit Graph sidebar list hovers repeatedly opening and closing in narrow viewports, and the sidebar restoring at its minimum width after a reload
- Fixes rows in the Commit Graph side bar panels nudging their trailing decorations to the left on hover
- Fixes search results being invisible on the Commit Graph‘s minimap exactly where you were looking — result markers were drawn underneath the visible-range band
- Fixes working tree (WIP) search results (
type:wip) all being marked at today on the Commit Graph‘s minimap — each worktree’s WIP row is now marked at the commit it’s anchored to - Fixes clearing a natural language search in the Commit Graph silently re-populating the search box a moment later
- Fixes the paused-operation bar offering an enabled Continue while Git was still waiting for you to save and close the commit message tab — the bar now holds an in-progress state until the operation actually settles (#5656, #5668)
- Fixes Recompose failing outright when branches or tags point at commits inside the range being recomposed — it now warns that those references won’t follow the new history and recomposes if you continue (#5515)
- Fixes the Commit Graph‘s compose preview misaligning changes for the second and later proposed commits, and dropping earlier hunks of a file renamed with edits — preview only; applying the compose was unaffected (#5596, #5606)
- Fixes excluding an untracked nested repository from a compose having no effect — it was still sent to AI and still committed; its row in Files Changed also now names the directory instead of being blank (#5611, #5629)
- Fixes leaving the Commit Graph‘s compose or resolve panel discarding your typed AI instructions and Refine state — both are restored when you return
- Fixes a review of your working changes never including untracked files, and failing with No changes found when untracked files were the only unstaged changes (#5586)
- Fixes files you excluded from a review being able to reach AI anyway via a cached pre-exclusion diff (#5630)
- Fixes changing
gitlens.ai.ollama.urlkeeping the previously resolved model and model list — the model is re-resolved against the new server (#5633) - Fixes the compare panel’s “commits in between” count reading 0 when the newer commit was picked first (#5547)
- Fixes signing back in after a sign-out interrupted a Commit Graph comparison reopening the comparison on different references (#5671)
- Fixes the Commit Graph header’s account/subscription state never updating after the view loads — sign-in/sign-out, organization switches, and plan changes now update live instead of requiring a reload (#5513)
- Fixes the account panel not showing your account when you aren’t in an organization — solo accounts now show their avatar, name, and email in Home and the Commit Graph
- Fixes GitLens needing a window reload to notice when you trust a workspace — repositories are now discovered as soon as you grant trust
- Fixes issue and pull request loading failing wholesale when an author’s GitHub account has been deleted — one failing item or connection no longer discards the rest
- Fixes self-managed cloud integrations (e.g. GitHub Enterprise, GitLab Self-Hosted) repeatedly issuing a token request the server rejects on every session refresh, and legacy connections stuck reported as connected with no usable token (#5497)
- Fixes a healthy cloud integration being fully disconnected when a backend error lands during an automatic session refresh — only a definitive “no token” response disconnects it now, so transient failures self-heal (#5569)
- Fixes a webview quietly going stale after it reconnects (e.g. moving the Commit Graph between panels) — change notifications stopped flowing and an active search could be silently dropped
- Fixes Alt/Ctrl/Shift-dependent UI staying engaged when focus moves from a GitLens view to an editor or quick pick with the key held
- Fixes commit details showing the autolinks strip when
gitlens.views.commitDetails.autolinks.enabledis off - Fixes file tree search boxes only matching file names — paths with folder separators (e.g.
src/git/) now match - Fixes the Choose Commit… and Search for Commit buttons in the Inspect view’s empty state doing nothing when clicked
Removed
- Removes the Pro feature badge from the Commit Graph header — the Start New menu now occupies that area (#5447)
- Removes the AI terms confirmation prompt — AI features no longer interrupt your first use to ask you to accept; the large prompt warning (
gitlens.ai.largePromptWarningThreshold) is unaffected - Removes code suggestions from Launchpad — affected pull requests now group under their provider-assigned category
- Removes the Reset Current Branch to Previous Commit command from the Commit Graph and the views
- Removes the
gitlens.graph.highlightRowsOnRefHoversetting — click a reference to pin it and highlight its lineage instead - Removes the GitLens: Toggle Commit Graph command from the Command Palette — use Show Commit Graph instead; Toggle Maximized Commit Graph now just reveals the Graph and stays available for existing keybindings (#5545)
Version 18.3
Thursday, July 9, 2026
GitLens 18.3 brings a more capable Compose mode, follow-up conversations in AI Review, smarter AI conflict resolution, and refreshed provider and model support. Plus, the GitLens Settings page has been completely revamped with a modern, two-pane experience and live, interactive previews.
This release also sharpens working changes and worktree control in the Commit Graph — stash or copy a patch of just the files you select, open a partially-staged file’s staged, unstaged, or combined diff, focus the graph on a single branch or worktree, and more. And with working-changes review now consolidated in the Commit Graph, the Inspect view stays focused on commits and stashes.

Leveled-up AI Workflows
AI-powered workflows in GitLens get meaningfully stronger, with more capability and increased control:
- A more capable Compose mode — a dual commit/recompose posture, drag to reorder draft commits, drag to move one or more files between draft commits, and multi-diff Open Changes actions right in the curation file trees.
- Conversations in Review — AI Review mode now supports follow-up conversations, with Discard and Refine actions available in both Compose and Review.
- Smarter model selection — the active model appears as a selectable chip across AI inputs, with consumption-rate and recommendation badges for GitKraken AI models.
- Refreshed provider and model support — newer models land across the registries (OpenAI GPT-5.x, Anthropic Claude 5/4.x, DeepSeek V4, Gemini 3.x, and Grok 4.5/4.3), Hugging Face moves to its OpenAI-compatible router, the xAI provider is renamed SpaceXAI following its rebrand, retired models are hidden, and the GitHub Models provider is removed.
Smarter Conflict Resolution
The AI Resolve mode introduced in 18.2 gets a substantial upgrade. Conflicts the AI can’t auto-merge — binary, symlink, submodule, file-mode, add/add, and rename/rename or rename/delete conflicts — are now labeled by type and offer inline Take Current, Take Incoming, and Delete actions instead of dead-ending as needs review (resolving a rename/rename conflict also removes the other side’s renamed file). UTF-16/BOM-encoded files are decoded so their conflicts can be resolved rather than skipped.
Resolve mode also gains a split-panel Conflict Details sheet (current vs incoming history), resolution scoped to selected files, automatic handling of both-deleted and rename conflicts, per-file confidence indicators, and collapsible resolved/pending sections with progress. You can now jump into it straight from the Interactive Rebase Editor — a new Resolve Conflicts in Commit Graph action on its conflicted-files panel opens the graph in Resolve mode for the rebase’s conflicts.
A Reimagined Settings Experience
The GitLens Settings page has been rebuilt from the ground up. Gone is the single, static, scroll-forever page — in its place is a modern two-pane layout with a searchable, grouped, resizable category rail alongside a detail pane that shows live, interactive previews reacting to your changes as you make them.
- Search everything — matches category names, setting labels, and literal setting names (e.g.
gitlens.currentLine.format), scrolls the match into view, and offers an Open in Settings UI escape hatch for settings not surfaced on the page. Press Ctrl/Cmd+F to jump straight to search. - Previews that match reality — format string examples are rendered by the real formatter, so what you see is exactly what GitLens will display.
- New Cloud Integrations and AI categories — view and connect hosting and issue-service integrations, and manage your AI provider and model, GitKraken MCP, default coding agent, and Claude Code hooks, all in one place.
- Connection-aware cues — the category rail shows a connected/total count for Cloud Integrations and a rule count for Autolinks.
Sharper Working Changes & Worktree Control
Working with changes and worktrees in the Commit Graph (and Inspect view) gets more precise across the board:
- Act on just the files you select — select 2+ files in the working changes (WIP) file list and the Stash and Copy (Patch) toolbar buttons retarget to your selection (hold Alt for the whole-scope action), with a matching multi-select Copy Changes (Patch) context menu command.
- Open exactly the diff you mean — a partially-staged file shows as a single row, but you can now open its Staged, Unstaged, or combined changes from the context menu.
- See more at a glance — a working tree change count badge appears on the Commit Graph panel tab (even while collapsed), per-file added/removed line counts show in the WIP file list, and a new
gitlens.sortWorkingChangesBysetting sorts working changes by their staged/unstaged state. - Quick jumps for files and worktrees — Reveal in Explorer View for working files, Open in Integrated Terminal for worktrees, and Copy Changes (Patch) for whole commits and stashes.
- A cleaner WIP bar and headers — the working changes bar scrolls horizontally with the mouse wheel, keeps the primary repository anchored, and stays out of the way unless a secondary worktree has changes, while the details and WIP panel headers are regrouped into clearer clusters.
Focus the Graph on What Matters
New Focus on Branch, Focus on Worktree, and Solo Branch actions let you zero in on the work you care about. Right-click a branch or worktree in the side bar (or a graph row) to focus the graph and minimap on it, or right-click a working tree (WIP) row to focus or solo the graph on that worktree’s branch. A new auto layout also positions the details panel to the right or bottom based on the graph’s width, with Alt+Click to temporarily pin a location.
Consolidated Working Changes Review
Reviewing working changes now lives in one place: the Commit Graph. The Inspect view drops its Overview (working changes) mode to stay focused on commits and stashes, and Launchpad actions (Switch to Branch, Open Details, and PR switch deep links) now open the Commit Graph at the working changes (WIP) row.
Added
- Redesigns the GitLens Settings page with a modern two-pane layout — a searchable, grouped, and resizable category rail paired with a detail pane showing live, interactive previews that react to setting changes as you make them, replacing the previous single-page scroll and its static images (#5372)
- Search matches category names, setting labels, and literal setting names (e.g.
gitlens.currentLine.format), scrolls the match into view, and offers an Open in Settings UI escape hatch for settings not surfaced on the page; Ctrl/Cmd+F focuses the search - Format string examples are rendered by the real formatter, so the preview always matches what GitLens displays
- Adds Cloud Integrations and AI categories — view and connect hosting and issue service integrations, and manage the AI provider and model, GitKraken MCP, default coding agent, and Claude Code hooks
- Shows connection-aware cues in the category rail — a connected/total count for Cloud Integrations and a rule count for Autolinks
- Search matches category names, setting labels, and literal setting names (e.g.
- Adds the ability to stash or copy a patch of only the selected files from the working tree (WIP) file list in the Inspect and Commit Graph views — selecting 2+ files retargets the Stash and Copy (Patch) toolbar buttons to the selection, with the whole-scope action available by holding Alt, plus a matching multi-select Copy Changes (Patch) context menu command (#5384)
- Adds Open Changes, Open Staged Changes, and Open Unstaged Changes options for working tree files that have both staged and unstaged changes in the Inspect and Commit Graph views — a partially-staged file appears as a single row but you can now open its staged-only, unstaged-only, or combined diff from the context menu (#5385)
- Adds a working tree change count badge to the Commit Graph view — mirrors the Source Control view by showing the number of working tree changes on the GitLens panel tab, even while the panel is collapsed; controllable via the new
gitlens.graph.showWorkingTreeBadgesetting (#5383) - Adds an Open in Integrated Terminal option for worktrees in the Commit Graph and the Worktrees view — opens the selected worktree’s folder in the integrated terminal, matching the action already available for repositories and folders (#5386)
- Adds a Reveal in Explorer View option for working tree (WIP) files in the Inspect and Commit Graph views — right-click a staged, unstaged, or conflicted working file to reveal and select it in VS Code’s Explorer view (#5387)
- Adds Focus on Branch, Focus on Worktree, and Solo Branch options to the Commit Graph — right-click a branch or worktree in the side bar (or a graph row) to focus the graph and minimap on it, and right-click a working tree (WIP) row to focus or solo the graph on that worktree’s branch (#5388)
- Adds manual take-side fallbacks and conflict-type labels to the AI Resolve mode in the Commit Graph WIP details panel — conflicts the AI can’t auto-merge (binary, symlink, submodule, file-mode, add/add, and rename/rename or rename/delete conflicts) are now labeled by type and offer inline Take Current, Take Incoming, and Delete actions instead of dead-ending as “needs review”; resolving a rename/rename conflict also removes the other side’s renamed file. Also decodes UTF-16/BOM-encoded files so their conflicts can be resolved rather than skipped (#5393)
- Adds a commit signing indicator to the Commit Graph‘s working changes (WIP) commit box — a key icon appears when commits will be signed (via the repo’s
commit.gpgsignGit config or VS Code’sgit.enableCommitSigningsetting), with the signing format (GPG, SSH, X.509, or OpenPGP) shown on hover - Adds a Start Review with an Agent action to Launchpad pull request items — after selecting a pull request in the Launchpad, you can start an AI agent review that checks out the PR in a worktree and routes straight to the agent picker (or your default agent); available when AI features are enabled (#5395)
- Adds an auto layout for the Commit Graph details panel that positions it to the right or bottom based on the graph’s width, with Alt+Click to temporarily pin a location (#5402, #5403)
- Adds a Copy Changes (Patch) action to commits and stashes in the Inspect and Commit Graph details — copies a patch of the entire commit or stash to the clipboard (#5455)
- Adds per-file added/removed line counts to the working changes (WIP) file list in the Commit Graph details, loaded lazily when the list is visible (#5456)
- Adds a
gitlens.sortWorkingChangesBysetting to sort working changes (WIP) by their Git staged/unstaged state in the Commit Graph details (#5454) - Adds a Resolve Conflicts in Commit Graph action to the interactive rebase editor’s conflicted files panel — opens the Commit Graph in AI Resolve mode for the rebase’s conflicts; available when AI features are enabled (#5413)
- Adds an Open Changes with Working File (Worktree) action to the commit file menu in the Commit Graph details and Inspect view — compares a committed file against its working copy in the sibling worktree whose branch contains the commit (rather than the currently-scoped worktree), with a worktree picker when more than one applies
- Adds an optional
avatarURL template to custom remotes in thegitlens.remotessetting — enables corporate and self-hosted setups to resolve commit-author avatars via a templated URL with${email},${emailName},${domain}, and${size}tokens; identity values are component-encoded before interpolation to keep attacker-controllable commit emails from injecting URL-structural characters, and templates configured via workspace settings require explicit user approval on first use in a trusted workspace (revocable via GitLens: Reset > Approved Avatar URL Templates…) (#302, #5155) — thanks to PR #1636 by Tmk - Adds a Take your agent workflows further step to the Welcome view walkthrough — introduces Kepler, GitKraken’s Agentic Development Environment (ADE), with a Get Kepler call-to-action (#5378)
- Adds a ConfigCat-based feature flag service for A/B testing and experimentation support (#5092)
Changed
- Changes GitLens AI features (Generate Commits, Explain, Generate Pull Request/Changelog, and AI-powered search) to no longer be labeled (Preview), and consolidates their commands under the
gitlens.ai.*namespace (#5463) - Improves the Commit Composer — adds a dual commit/recompose posture, drag to reorder draft commits, drag to move one or more files between draft commits, and multi-diff Open Changes actions in the curation file trees (#5460)
- Improves AI-powered conflict resolution (Preview) in the Commit Graph working changes (WIP) details — adds a split-panel Conflict Details sheet (current vs incoming history), resolution scoped to selected files, automatic handling of both-deleted and rename conflicts, per-file confidence indicators, collapsible resolved/pending sections with progress, and a dedicated merge icon (#5306)
- Improves the AI Review mode with follow-up conversations, plus Discard and Refine actions in Compose and Review (#5461)
- Improves AI model display and selection across AI inputs — shows the active model as a selectable chip and surfaces consumption-rate and recommendation badges for GitKraken AI models (#5425)
- Updates AI provider and model support — migrates Hugging Face to its OpenAI-compatible router, renames the xAI provider to SpaceXAI following its rebrand, and refreshes the model registries, adding newer models (OpenAI GPT-5.x, Anthropic Claude 5/4.x, DeepSeek V4, Gemini 3.x, and Grok 4.5/4.3) and hiding retired ones (#5462)
- Changes commits created from the Commit Graph‘s working changes (WIP) commit box to honor VS Code’s
git.enableCommitSigningsetting — matching the built-in Source Control commit behavior; previously only the repo’scommit.gpgsignGit config was respected - Changes the Commit Graph side bar icons to switch back to the graph and open the details panel when clicked from the visualization/kanban modes, instead of being disabled (#5401)
- Improves the working changes (WIP) bar in the Commit Graph — scrolls horizontally with the mouse wheel, keeps the primary repository anchored, and hides unless a secondary worktree has changes (#5457)
- Reorganizes the details and working changes (WIP) panel headers in the Commit Graph and Inspect views — groups navigation and actions into clearer clusters, folds the Inspect view’s separate navigation bar into the details action row, and adds branch and create context menus (#5459)
- Improves keyboard focus and navigation in the webview tree views — each row is a single tab stop that cycles its inner controls, Space no longer double-toggles checkboxes, multi-select keyboard navigation is fixed, and checkbox focus rings are visible (#5458)
- Changes copying changes to a worktree to no longer prompt to open that worktree afterward
- Changes stashing to use the Commit Graph working changes (WIP) commit-box draft message when one is present
- Renames the Open Worktree File action to Open File (Worktree) for consistency with the new Open Changes with Working File (Worktree) action
Removed
- Removes the Overview (working changes) mode from the Inspect view, making it commit/stash-only — reviewing working changes is now consolidated in the Commit Graph. Launchpad Switch to Branch and Open Details actions, and PR switch deep links, now open the Commit Graph at the working changes (WIP) row instead of the Inspect view; the Launchpad code-suggestion entry points are retired (code suggestions remain available in the Commit Graph) (#5399)
- Removes the Streamline Workflow with the Home View step from the Welcome view walkthrough (#5378)
- Removes the GitHub Models AI provider (#5462)
Fixed
- Fixes Anthropic AI requests failing with a 400 Bad Request when the request includes a system message (e.g. generating or recomposing commits with the commit composer, or AI conflict resolution) — system-role messages are now hoisted into the top-level
systemparameter that Anthropic’s Messages API requires, and unrecognized Anthropic errors now surface their actual message instead of a bare Bad Request (#5426) - Fixes the coding agents integration running the GitKraken CLI during extension startup — the agent-detection probe is now deferred out of the initial render window so it no longer competes with Commit Graph and Home view loading, and a fresh CLI install on first launch no longer leaves the detected agents list empty for up to 5 minutes
- Fixes creating a branch from a remote ref incorrectly setting upstream tracking when the new branch name differs from the remote branch name — e.g. creating
feature/foofromorigin/mainno longer makes it trackorigin/main; affects Create & Switch to Branch, Switch to… → Create & Switch to New Local Branch, and Create Branch in New Worktree (#5360) - Fixes Keep Staged not keeping staged changes when stashing selected files — choosing Keep Staged while stashing specific tracked files no longer drops the
--keep-indexflag, so staged changes are correctly kept intact (#5281) - Fixes pushing a branch that needs a force-push (e.g. after an amend or rebase) silently reporting success without updating the remote — a non-fast-forward (tip of your current branch is behind) rejection is now surfaced as an error instead of being swallowed as non-fatal (#5364)
- Fixes Fetch, Pull, Switch, Reset, and Restore operations silently reporting success when the underlying Git command failed with a message Git treats as a warning (e.g. an unreachable remote, or an invalid ref/revision) — these failures are now surfaced as errors instead of being swallowed as non-fatal
- Fixes the working changes (WIP) stats tooltip in the details header duplicating the visible stats pill instead of describing the change breakdown — the tooltip now reads e.g. 1 file added, 2 files changed in the working tree
- Fixes a stray gap in the Commit Graph header next to the fetch and sync actions when the current branch is already published — the publish action no longer reserves empty space once the branch has an upstream
- Fixes the design of the paused-operation banner (shown during a merge, rebase, cherry-pick, or revert in the Commit Graph/Inspect details and Home) — the Continue action now uses a start icon, and the action buttons’ hover and active states blend into the banner instead of showing a clashing grey toolbar highlight (#5394)
- Fixes selection and folder expand/collapse state not persisting across refreshes in grouped webview tree views when identical paths appear in different groups
- Fixes the AI input in the Commit Graph details stealing keyboard focus when the panel switched modes automatically
- Fixes the Commit Graph showing an incorrect worktree count when a worktree fetch fails or is unsupported
- Fixes the commit-message headline occasionally rendering at the wrong size before autolinks finish loading in the commit details
- Fixes stray menu-popover styling leaking onto nested tooltips
Version 18.2
Monday, June 15, 2026
GitLens 18.2 brings AI-powered conflict resolution into your workflow. When a merge, rebase, or cherry-pick pauses on conflicts, you can now hand the messy parts to AI — it works through your conflicted files in parallel, proposes a resolution for each, and lets you review every change before anything touches your working tree. Refine the whole run with a prompt, give per-file feedback, or take just the resolutions you trust.

Resolve Conflicts with AI
Merge conflicts can be one of the most disruptive moments in a developer’s day. GitLens 18.2 introduces a brand-new Resolve mode in the Commit Graph details panel that uses AI to work through them for you — across merges, rebases, and cherry-picks alike.
When an operation pauses on conflicts, the working changes (WIP) details panel leads with a Resolve action. Resolve mode opens to a list of your conflicted files — click any file to open it (conflict markers and all) and inspect it first — then hit Resolve to let AI go to work. It resolves files in parallel, streaming its progress as it goes, and for each file reports what it did: merged the changes, kept current, took incoming, deleted, or flagged the file as needs review when it wasn’t confident enough to resolve it automatically.
Nothing is applied until you say so. Every proposed resolution is reviewable as a diff before it lands, and from the results you can:
- Refine the whole run — add a prompt with extra guidance and re-resolve everything at once.
- Give per-file feedback — not happy with a single file? Add a note and re-resolve just that one.
- Apply or Discard — apply the resolutions you trust to your working tree, or discard them and resolve manually. Files marked needs review are left conflicted for you to handle.
You can start a resolution from wherever you run into a conflict:
- The Resolve action on the working changes (WIP) details header and on the paused-operation (merge/rebase/cherry-pick) banner
- Context menus and WIP row buttons in the Commit Graph — Resolve All Conflicts with AI, or scope it to selected conflicted files
- The Command Palette — Resolve Conflicts with AI
- The Resolve Conflict with AI action on individual conflicted files in the sidebar views
Added
- Introduces AI-powered conflict resolution (Preview) — a new Resolve mode in the Commit Graph WIP details panel that uses AI to resolve merge, rebase, and cherry-pick conflicts (#5306)
- Resolves conflicted files in parallel with streamed progress, proposing a per-file resolution (merged, kept current, took incoming, deleted, or flagged as needs review) that you review as a diff before anything is applied
- Adds the ability to refine the whole run with a prompt, give per-file feedback to re-resolve a single file, and apply or discard the proposed resolutions
- Adds entry points across GitLens: a Resolve action on the WIP details header and the paused-operation banner, Commit Graph context menus and WIP row buttons (all conflicts or selected files), the Resolve Conflicts with AI Command Palette command, and a Resolve Conflict with AI action on individual conflicted files in the sidebar views
- Adds clickable file links in the resolve panel that open a conflicted working-tree file so you can inspect it before resolving
Changed
- Changes the working changes (WIP) details header to lead with the Resolve action when conflicts are present, ahead of Compose, Review, and Compare
- Updates the design and readbility of the Pro feature gates (e.g. Commit Graph, Visual History) — with an optional Switch Repos action to move to a repository where the feature is available (#5335)
- Improves the AI weekly usage-limit message with a Get More Credits action to purchase additional AI credits for users who can buy credits, or guidance to contact an org admin for those who can’t (#5298)
Version 18.1
Tuesday, June 9, 2026
GitLens 18.1 introduces powerful new ways to manage your workflow directly from the Commit Graph. You can now squash, drop, reword, and reorder commits without leaving the Graph, as well as push or undo a commit in a single click. A new working changes bar at the top of the Graph also makes it easier than ever to jump between worktrees and track changes.
This release also improves the working changes (WIP) experience, allowing you to discard changes, copy as a patch, add co-authors, and jump between changes and commits. Finally, we’ve added multi-select file actions to the Details and Inspect views, and refined the experimental Agent Activity Treemap with a live, decaying heatmap.

Edit History, Directly in the Commit Graph
You no longer need to drop into the Interactive Rebase Editor for everyday history edits — the Commit Graph now does them inline. Right-click a commit on the current branch to Reword its message, or select two or more contiguous commits to Squash them into one (reviewing and editing the combined message, or keeping just the oldest). Select any set of commits to Drop them outright. And when you do want the full editor, a new Modify Commits (Interactive Rebase) action opens the Interactive Rebase Editor scoped from the commits you selected, ready for squashing, rewording, reordering, dropping, and editing.
A Deeper Working Changes Experience
The working changes (WIP) experience across the Commit Graph and Inspect view gets a major lift in 18.1 with more actions and better visibility of working changes across worktrees.
- Working changes bar — a horizontal bar above the Graph shows a pill for every worktree with uncommitted changes (primary and secondary alike), with its branch, agent status, and a hover breakdown of changed files. Click a pill to reveal and select that worktree’s changes and open its details.
- Discard changes — discard working changes per-file or in bulk, with safe partial discard for files that have both staged and unstaged changes (the first discard drops only the unstaged portion, preserving what’s staged).
- Copy Changes (Patch) — copy a unified diff of your uncommitted changes to the clipboard; copies staged changes by default and unstaged on Alt-click when both are present.
- Add Co-authors — a button on the working changes commit box opens the contributor picker and appends the selected co-authors directly to the Graph’s commit message.
- Jump between changes and commit — a new action in the working changes header selects the branch tip commit your changes are based on, complementing the existing jump from a commit to its working changes.
Working changes file lists now also honor VS Code’s scm.defaultViewSortKey setting (keeping unresolved conflicts at the top), and partially staged (mixed) files are counted and badged more clearly.
Multi-Select File Actions
You can now multi-select files in the Commit Graph details and Inspect view to act on several at once — Ctrl/Cmd+click to toggle, Shift+click for a range, and Ctrl/Cmd+A to select all. Batch actions are available from the context menu and toolbar: open files, open selected changes as a multi-diff, open on remote, and copy paths or relative paths — plus stage, unstage, stash, and discard for working changes.
Quick Commit Actions: Push to Commit, Undo, and Publish
- Push to Commit — commits ahead of the branch’s upstream now show an unpushed indicator that doubles as a one-click action to push up to (and including) that commit, also available in the commit’s context menu.
- Undo Commit — a HEAD commit row surfaces an inline undo button when hovered, focused, or selected, alongside the existing context-menu action. Undo now works for the HEAD commit of any worktree, targeting the correct working tree for secondary worktrees, not just the active one.
- Publish Branch — a Publish Branch action appears in the Graph header when the current branch has no upstream, publishing it in one click just left of Fetch.
Navigate and Discover in the Graph
- Back/forward navigation — Back and Forward buttons in the commit and working changes detail headers step through previously-viewed commits, stashes, and working changes, re-selecting the row in the Graph where possible.
- Keyboard shortcuts reference — a new keyboard icon in the Graph’s sidebar rail opens a reference listing all supported navigation, search, open, and commit shortcuts with platform-aware key labels.
- Open Worktree File — a new action in the commit file menu opens a committed file from the worktree whose branch contains the commit — handy in multi-worktree repos where the file’s working copy lives outside the currently-scoped worktree.
- Responsive sidebar — the Graph’s sidebar icon rail now compacts in short layouts, hiding count badges and tightening spacing, then folding overflowing icons into a “…” menu, restoring them as space grows.
Agent Activity Treemap Improvements
The experimental Agent Activity Treemap now reads as a living heatmap. Touched files fade over a configurable window after each tool call instead of switching on and off, reads and edits blend as cyan/amber weighted by recency, and a soft pulse marks the file an agent is reading or editing right now. Sub-agent file activity rolls up to the parent session, and a new gitlens.graph.experimental.visualizations.activityDecay setting (30 seconds to 30 minutes, default 5 minutes) — with a matching picker in the treemap toolbar — controls the decay window.
Added
- Adds a
gitlens.graph.searchAutocompleteOnFocussetting to control whether search autocomplete suggestions appear automatically when focusing or clicking the search input in the Commit Graph (#5287) - Adds the ability to copy working changes to other opened worktrees from the Commit Graph (#5288)
- Adds the ability to discard working changes from the working changes (WIP) file list in the Commit Graph and Inspect view — per-file or in bulk, with safe partial discard for files that have both staged and unstaged changes (a first discard drops only the unstaged changes, preserving the staged portion) and a bulk action that switches to discarding staged changes when no unstaged changes remain (#5296)
- Adds an Add Co-authors button to the Commit Graph‘s working changes (WIP) commit box that opens the contributor picker and appends the selected co-authors to the commit message (#5297)
- Adds a Copy Changes (Patch) button to the working changes (WIP) file list in the Commit Graph and Inspect view that copies a unified diff of the uncommitted changes to the clipboard — copies staged changes by default and unstaged changes on Alt-click when both are present, otherwise copies all changes (#5302)
- Adds the ability to jump from the working changes (WIP) to its commit in the Commit Graph — a down-arrow in the working changes header selects the branch tip commit the changes are based on, complementing the existing action to jump from a commit to its working changes (#5303)
- Adds an Undo Commit row adornment to the Commit Graph — surfaces an inline undo button on a HEAD commit row when hovered, focused, or selected, alongside the existing context-menu action
- Adds support for undoing the HEAD commit of any worktree from the Commit Graph — the adornment and context-menu action now target the correct working tree for secondary worktrees, not just the active one (a distinct Undo Commit on Worktree label makes the target clear) (#5311)
- Adds responsive compaction to the Commit Graph‘s side bar icon rail in short layouts — hides the count badges and tightens spacing, then folds the overflowing icons into a “…” menu (with their labels and counts) as the rail runs out of room, restoring them as it grows (#5313)
- Adds a keyboard shortcuts reference to the Commit Graph — opened from a new keyboard icon in the graph’s sidebar rail — listing all supported navigation, search, open, and commit shortcuts with platform-aware key labels (#5312)
- Adds back/forward navigation to the Commit Graph details panel and Inspect view — Back/Forward buttons in the commit and working changes (WIP) detail headers step back through previously-viewed commits, stashes, and working changes, best-effort re-selecting the row in the Commit Graph (#5316)
- Adds the ability to push up to (and including) a specific commit from the Commit Graph — commits ahead of the branch’s upstream show an unpushed indicator that doubles as a one-click Push to Commit action, also available in the commit’s context menu (#5314)
- Adds an Open Worktree File action to the commit file menu in the Commit Graph details and Inspect view that opens a committed file from the worktree whose branch contains the commit — useful in multi-worktree repos where the file’s working copy lives outside the currently-scoped worktree, with a worktree picker when more than one worktree applies (#5317)
- Adds a working changes bar to the Commit Graph — a horizontal bar above the graph with a pill for each worktree that has uncommitted changes or unpushed commits (primary and secondary worktrees alike), showing its branch and agent status, with an up-arrow (↑) marking unpushed work and a hover breakdown of changed files and commits to push; clicking a pill reveals and selects that worktree’s working changes in the graph and opens its details (#5301)
- Adds heat decay, read/edit color blending, and a live pulse to the experimental Agent Activity Treemap — touched files now fade over a configurable window after each tool call instead of switching on and off, reads and edits blend as cyan/amber weighted by recency, and a soft pulse marks the file an agent is reading or editing right now
- Adds a
gitlens.graph.experimental.visualizations.activityDecaysetting (30 seconds to 30 minutes, default 5 minutes) with a matching decay-window picker in the treemap toolbar - Rolls sub-agent file activity up to the parent session so the heatmap reflects what a session’s sub-agents are reading and editing
- Adds a
- Adds the ability to squash multiple commits from the Commit Graph — select two or more contiguous commits on the current branch, right-click, and choose Squash Commits to combine them into one, then review and edit the combined commit message (or keep only the oldest commit’s message) (#5161)
- Adds the ability to drop multiple commits from the Commit Graph — select commits on the current branch, right-click, and choose Drop Commits to remove them (#5161)
- Adds the ability to reword a commit’s message from the Commit Graph — right-click a commit on the current branch and choose Reword Commit (#5161)
- Adds a Modify Commits (Interactive Rebase) action to the Commit Graph that opens the interactive rebase editor scoped from the selected commit(s) for squashing, rewording, reordering, dropping, and editing (#5161)
- Adds a Publish Branch action to the Commit Graph header that appears when the current branch has no upstream — publishes (pushes and sets the upstream of) the current branch in one click, sitting just left of Fetch and collapsing to its icon when the header is too narrow (#5327)
- Adds the ability to multi-select files in the Commit Graph details and Inspect view to act on several at once — Ctrl/Cmd+click to toggle, Shift+click for a range, and Ctrl/Cmd+A to select all — with batch actions from the context menu and toolbar: open files, open selected changes (multi-diff), open on remote, copy paths and relative paths, and (for working changes) stage, unstage, stash, and discard (#5328)
- Adds a
gitlens.advanced.repositorySearch.enabledsetting to control whether GitLens scans workspace folders to discover Git repositories — when disabled, GitLens relies solely on VS Code’s built-in Git/SCM integration to report when repositories are opened or closed - Adds the ability to stash only the staged changes from the working changes (WIP) file list in the Commit Graph and Inspect view — when both staged and unstaged changes are present, the Stash action stashes only the staged changes by default (Alt-click to stash all)
Changed
- Improves graph selection reliability and performance
- Honors VS Code’s
scm.defaultViewSortKeysetting when sorting working changes (WIP) file lists in the Commit Graph, while keeping unresolved conflicts at the top (#5289) - Changes the Add as Co-author action in the Commit Graph to append the co-author to the graph’s working changes (WIP) commit message box instead of writing to the Source Control input and switching to the Source Control view (#5294)
- Improves Commit Graph update performance by skipping redundant re-renders when content is structurally unchanged
- Improves performance in large workspaces by only watching a repository’s working tree while its node is expanded in the views
- Improves resilience of GitHub requests by retrying transient gateway and network failures (502, 503, 504) with exponential backoff, restricted to idempotent reads
- Improves commit feedback and error handling when committing working changes (WIP) in the Commit Graph — locks inputs with a spinner during commits and surfaces classified, actionable errors for signing, pre-commit hook, and conflict failures (#5290)
- Improves how partially staged (mixed) files are counted and displayed in the Commit Graph file tree badges (#5291)
- Improves resilience when VS Code updates GitLens in the background — surfaces an actionable Reload Window prompt when a lazily-loaded feature can no longer be found, instead of a cryptic error
- Changes the Apply Stash command labels to Apply / Pop Stash across the command palette, view context menus, Commit Graph, and tooltips to clarify that both apply and pop are available
Fixed
- Fixes opening the Commit Graph in multi root workspace to the correct repo (#5276)
- Fixes commit signing not being detected as enabled when only VS Code’s
git.enableCommitSigningsetting is on (withoutcommit.gpgsignset in Git config) — GitLens-driven commits (e.g. the Commit Composer) now sign in this case - Fixes the
gitlens.advanced.similarityThresholdsetting being ignored when computing Git status — rename detection in status, working changes (WIP), and stash file lists used Git’s default threshold (50%) instead of the configured value - Fixes the
gitlens.advanced.similarityThresholdsetting being ignored when listing changed files for a diff — rename detection used Git’s default threshold (50%) instead of the configured value - Fixes force push from the Push command always using
--force-with-lease(and--force-if-includes) and ignoring VS Code’sgit.useForcePushWithLeaseandgit.useForcePushIfIncludessettings — the confirmation could offer a plain--forcewhile GitLens still pushed with lease; it now honors the configured preference - Fixes Stash Unstaged Changes also stashing staged changes when an untracked file is involved — including untracked files no longer drops the
--keep-indexflag, so staged changes are correctly kept intact (#5281) - Fixes push from the Commit Graph silently pushing to a wrong remote branch when the local branch tracks a differently-named upstream (e.g.,
feature/footrackingorigin/main) — now correctly pushes to the configured upstream branch instead of creating a new remote branch (#5304) - Fixes the working changes (WIP) Generate Commit Message in the Commit Graph losing its result when the selection changes while a message is generating — the generation now continues and the message lands in the originating worktree’s commit input (or its saved draft if you’ve navigated away) (#5295)
- Fixes the commit details metadata bar in the Commit Graph and Inspect view not surfacing a reachable tag when a commit is contained only in tags (and not any branch) — now shows the most relevant tag with a tag icon and color, matching how branches are shown (#5293)
- Fixes incorrect GitLab avatars being shown when multiple GitLab users share the same name (#2205)
- Fixes the repository picker being incorrectly skipped when an action targets a repository that isn’t surfaced in VS Code — for example, using the stash action on a secondary worktree’s working changes when that worktree isn’t open in VS Code (#5292)
- Fixes potential runtime errors when formatting invalid or unparseable dates (#4922)
- Fixes an issue where unchecking Interactive Rebase Editor in the GitLens settings UI would not persist — the checkbox would revert to checked after changing another setting or reopening the settings UI (#5277)
- Fixes an issue where the GitKraken CLI was not auto-installed on hosts where MCP auto-registration is unsupported (older VS Code, Windsurf, JetBrains, Trae, Kiro, Zed, etc.), preventing Claude hooks installation and agent dispatch in Start Work and Start PR Review flows (#5280)
- Fixes the Commit Graph intermittently flashing a “No commits” message during concurrent Git operations
- Fixes styling in rendered markdown (commit message hovers, autolinks, and details) being stripped in webviews by the stricter content-security policy introduced in v18.0.0
- Fixes the
gitlens.advanced.skipOnboardingsetting not being honored, so onboarding surfaces could still appear even when it was enabled - Fixes the Commit Graph details panel showing stale working changes after the view regains visibility (#5322)
Version 18.0
Wednesday, May 27, 2026
GitLens 18 turns the Commit Graph into a workbench: an embedded details panel lets you inspect, compare, review, stage, and commit without switching views, while a new overview sidebar puts your work and associated agent sessions within easy reach. AI agents become first-class citizens, integrated deeply within your workflows — see sessions associated with your current branch in the details panel, plus monitor active sessions with contextual actions wherever you work in GitLens. This release also adds branch pinning, multi-worktree WIP rows, a focused graph scope for the branch you care about, and a wide range of performance and quality-of-life improvements throughout the Graph.

The Commit Graph, Now a Workbench
The Commit Graph is no longer just a place to read history — it’s where you work. A new embedded details panel allows you to inspect commits, working changes, compare branches, conduct reviews with AI, and compose commits without leaving the context of your Graph. The panel can be anchored to the right (the default) or to the bottom of the Graph — hold Alt while clicking the details toggle to switch between the two.
This revamped commit details panel adds richer file-tree actions, multi-diff support, and quick toggles to jump into Compose, Review, and Compare modes.
Review and Compose, Directly in the Graph
Both Commit Composer and a new AI Code Review tool are now available right inside the Graph’s details panel. Switch into compose mode to generate organized commits from your working changes, with multi-diff editor support for previewing proposed commits. Switch into review mode to get an AI-powered review of your changes, with summaries that identify focus areas with severity indicators, so you can check your work before you ship.

AI Agents in GitLens
GitLens 18 introduces support for integrating AI coding agents, starting with Claude Code. Agent status is now surfaced throughout GitLens so you can monitor, focus, and act on parallel agent sessions without leaving the IDE and context from GitLens.

Your agents’ status, deeply integrated — A new agent status pill appears on Home view branch cards, the Commit Graph overview cards, the Commit Graph commit details panel, and the new Agent Sessions sidebar panel. Pills are color-coded by state (running, idle, waiting for input, etc.), with subtle animations when sessions are active or when an agent is waiting for your input. Sessions awaiting input also surface on overview cards so you can find what needs attention at a glance.
Agent Sessions panel — A new panel in the Home view and the Commit Graph sidebar lists all your agent sessions in a streamlined view, with the same rich status hovers and quick actions as the inline pills. Switch between list and tree layouts to organize sessions by workspace or worktree.
Claude Code hooks integration — Install Claude Code hooks directly from GitLens via the Home view banner, the Commit Graph header, the agents sidebar banner, or the integrations menu. Hooks give GitLens real-time visibility into Claude Code session state. A dedicated command lets you uninstall hooks at any time.
Agent Kanban (Experimental) — A new experimental Agent Kanban view turns the Commit Graph into an interactive board for tracking your active AI agent sessions. Toggle it from the graph sidebar (‘Show Agent Kanban‘) to see sessions partitioned across four columns: Needs Input, Working, Idle, and Inactive. From each session card you can approve or deny pending agent permissions, view a proposed plan, and jump straight to the session’s working changes.
The Agent Kanban view is enabled by default and can be toggled with the gitlens.graph.experimental.kanban.enabled setting.
Multi-Worktree WIP Rows
The Graph now displays a work-in-progress row for each worktree, not just the active one, so you can see, review, and act on changes across all your parallel work without switching. Each WIP row shows live file stats, supports the full set of WIP actions (commit composition, conflict resolution, generating commit messages, and more), and updates in real time as files change. WIP scrollbar markers help you quickly locate uncommitted changes, with a configurable theme color and a setting to toggle them on or off.

Commit Graph Sidebar
The expandable sidebar introduced in 17.12 gets new, powerful views and actions in 18.0:
- Overview panel — surfaces active and recent branches as cards with WIP changes, upstream tracking status, pull requests, associated issues, contributor avatars, and quick actions (Switch, Open Worktree, Fetch, Publish Branch, and compare actions). Rich hover popovers expand each card with the full action set, autolink chips, and Launchpad mergeability tinting.
- Agent Sessions panel — see all your active agent sessions with status pills, branch/worktree associations, and quick actions to keep your agents unblocked.
- Remote actions — full context-menu support for remotes alongside branches, tags, stashes, and worktrees.
- Worktree parity — worktrees now have the same context-menu actions as branches, including AI-powered explain and generate changelog actions.
- Tree-mode layout toggle has moved into the filter actions area for a cleaner, more contextual placement.
- Pin or overlay — pin the sidebar in place, or float it as an auto-collapsing overlay over the Graph.
Visualizations in the Graph
GitLens 18.0 brings powerful new ways to visualize your repository directly in the Commit Graph. A more capable Visual History view has been integrated into a Visualizations mode that now hosts new experimental Treemap views to visualize changes by file, commit, and agent activity.
Open the visualizations by clicking on the ‘Show Visualizations’ pulse icon at the bottom of the Graph sidebar, then use the switcher in the header to move between the Visual History timeline and the new Treemap views.
Visual History
The Visual History view renders your repo’s history as a time-bucketed view of activity, with author avatars, configurable additions/deletions colors, and richer hover, zoom, scroll, brush, slider scrub, and slice filtering interactions. Scope the history down to specific files and folders, and slice the changes by branches rather than authors if needed.

Treemap Visualizations (Experimental)
As an alternative to the Visual History timeline, the Commit Graph now offers three Treemap views that lay your repository out spatially. Each supports hover tooltips, click-to-zoom into folders, and breadcrumb navigation to track and retrace your path:
- Files Treemap — lays out your files and folders as nested rectangles, sized by their footprint, for a bird’s-eye view of how the repository is structured.
- Commits Treemap — highlights where development is concentrated by sizing files and folders according to commit activity, making your most-changed areas stand out at a glance.
- Agent Activity Treemap — projects live AI agent presence onto your file structure in real time, distinguishing the files an agent is reading from the ones it’s editing.
The Treemap visualizations are enabled by default and can be toggled with the gitlens.graph.experimental.visualizations.enabled setting. When disabled, only the Visual History is available.
Focus on the Work You Care About
You can now pin a branch to the leftmost column of the Commit Graph so it always stays visible as a reference, even as other branches come and go. Pin or unpin from the row’s context menu, and click the pinned ref in the Graph header to jump straight to it.
A new focused branch mode on the Commit Graph header lets you focus the Graph on a single branch, with a searchable tree or list view to pick the focus. While scoped, the Graph renders along the focused branch’s first-parent line (with the “Simplify Merge History” toggle automatically applied), and the minimap zooms to the relevant range. Clear visual indicators show when the Graph is scoped or modified by filters. The minimap settings have moved into the minimap itself, and dedicated header buttons toggle the sidebar, minimap, and details panel.
Conflict Resolution Workflows
Conflict resolution now reaches into the Commit Graph and Interactive Rebase editor:
- Resolve conflicts directly from the Graph’s WIP details panel, with merge-conflict status surfaced inline
- Conflict resolution actions are also available in the Interactive Rebase editor’s conflict file list, with dedicated diff-left/diff-right icons
- The Interactive Rebase editor now shows a dismissible banner during the planning phase clarifying that closing the tab automatically starts the rebase
Open the Graph in a New Window
A new “Open in New Window” command opens the Commit Graph in a detached window for multi-monitor workflows. It’s now the primary action in the Graph view’s menus, with “Open in Editor” available as a modifier-key alternative.
Performance and Reliability
GitLens 18 continues to invest in performance and stability improvements:
- Faster Graph details loading — commit metadata is now eagerly rendered from graph rows to instantly populate the details panel and skip IPC delays, with cached base file contents during compose sessions to eliminate redundant git reads.
- Smarter caching — granular TTLs based on ref mutability (5 minutes for full SHAs, 60 seconds for symbolic refs), cached branch merged-status checks, cached left/right commit counts for comparisons, and shared branch metadata across worktrees.
- Lazy enrichment — branch overview enrichment shifts from eager bootstrap to lazy loading, dramatically reducing initial resource contention during graph rendering.
- Better cancellation — abort signals now propagate through the Git command queue, RPC layer, and webview enrichment, so cancelled work stops instead of running to completion.
- Coalesced refresh — working-tree change emissions are coalesced into a single event per tick, eliminating redundant UI refreshes
- Startup improvements — Git and MCP providers now register in parallel, and the CLI version check is deferred to reduce extension activation time.
Added
- Introduces an all-new Commit Graph experience — a comprehensive redesign that pulls commit inspection, AI workflows, comparisons, branch focus, and working-change management directly into the graph
- Adds an embedded details panel — replaces the standalone Graph Details view with an integrated panel that handles commit details, working changes, branch comparisons, AI reviews, and commit composition without leaving the graph
- Adds a
gitlens.graph.details.locationsetting to anchor the details panel at the bottom or right, with Alt+click on the details button to toggle - Adds an integrated AI Compose mode — provides a much improved AI-powered commit composition directly within the graph, with per-commit include/exclude toggles, multi-diff editor support, a virtual filesystem provider for synthesized per-commit diffs, cancellable generation, parallel/background operation, and copy and send-to-agent actions
-Adds an integrated AI Code Review mode — surfaces severity-tagged findings with tooltips, copy and send-to-agent actions on outputs, and PR/issue/autolink context input (#5235) - Adds an integrated Compare mode — opens comparisons directly inside the graph instead of the Search & Compare view, with Ahead/Behind/All Files tabs, working tree comparisons for peer worktrees, AI-powered explaination and changelog generation, and an Open in Search & Compare action to persist ad-hoc comparisons
- Adds a refined header with WIP (work-in-progress) status and stash action
- Adds a unified UI/UX for scoping and filtering the graph
- Adds an Agent Branches option to filter the graph to show only the branches or worktrees with active or recent agent activity
- Adds a Focus Branch option to scope the graph to just the changes on specific branch via a new branch selector (or the new Overview or Agents side bar), with merge-target anchoring
- Adds all new experiences to the graph Side Bar
- Adds pinned and overlay modes — overlay mode floats over the graph instead of pushing it aside, with auto-collapse on focus loss and a pin/unpin toggle in the panel header
- Adds an Overview side bar panel — surfaces active and recent branches as rich cards with WIP stats, upstream tracking, associated pull requests, issues, and agents, as well as quick actions and rich hover details
- Clicking on an Overview card instantly focuses (scopes) the graph to just the changes on the selected branch
- Adds an Agents side bar panel — surfaces active and recent agents with their activity, associated branches/worktrees
- Clicking on an agent row instantly focuses (scopes) the graph to just the changes on the selected wokrtree, and selects the agent in the details panel
- Adds a Visualizations mode to the side bar — houses the all-new Visual History, and 3 experimental treemap visualizations
- Visual History — rebuilt from the ground up to provide a better experience with dynamical loading and dealing with many contributors and/or branches
- Files Treemap — an experimental spatial visualization of file layout within the repository color coded by file type, with hover tooltips, deep zoom-to-folder, and tracking breadcrumbs
- Commits Treemap — an experimental spatial visualization of commit activity within the repository colorized as a heatmap
- Agent Activity Treemap — an experimental spatial visualization of realtime agent activity. See where your agents are currently reading and editing across your repository
- Adds an experimental Agent Kanban mode to the side bar — an interactive Kanban board grouping active agent sessions by state (Working, Idle, Inactive, Needs Input), with inline plan view and permission approval directly from session cards
- Adds comprehensive context menu support for worktrees in the sidebar and Commit Graph — brings feature parity with branches, including Reveal in File Explorer, AI-powered actions (explain WIP, generate changelog), Open in Terminal, and Copy Path
- Adds an all new way to manage worktrees and working changes (WIP)
- Changes working changes (WIP) rows to always be visible regardless of whether or not there are uncommitted changes
- When there are uncommitted changes, the Details Panel now allows you to review, stage, and commit your changes, or leverage the all-new Compose and Review modes to have AI review and automatically compose your changes into a set of well-structured commits
- When there are no uncommitted, the Details Panel transforms into a hub to guide you to the next steps — like pulling, pushing, drafting a PR, reviewing, recomposing, etc. Everything to help you get your changes merged faster (#5218)
- Adds support for working changes (WIP) rows from secondary worktrees
- Selecting a WIP rows provides file actions, conflict resolution, and live-updating stats for non-active worktrees, plus Open in Integrated Terminal and Open Worktree in New Window actions on the header
- Adds the ability to discard uncommitted changes
- Adds smart push/pull on the WIP details panel header — offers Force Push when a branch is both ahead and behind its remote
- Adds conflict resolution actions to the WIP details panel
- Adds the ability to share working changes as a Cloud Patch directly from the WIP header
- Adds persistence of in-progress commit messages and amend state per worktree — drafts are restored when switching contexts, the original message is restored on Undo Commit, and per-worktree search box and filter preferences persist across sessions
- Adds Jump to Working Changes — quickly navigate from the selected commit to the most relevant WIP node in the same lane, with primary-worktree fallback
- Adds bulk staging operations — Stage All and Unstage All, with Alt-click on mixed-state checkboxes to unstage all currently staged items
- Adds auto-fetch while the Commit Graph is visible and focused, yielding to VS Code’s built-in Git auto-fetch when enabled, with a fetch button popover to manage settings and a minimum interval floor to prevent excessive fetching
- Adds search and filtering improvements — adds a
type:wipoperator to filter to working changes, and column header filters with interactive pickers for authors, refs, and files - Adds the ability to pin and unpin branches — pinned branches persist across sessions with a jump-to-pinned-branch actionn (#5139, #5181)
- Adds inline row actions for commit and stash rows including open all changes (Alt to compare against working tree) and apply/drop stashes
- Adds a floating “HEAD” indicator to the graph to quickly jump to the HEAD commit
- Adds a completely rebuilt minimap with better performance and zoom controls and clearer markers
- Adds minimap and scrollbar markers for worktrees — surfaces uncommitted changes on the minimap and scrollbar with a configurable theme color and a toggle setting
- Adds an Open in New Window toolbar view action — opens the graph in a detached window for multi-monitor workflows, with Open in Editor available as the Alt+click alternative
- Adds comprehensive AI agent integration throughout GitLens
- Adds an agent status framework with Claude Code support using Claude Code Hooks (must be installed) — surfaces sessions across the Home view, Commit Graph overview cards (#5170), WIP rows, Commit Details, Agents side bar panel, and the experimental Agent Kanban mode
- Adds an Agent Branches visibility mode to the Commit Graph that filters branches to only those with active or recently active agents
- Adds an agent picker to Start Work and Start Review flows, plus a default-agent picker, Switch Default Agent command, and Start Work/Start Review in Agent actions in the Home and Commit Graph views
- Adds support for opening agent sessions hosted in other VS Code windows
- Adds a Resume in Terminal fallback when an agent session fails to open or is active in another VS Code window
- Adds notifications for peer-discovered agent session permissions
- Adds an experimental Agent Kanban mode — an interactive Kanban board grouping active agent sessions by state
- Adds conflict resolution actions to the Interactive Rebase editor conflict file list
- Adds a close-tab warning banner to the Interactive Rebase editor — displays a dismissible informational banner during the planning phase to clarify that closing the tab automatically starts the rebase (#5123)
- Adds a
gitlens.rebaseEditor.openBehaviorsetting to control where the Interactive Rebase editor opens when automatically reopened on a paused rebase —auto(default) opens beside only when a multi-pane layout already exists;besidealways opens in a side group - Adds Seti file icon theme support for webviews — files in webview trees now display the correct Seti glyph
- Adds folder actions in Details Panel and Inspect view
- Adds a unified onboarding reset command that consolidates the previous Banners and Usage Tracking resets into a single restore-first-time-experience action
Changed
- Switches the Commit Graph sidebar to be visible by default for new installations in overlay mode
- Switches Open Worktree in New Window to be the primary action and Open Worktree to be the alternative across views and the Commit Graph
- Improves the default Interactive Rebase editor density to a more spacious layout
- Improves Commit Graph performance and responsiveness — content-fingerprint deduping of full-state pushes, incremental row-stats sending, avatar omission for unchanged rows, in-memory WIP caches, and debounced repository event coalescing
- Improves branch overview enrichment performance — tiered caching using stored merge targets as cache keys, lazy loading, and parallelized metadata fetches
- Improves Git diff performance — switches diff operations to
numstat+summaryinstead ofname-statusparsing - Improves Git command result caching — granular TTLs based on ref mutability (5-minute cache for full SHAs, 60-second failsafe for symbolic refs), plus caching for left-right commit counts, merge bases, and per-branch config lookups
- Improves performance for GitHub virtual repositories — adds caching for commit details, counts, merge bases, paged branches/tags, and default branches, plus deduping of in-flight GraphQL requests
- Improves the Commit Graph minimap colors and contrast for better theme accessibility, and adds out-of-view proxy handles and improved scope zoom rendering
- Improves the Connect More Agents picker to only show agents that don’t already have the GitKraken MCP installed, with a clearer empty state when all detected agents are already connected (#5142)
- Improves repository visibility detection with promise-based caching to prevent redundant computation
- Improves Git command priority inference — keeps polymorphic history commands at normal priority, requires expensive full-history walks to opt into background priority
- Improves the default and maximum limits for concurrent background Git processes
- Improves branch comparison default target logic — automatically suggests the merge target of a branch as the default right-side reference and uses branch names instead of SHAs for stability
- Improves stash reachability filtering — uses Git’s authoritative stash metadata via the
%ssubject parsing instead of expensive parent-timestamp tracking - Improves AI error handling and network detection — distinguishes between “No Network” and “Unreachable” states, with automatic retry on network failures and a recursive cause-chain analysis for better diagnostics
- Improves header and breadcrumb responsiveness across webviews — priority-based collapsing with compact icons and overflow popovers for narrow views
- Migrates from
node-fetchto native fetch and adopts VS Code’s built-in proxy support — removes the customgitlens.proxysetting in favor of standard VS Code and OS proxy settings - Migrates the webview component library to WebAwesome, modernizing selects, overlays, sliders, and tooltips with workspace-color-aware highlights
Fixed
- Fixes an issue where starting an interactive rebase forced a split-pane layout when git paused for a
reword— the Interactive Rebase editor now opens as a hidden background tab alongside the commit message editor instead of stealing the active tab (#5203) - Fixes an issue where untracked files were missing from the Compare Working Tree with… file list unless manually staged with
git add -Nfirst (#5158) - Fixes an issue where the Interactive Rebase editor would auto-open during the brief teardown window after a rebase completed (or on non-interactive rebases), showing stale or empty state (#5217)
- Fixes an issue where the Interactive Rebase editor would show a blank state when opened on a repository outside the workspace (e.g., from a terminal) (#5229)
- Fixes an issue where the terminal integration relaunch warning persisted due to stale environment variable state (#4977)
- Fixes an issue where MCP reinstallation could fail when the proxy binary was locked on Windows (#5126)
- Fixes an issue where stashing staged changes was not using the
--stagedflag (#5138) - Fixes an issue where the currently selected option is not visually distinguishable in select-style menus on the Home view (agent workspace filter, recent timeframe filter) and elsewhere (Visual History period menu, Commit Graph overview filter) — most noticeable on light themes (#5259)
- Fixes an issue where diff hunks could be missing for renamed or copied files in editor gutters and hovers — rename detection was inadvertently filtering out valid diffs
- Fixes an issue where stash apply and pop actions could fail silently due to missing stash numbers, producing invalid
stash@{undefined}references, and where the Commit Graph would not refresh when a stash was dropped - Fixes an issue where GitLens would automatically re-open repositories that the user had explicitly closed via the SCM interface
- Fixes an issue where the File History context menu actions on commits and folders launched a standalone editor instead of integrating with the embedded Visual History in the Commit Graph
- Fixes an issue where the SCM grouped views could intermittently “detach” — alt commands have been removed from SCM grouped views due to flakey/sticky alt detection in VS Code
- Fixes an issue where the Compare Working Tree “Show All Diffs” button used inverted diff direction
- Fixes an issue where authentication errors could surface noisy notifications and break-on-exception breakpoints instead of returning safe defaults
- Fixes various race conditions and stale-state issues across the Commit Graph during repository, branch, and worktree switches — including phantom anchors after removing the last secondary worktree, cross-repo data contamination during rapid swaps, lost state notifications during in-flight updates, and forced reloads during panel restoration
- Fixes an issue where the working tree comparison could incorrectly include untracked files for revision-range diffs