Added
- Adds live status for more coding agents — Codex, GitHub Copilot CLI, and OpenCode sessions now appear alongside Claude Code's everywhere agent status is shown, each with its own icon (#5742, #5798)
- Improves the Commit Graph's working-changes Agents section with one consistent, collapsible view for live and past sessions, inline history paging, and Resume and Archive actions
- Changes agent status indicators to one consistent phase mark everywhere sessions appear — and each session now shows its own agent's logo instead of a generic robot
- Adds right-click context menus to agent sessions — on the Agents panel's rows and the details panel's session cards — with permission, plan, open/resume, worktree, terminal, copy, and Archive Session actions
- Adds an agent session details sheet to the Commit Graph — clicking a live or past session card opens its full details: status and elapsed time, the current permission ask with its resolve actions right there, the running tool, prompt history, and a file-activity tree whose files open with a click. Branch and worktree chips jump the graph to the session's work, and past sessions offer Resume and Archive (Resume explains itself when the session's transcript is gone)
- Adds installing GitKraken Hooks for these agents from the Agents section in GitLens Settings and the install-all commands; when an agent needs an extra step (Codex requires trusting the hooks via
/hooks), GitLens says so and offers to start a session to do it - Shows these agents' permission requests as read-only — only Claude Code's can be answered from GitLens today
- Adds deeper integration with your terminals and terminal-based coding agents — GitLens now connects the Commit Graph to the terminals and agent tabs where the work is actually happening
- Adds following of the active terminal or Claude Code tab — switching to one selects its repository's or worktree's working-changes row in the Commit Graph, so the graph keeps up with where you and your agents are working, without raising the graph or switching repositories; a one-time tip explains the first move and offers Turn Off (controlled by the new
gitlens.graph.followTerminal.*settings) - Adds Focus in Commit Graph, Open in Commit Graph, and Open in New Window actions to terminal tabs, terminal editor tabs, and Claude Code conversation tabs — opening the graph at the tab's worktree with its working changes selected
- Adds a
gitlens.openInTerminalLocationsetting — controls where GitLens opens the terminals it creates (the Open in Integrated Terminal actions plus agent session terminals), either in the terminal panel (default) or as an editor tab
- Adds following of the active terminal or Claude Code tab — switching to one selects its repository's or worktree's working-changes row in the Commit Graph, so the graph keeps up with where you and your agents are working, without raising the graph or switching repositories; a one-time tip explains the first move and offers Turn Off (controlled by the new
- Improves the Commit Graph — richer branch and tag pills, worktree actions to start agents and run tasks, and refinements across navigation and the side bar
- Adds richer branch and tag pills
- Adds support for multiple pills on a row (#5729) — a new
gitlens.graph.refs.maxInlinesetting caps how many show before the rest collapse behind the +N counter (default 1, the previous behavior, or"auto"to fit the space) - Adds a stacked pill layout — with the new
gitlens.graph.refs.layoutsetting on"stacked", rows with pills grow a second line showing them above the commit, capped bygitlens.graph.refs.maxStacked(default"auto") - Adds a bright lane highlight when pinning a branch's pill, and to the
Ctrl/Alt-held chain highlight — the branch's lane stays lit and traces down to its fork point while other lanes mute - Improves remote branch pills — the branch's remote now follows the name as a subtle qualifier (yielding first when space is tight);
gitlens.graph.showRemoteNamesstill switches to the fullremote/branchform - Adds a marker to a branch pill whose upstream is gone (deleted) — so a branch whose remote counterpart was removed is called out instead of looking healthy
- Adds support for multiple pills on a row (#5729) — a new
- Adds Start Agent Session... and Start Agent Session With... actions to working-changes (WIP) rows in the Commit Graph and to worktrees in the views — opens a terminal at the worktree running your default coding agent CLI, or With... to pick which agent; Resume Agent Session... now also appears on worktrees in the views
- Adds a Run Task on Worktree... action to worktree working-changes (WIP) rows and to worktrees in the views — runs a VS Code task with the worktree as its working directory (and
GITLENS_WORKTREE_PATHin its environment), so build, test, and launch tasks can target a worktree without opening it - Adds feedback when a Commit Graph jump can't land (#5699) — jumping to a commit hidden by your filters, visibility, scope, or first-parent following now names the blocker and offers a one-click remedy (e.g. Show Branch, Clear Scope) that completes the jump. A commit that isn't in the repository is reported immediately, and longer searches show a cancellable Looking for… indicator
- Adds Hide Remote and Show Remote actions to remote rows in the Commit Graph side bar — and hidden branches, remotes, and tags now show dimmed with an eye-closed marker and a one-click un-hide, instead of being indistinguishable from visible ones. Hidden remotes show their provider's icon, and un-hiding a single branch of a hidden remote brings just that branch back
- Adds Group and Ungroup commands for the Commit Graph's columns to its header context menus — grouping previously required dragging one column onto another
- Adds Copy Worktree Path to worktree branch pills and Copy Branch Name to working-changes (WIP) rows in the Commit Graph
- Adds richer branch and tag pills
- Adds Git health and maintenance — GitLens now keeps Git's performance caches fresh and tells you when a repository needs attention (controlled by the new
gitlens.gitOptimizations.enabledsetting)- Adds automatic safe Git maintenance — once a day per repository, GitLens runs the same routine upkeep
git gcperforms: packing loose objects, incremental repacking, and writing the commit-graph cache, which makes history-heavy features like the Commit Graph open noticeably faster. These only reorganize objects the repository already has — history is never altered, more invasive optimizations are never applied automatically, and anything you configured yourself is left alone (requires Git 2.24+) - Adds an experimental Repository Health visualization — a heart tab in the Commit Graph that answers whether the repository needs attention: suggested optimizations appear as cards with meters and expandable trade-off explanations, and a ledger tracks each one's state — an optimization GitLens applied offers Undo. Includes Run Maintenance Now and a Show Repository Health command (part of
gitlens.graph.experimental.visualizations.enabled) - Adds a Repository Health banner — when Git has been measurably slow in a repository (or it is clearly large) and optimizations are suggested, a dismissible strip says what was noticed and opens Repository Health in one click
- Adds automatic safe Git maintenance — once a day per repository, GitLens runs the same routine upkeep
- Adds smarter commit search to the Commit Graph
- Adds intent-aware natural language search — "only show …" phrasings filter the graph to matches, "take me to …" phrasings jump to the commit, and empty results offer counted broader alternatives (e.g. 1000+ without the date filter) instead of a dead end
- Improves natural language search to understand the repository — branch, tag, worktree, and contributor names resolve to the real thing, misspelled author names get counted corrections (e.g. 7 as 'Keith Daulton'), and a tooltip on the generated query explains how it was interpreted
- Improves natural language failure handling — failed AI queries are repaired automatically, AI-unavailable searches offer Search as text instead, and invalid patterns offer Fix with AI
- Adds
committer:,type:merge, and-message:(exclude) operators to commit search in the Commit Graph and Search & Compare - Changes search failures to say what actually went wrong — unknown references are reported by name, and a pattern that isn't valid regex now quietly matches literally while mid-typed, with a Match Literally action when nothing matches
- Adds handing a pending rebase off to automatic (AI) conflict resolution from the Interactive Rebase Editor (#5714)
- Adds a Start Auto-Rebase split button (with Recompose tucked into its menu) — executes the todo exactly as you arranged it: the editor closes, the run takes over at the rebase's first stop, and a rebase that finishes without pausing is reported as completed
- Changes deliberate stops to keep working the way you asked —
edit/breakhand back to you with a Resume with AI path, and a commit message arewordorsquashneeds opens for you to write instead of being kept or auto-accepted without asking (also applies to Continue Automatic Rebase) - Adds persistent actions where escalations land — when a run stops for you, the Commit Graph's Resolve panel keeps Resume with AI and Abort Rebase available (previously a transient toast), and the Interactive Rebase Editor's paused view gains a Continue with AI button
- Adds fixup commit support (#1031, #2959)
- Adds a Fixup Commit... action to commits in the Commit Graph — seeds the commit box with a
fixup! <subject>message, and any resolvablefixup!message turns the commit button into a split button: Commit Fixup, or Commit Fixup & Squash to immediately fold it into its target - Adds a Squash Fixups... action to the current branch and working-changes rows — squashes all pending fixup commits into their targets via
git rebase --autosquash, warning first when pushed commits would be rewritten - Adds an Autosquash toggle to rebasing in the Git Command Palette — folds
fixup!andsquash!commits into the commits they target, defaulting from therebase.autosquashGit config; interactive rebases open the Interactive Rebase Editor with the fixups already folded (requires Git 2.44)
- Adds a Fixup Commit... action to commits in the Commit Graph — seeds the commit box with a
- Adds support for pushing tags (#832) — a new Push Tag... action on tags in the views and the Commit Graph, and a Git Push Tag... command in the Command Palette; choose the remote and confirm, with an optional force push for moved tags
- Adds a GitKraken AI Usage card to the Account section of GitLens Settings (#5743) — your weekly credit allowance, usage, and reset date, with an organization's shared pool split into your own draw against the rest, and a Get more AI credits action on paid plans. A compact meter in the Commit Graph's and Home's account rollups opens the full card
- Adds an Add to .gitignore action to untracked files in the Commit Graph details and Inspect views (#5780) — appends the file's repo-relative path to the repository's
.gitignore, creating it when missing - Adds a Show Resource Usage command — shows resource counts for long-lived GitLens caches and trackers plus extension-host memory usage in an output channel; an aggregate is sampled hourly as telemetry while the window is focused (#5504)
- Adds support for the Gemini 3.7 Flash AI model
Changed
- Changes the Git Command Palette's flows to one consistent, faster design — confirmations become action rows (safest pre-selected) plus checkbox toggles for options, replacing a row for every flag combination; toggles default from your Git config (
fetch.prune,merge.ff), and Force toggles visibly rewrite the action and never default on- Adds a Don't Ask Again checkbox to skippable confirmations, with a gear that jumps to the
gitlens.gitCommands.skipConfirmationssetting - Changes pushing to three consistent confirmation shapes — ahead, behind, and unpublished — with the blocking reason shown above the choices and Fetch beside the input
- Changes switching to just the targets, with an In a New Worktree toggle (remembered per repository); Switch to Local Branch & Fast-Forward now works in a worktree
- Changes stashing to ask for the message first so the final Enter stashes, and adds a Stash Changes & Untracked mode plus a Keep Staged toggle
- Changes worktree creation to pick the location in place (Root Folder... / Specific Folder... rows) with an After Creating choice, replacing the post-create prompt
- Changes worktree deletion to a single step — remembered Delete Branch / Delete Upstream toggles, with uncommitted-changes warnings shown before Enter instead of as modals after
- Changes subcommand menus to Title Case labels (e.g. Merge Target instead of
mergeTarget); typing the raw key still filters
- Adds a Don't Ask Again checkbox to skippable confirmations, with a gear that jumps to the
- Improves working-changes (WIP) rows in the Commit Graph — each row now carries a pill naming the branch it sits on; clicking it jumps to the branch's tip, its upstream, or its merge target when known. The stats pill leads with a worktree icon, other worktrees' rows carry a worktree marker, and when space is tight the label compacts to WIP before the branch name truncates. Scoping the graph to a branch checked out in another worktree now pins that worktree's WIP row on top
- Improves the Commit Graph side bar's Overview panel — it now opens by default with proper loading, error, and empty states; branch cards toggle scope (click the scoped card again to clear it, announced to screen readers) and gain right-click context menus, a Start Work... button sits between the groups, and a Load More control pages in branches older than the Recent timeframe
- Improves Commit Graph keyboard navigation across not-yet-loaded history —
Ctrl+↓jumps straight to the first parent even when it isn't loaded yet,Alt+↓and]keep loading until the next fork point or ref is found (with a cancellable Looking for… indicator), andCtrl+←/→can reach fork lanes that are hidden or not yet loaded - Changes the Commit Graph's details toggle into a split button (#5747) — one click still shows and hides the panel, while a new chevron opens a placement menu with Auto, Right, and Bottom thumbnails; choosing a placement while hidden also shows the panel, and closing it no longer resets
gitlens.graph.details.locationtoauto - Changes maximizing the Commit Graph's details panel (or a maximized sheet) to overlay the graph instead of resizing it — the graph keeps its exact layout and restoring is instant
- Improves the Account section of GitLens Settings — a purpose-built card stack replaces the compact panel borrowed from the Commit Graph header: identity, your plan (tier and status badges, trial progress, and its feature list), a next-tier upsell, your active organization, and refer-a-friend
- Improves the live preview in GitLens Settings — it now sticks in view as you scroll a section instead of scrolling away, and the Commit Graph preview reflects the Graph's current design
- Improves ref identity in the Commit Graph's branch and tag sheet headers — remote and tag headers are more readable, and remote branch sheets lead with the hosting provider's icon
- Improves memory usage for blame results and Git command loading
- Improves switching into the experimental Agent Kanban mode to feel instant — columns render immediately and session cards fill in right after, instead of building every card before anything appears
- Changes the default remote's
defaulttext badge in the Commit Graph side bar to a check mark, matching the current branch marker
Fixed
- Fixes the Commit Graph wedging on "Loading commits…" when its initial load fails — it now shows what went wrong with a Retry action
- Fixes the Commit Graph getting stuck on "No repository open" when its webview reconnects before repository discovery finishes
- Fixes a blank Commit Graph after a GitLens update — VS Code could restore the panel pointing at the old version's resources, requiring the tab to be closed and reopened (#2990)
- Fixes resumed agent sessions being reported as ended instead of live
- Fixes Hide Remote in the Commit Graph only hiding the selected branch instead of all of the remote's branches (#5728)
- Fixes opening changes and commit message actions targeting the wrong repository for a worktree that lives inside another repository's folder — opening a modified file's changes failed with "file not found", and generating, restoring, or committing a message via SCM wrote to the wrong Source Control input (#5773)
- Fixes clicking an untracked nested repository's row in the Commit Graph's Compare panel opening a tab that fails to render (#5657)
- Fixes the Commit Graph's Review mode choosing focus areas from wrong file details on large change sets — newly added files counted as modified, and changed-line counts included unchanged context (#5658)
- Fixes a deep link that fails to open leaving its progress notification spinning indefinitely (#5651)
- Fixes Load More Results in the Commit Graph's search results bar doing nothing, and the results count including rows that weren't rendered
- Fixes deleting an unmerged branch from the Commit Graph or views showing a generic error instead of offering the force-delete confirmation; a failed remote-ref delete where the ref no longer exists is also reported as such instead of a generic rejection
- Fixes refining a proposed commit plan after leaving the compose panel and returning, or after a refinement failed — the plan on screen was silently discarded and regenerated from scratch instead of being refined
- Fixes the Commit Graph sometimes failing to scroll to a revealed row — on long jumps (deep links, Show in Commit Graph, and similar reveals) the selection landed but the viewport could strand partway
- Fixes the Commit Graph's reference finder missing branches, tags, and worktrees created outside the extension, and Enter on a still-loading match not focusing the row once it lands
- Fixes focusing (clicking) a branch or tag pill in the Commit Graph reordering the row's pills — a ref already showing no longer jumps to the front, and one collapsed behind the +N counter swaps into just the last slot; screen readers hear the refs in drawn order with the focused one called out
- Fixes keyboard focus dropping off the row a Commit Graph jump lands on — arrow-key navigation kept working from where you left, not where you landed
- Fixes focusing a branch that is up to date with its merge target dimming the whole Commit Graph
- Fixes searching by author or committer in GitHub virtual repositories —
@usernamedropped the first character of the username, and@meskipped the filter entirely for accounts without a display name - Fixes the Commit Graph's search history reading and saving under the first-opened repository after switching repositories in a multi-repo workspace
- Fixes quick picks opened from the Commit Graph (repository switcher, search filter pickers, compare-ref choosers, Add Co-authors) sometimes closing immediately; pickers also no longer hang when dismissed while their items are still loading
- Fixes the Commit Graph's Working Changes details collapsing its file list to zero rows and clipping the commit box when the details panel is short — the panel now refuses to size below its content and keeps at least one file row visible
- Fixes the Commit Graph's minimap resizing with the graph when the details panel changes size — it now holds its pixel height until there isn't room, and can no longer shrink below its minimum or get stuck in a sliver
- Fixes the Commit Graph's minimap keeping its zoomed window when switching repositories instead of showing the new repository's full timeline
- Fixes the Commit Graph side bar not refreshing when a worktree is created or removed
- Fixes errors in the Commit Graph's Pull Requests panel hiding the whole panel — failures now show inline with the tree and prior results still visible
- Fixes clean worktrees being hidden from the Commit Graph overview bar's worktrees mode
- Fixes the Commit Graph side bar's Overview panel rendering empty ("No recent branch activity") when opened while the graph is still loading — it now shows its loading state and fills in once the branches arrive
- Fixes the Recent header in the Commit Graph side bar's Overview panel wrapping onto a second line when the branch count runs wide
- Fixes branch cards in the Commit Graph side bar's Overview panel counting ended agent sessions in their agent indicator
- Fixes file tree tooltips positioning incorrectly and re-triggering while hovering in GitLens webviews (#5769)
- Fixes tooltips never appearing on disabled buttons in GitLens webviews
- Fixes the split conflict status icons rendering clipped in file trees — e.g. the Commit Graph's Working Changes details and Resolve mode, and the Inspect and Patch Details views
- Fixes enriched autolinks being cached without bound for the life of the session — entries now expire after 30 minutes with a capped count (#5504)
- Fixes the account popover advertising out-of-date GitKraken AI allowances — both plans now read the correct per-plan figure in credits (Pro 1M and Advanced 2M per week)
- Fixes
:command-scoped entries ingitlens.gitCommands.skipConfirmationsnever applying to subcommands — e.g.stash-push:commandstill confirmed when stashing from a view - Fixes clicking a checkbox below the fold in GitLens Settings scrolling the page out of view with no way to scroll back
- Fixes the Get Started section's progress bars in GitLens Settings rendering without their fill
- Fixes Student plan accounts being upsold Advanced instead of Pro in GitLens Settings and the account rollup — both now target the next paid tier, matching the plan Upgrade resolves to on its own
- Fixes the plan card in GitLens Settings reading "Renews" for a subscription that has been cancelled or will not renew
- Fixes the trial line in GitLens Settings reporting more days left than the trial is long (e.g. "15 of 14 days")
- Fixes Switch Branch... separating Open Worktree from Open Worktree in New Window in the Commit Graph's branch context menus