github gitkraken/vscode-gitlens v19.1.0

5 hours ago

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.openInTerminalLocation setting — 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
  • 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.maxInline setting 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.layout setting on "stacked", rows with pills grow a second line showing them above the commit, capped by gitlens.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.showRemoteNames still switches to the full remote/branch form
      • 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 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_PATH in 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 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.enabled setting)
    • Adds automatic safe Git maintenance — once a day per repository, GitLens runs the same routine upkeep git gc performs: 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 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/break hand back to you with a Resume with AI path, and a commit message a reword or squash needs 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 resolvable fixup! 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! and squash! commits into the commits they target, defaulting from the rebase.autosquash Git config; interactive rebases open the Interactive Rebase Editor with the fixups already folded (requires Git 2.44)
  • 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.skipConfirmations setting
    • 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
  • 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), and Ctrl+/ 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.location to auto
  • 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 default text 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 — @username dropped the first character of the username, and @me skipped 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 in gitlens.gitCommands.skipConfirmations never applying to subcommands — e.g. stash-push:command still 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

Don't miss a new vscode-gitlens release

NewReleases is sending notifications on new releases.