vscode-gitlens Documentation

Supercharge Git inside VS Code and unlock untapped knowledge within each repository — Visualize code authorship at a glance via Git blame annotations and...

9,879 stars TypeScript TypeScript 1 file · ~133,076 tokens #git#github#vscode#vscode-extension
RAW Doc

1. Project Overview & Quickstart (gitkraken/vscode-gitlens)

GitLens — Supercharge Git in VS Code

Understand any line of code, keep every branch, worktree, and coding agent in view, and ship cleaner history — without leaving VS Code.

GitLens is an open-source extension built and maintained by GitKraken, and installed more than 51 million times.

Your repository moves faster than it used to. Coding agents open branches, worktrees pile up, and pull requests stack while you're still reading a diff. GitLens pulls all of it into one interactive view — history, working changes, branches, worktrees, and live agent activity together — then helps you review it, rebase it, and shape it into commits someone can actually read.

Start your free 14-day Pro trial — no credit card required.

GitLens Community is free and open-source, forever — and several Pro features, the Commit Graph among them, are free on public repos.

Getting Started

  1. Install it — search for GitLens in the Extensions side bar in VS Code.
  2. Sign in — a free GitKraken account opens the Commit Graph on your public repos, and starts your trial if you want it everywhere.
  3. Open the Commit Graph — click the GitLens icon in the activity bar, and there it is: your history, your working changes, and everything in flight. (GitLens: Show Commit Graph works too.)
  4. Connect what you use — your Git host and issue tracker for pull requests, issues, and autolinks, then your coding agents for session tracking and the GitKraken MCP.

💡 Want new features first? Hit Switch to Pre-Release Version on the GitLens extension page in VS Code.

Preview features require a free GitKraken account and may become Pro features in the future. Experimental features are on by default but still changing.

See Everything in One Place — Commit Graph

Answering "what is actually going on in this repo right now" usually takes a view for branches, another for stashes, a terminal for status, and a browser tab for pull requests. The Commit Graph answers it in one place, and lets you act on the answer. Learn more

  • Live state on every row — ahead/behind, unpushed, unpulled, change size, and lanes you can fold away.
  • Your uncommitted work, in the history — a row per worktree. Stage, commit, stash, or send it to Compose Commits.
  • Act from the row — branch, merge, rebase, cherry-pick, revert, stash, push, pull, open a pull request.
  • Details in place — commits, branches, stashes, pull requests, comparisons. They stack as sheets; Esc backs out.
  • The whole repo in the side bar — Overview, Agents, Pull Requests, Worktrees, Branches, Remotes, Stashes, Tags. Click one to scope the graph.
  • Search that speaks Git — message:, author:, file:, change:, or just describe what you're after.
  • Always know where you are — jump to HEAD, upstream, or merge target. / finds any branch; the keyboard drives all of it.

Zoom Out and Spot the Patterns — Visualizations

Who should I ask about this file? Where is all the churn? What has that agent actually been touching? A list of commits can't tell you.

  • Visual History — a timeline of how a file or a repository evolved: when changes landed, how big they were, who made them. Good for finding the moment something turned, or who to ask about it.
  • Files Treemap Experimental — your repository as blocks sized by file and colored by type. Zoom into a folder to see what's actually in there.
  • Commits Treemap Experimental — the same map, colored by how much each area has been changing.
  • Agent Activity Treemap Experimental — the same map, live: where your agents are reading and editing right now, cooling as they move on.

Open these from the Commit Graph, or Visual History on its own with Show Visual History.

Work in Parallel — Worktrees and Agents

You stash to switch branches and lose your place. An agent is off working somewhere and you can't tell whether it's running, stuck, or waiting on you. Both get worse the more places your work lives.

Worktrees Without Losing Track

A worktree is a second checkout of the same repository — a branch you can leave open without stashing a thing. GitLens takes over the bookkeeping around it.

  • Create one from a branch, a commit, or a pull request, and open it in this window or a new one.
  • Every worktree gets its own working-changes row in the Commit Graph, so you can see which are dirty without opening them.
  • Move work across them — copy your working changes over, or apply a stash into another worktree.
  • Open a terminal in one, reveal it in your file manager, or delete it when you're done.

Know What Your Agents Are Doing

  • Agent sessions — Claude Code sessions show up in the Commit Graph with live state: working, idle, or needs input. Resume one straight from the row it's working on.
  • Start Work with Agent — pick an issue and GitLens creates the branch or worktree, then hands it to a coding agent.
  • Agent Kanban Experimental — switch the Graph into a board view that groups agent sessions by what needs your attention first.
  • Terminal links — your agent prints a SHA, branch, tag, or range in the terminal. Click it and land on it in the Commit Graph.
  • GitKraken MCP — give your coding agents structured access to your Git history, pull requests, and issues. Install it into Claude Code, Codex, Gemini CLI, GitHub Copilot CLI, OpenCode, or your IDE's built-in chat.

Keep Pull Requests Moving

Pull requests are where work goes to wait. GitLens brings the whole round trip into the editor: Start Work turns an issue into a branch or worktree, Launchpad tracks what comes back, and you review and land it without leaving the graph.

Launchpad — Triage What's Waiting on You

Reviews shouldn't mean bouncing between your editor, GitHub, and your inbox. Launchpad puts every pull request you're involved in on one list, ordered by what's actually blocking someone. Check one out, or start its review with a coding agent, without opening a tab. Learn more

Open, Review, and Merge in Place

Open pull requests live in the Graph's Pull Requests panel, most recently updated first, marked with the same signals as Launchpad — mergeable, blocked, needs review, follow-up. Select one and its details open in place.

  • Review it here — Compare Changes for the diff, or hand the whole thing to a coding agent with Review with Agent...
  • Work on it — switch to the branch, open it in a worktree, or Focus the graph on just that branch, fetching the remote if you don't have it yet.
  • Land it — merge, squash, or rebase from a split button that confirms in place.
  • Stacked pull requests — GitHub stacks are grouped in the panel with each layer's position badged on its ref pills. Focusing any layer scopes the graph to the whole stack, and merging routes through GitHub's stack-aware merge, telling you how many pull requests will land.

Less Time Between Done and Merged — AI Review, Compose, and Rebase

Code that works isn't code that's merged. In between sit the commits nobody can follow, the message you have to write, the review round trip, and the afternoon the rebase ate. These shorten that stretch.

  • Review Changes — a review before you open the pull request, reading your change as a whole instead of file by file. Hand the findings to a coding agent and it makes the fixes.
  • Compose Commits — you've changed thirty things across a dozen files and it's one shapeless pile. Compose sorts it into separate commits that each do one thing. Recompose Commits does the same for a branch you've already committed to.
  • Explain Changes — ask what a commit, a stash, a branch, or your own working changes actually did, in plain English.
  • Generate Commit Message — and stash messages, and pull request titles and descriptions, written from what actually changed rather than from a blank box.
  • Generate Changelog — release notes for a branch, a tag, or any range of commits you've compared.

Rebase Without the Dread

Rebasing replays your commits onto a newer starting point. Rearranging them is the easy half. The conflicts are the part you're actually afraid of, and the reason the branch sat there for a week.

The Interactive Rebase Editor lets you drag commits to reorder them, or mark them to be squashed together, reworded, or dropped. As you rearrange, it works out which commits are going to conflict and warns you before you run anything, then collects every conflicted file into one panel showing both sides.

Automatic Rebase does the whole thing for you. It runs the rebase, resolves each conflict with AI, and shows you what it decided and how sure it was — stopping to ask when it isn't confident. If you don't like where it ended up, a single undo puts your branch back exactly as it was.

Integrations

Whatever you host on and track issues in, GitLens most likely speaks it — and pulls those pull requests and issues in beside your history.

Autolinking works across GitHub, GitLab, Jira, Gitea, Gerrit, Google Source, Bitbucket, Bitbucket Server, Azure DevOps, and custom servers. The self-managed editions, GitHub Enterprise and GitLab Self-Managed, need Pro. Rich integrations with GitHub, GitLab, and Jira add hover details for autolinks, correlations between pull requests, branches, and commits, and user avatars.

On an unusual domain? Add a custom remote to map it onto a built-in provider, or teach GitLens a service it doesn't know. You can define your own autolinks too, for references like Jira issues or Zendesk tickets.

Blame, Hovers, and CodeLens

Everything GitLens built its reputation on: free, unchanged, and on by default.

  • Inline and status bar blame — unobtrusive, line-by-line authorship at the end of the current line and in the status bar.
  • Rich hovers — hover a blame annotation for commit details, linked issues and pull requests, and quick actions.
  • Git CodeLens — recent change and authorship summaries at the top of each file and code block.
  • File annotations — whole-file blame, recent changes, and a heatmap, rendered right in the editor.
  • Revision navigation — step backward and forward through a file's history, one click at a time.
  • File History and Line History — follow a whole file or a single line across renames and merges.
  • Git Command Palette — a guided, step-by-step way to run Git commands without memorizing them, plus quick access to branch and file history, commit search, stashes, and repository status.

💡 Not for you? Every annotation is customizable, and Toggle Line Blame and Toggle Git CodeLens switch them off. The Help Center has the full list of settings.

Browse and Compare Anything — Side Bar Views

Every part of your repository gets its own view, and they act as well as list. Most share one tabbed GitLens view in Source Control, so they sit a click apart instead of as eight collapsed headers fighting for room.

  • Commits, Branches, Remotes, Stashes, Tags, Worktrees, and Contributors — browse any of them and act on what you find: check out, compare, stash, create a worktree, see who wrote what.
  • Search & Compare — search history, or compare any two branches, tags, or commits, and keep the results pinned as long as you need them.
  • Inspect and Pull Request — full details for whatever you've selected, and the pull request for the branch you're on.
  • Repositories — the same, grouped per repository, for multi-root workspaces.

💡 Detach View pulls a tab out on its own, Detach All Views splits them all up, and Set as Default View picks which opens first. Reset Views Layout puts everything back.

Sharing and Collaboration `Preview`

Cloud Patches share work-in-progress, a commit, or a stash as a private link, and Cloud Workspaces group repositories together across machines. Both views are hidden by default — open them with Show Cloud Patches View or Show Cloud Workspaces View.

GitLens Community and GitLens Pro

Community is free and open-source: blame, hovers, CodeLens, file annotations, revision navigation, the side bar views, the Interactive Rebase Editor, the Git Command Palette, integrations, and the GitKraken MCP.

On public repos, the Commit Graph, Worktrees, and Visual History are free too — the Commit Graph just needs a free GitKraken account.

Pro opens those on private repos and adds the rest: agent sessions and Agent Kanban, the Pull Requests panel with in-graph review and merge, Launchpad, and every AI feature on this page.

Start your free 14-day Pro trial — no credit card, and when it ends your public repos keep everything they had. Or read the full Community vs. Pro comparison.

Support and Community

Support documentation can be found on the GitLens Help Center. If you need further assistance or have any questions, there are various support channels and community forums available:

  • Issues and feature requests — reach out on our GitHub Issues page.
  • Discussions — connect with other users and talk to our engineering team on GitHub Discussions.
  • GitKraken Support — for anything else, reach the support team via the official support page. GitLens Pro includes priority email support, plus custom onboarding and training to get your team up and running.

Having a positive experience with GitLens? Write a review — it genuinely helps.

Contributing

GitLens is an open-source project that greatly benefits from the contributions and feedback from its community.

Your contributions, feedback, and engagement in the GitLens community are invaluable, and play a significant role in shaping the future of GitLens. Thank you for your support!

Code Contributions

Want to contribute to GitLens? Follow the CONTRIBUTING docs to get started.

Documentation Contributions

Contributions to the documentation are greatly appreciated. If you find any areas that can be improved or have suggestions for new documentation, you can submit them as pull requests to the GitLens Docs repository.

Contributors

A big thanks to the people that have contributed to this project 🙏❤️:

Also special thanks to the people that have provided support, testing, brainstorming, etc:

And of course the awesome vscode team!

License

This repository contains both OSS-licensed and non-OSS-licensed files.

All files in or under any directory named "plus" fall under LICENSE.plus.

The remaining files fall under the MIT license.

2. Official Technical Reference & Guides (gitkraken/gitlens-docs)

GitLens Documentation — Full Content

GitLens documentation — the #1 Git extension for Visual Studio Code. Supercharge your Git workflows with blame, code history, commit graphs, and more.

Generated: 2026-08-11


Get Started with GitLens

URL: https://help.gitkraken.com/gitlens/gitlens-home/
Last updated: July 2025

Welcome to the GitLens Support Documentation site!

GitLens is the #1 most downloaded Visual Studio Code Git extension that supercharges your developer workflows. You can download GitLens from the VS Code marketplace:

Install GitLens

GitLens is known for its blame, hover, and annotations, but there’s much more to the extension. Users are leveraging its rich features to increase their developer productivity, which you can learn more about in the popular workflows below.


GitLens brings your repository context and development workflows directly into your IDE. Start in the Commit Graph to understand what’s happening across your repository, keep human and agent work visible, and move changes forward without rebuilding context across tools.

Start in the Commit Graph

The Commit Graph is your central development workbench in GitLens. It brings commits, branches, working changes, worktrees, upstream state, and supported coding agent activity together in one connected view.

GitLens Commit Graph view

Use the Commit Graph to quickly understand:

  • What’s changing across your repository
  • Where work is happening across branches and worktrees
  • What’s ahead, behind, or incoming
  • Which supported coding agents are actively working
  • Which work or agent sessions need your attention
  • How changes relate before you move them forward

From there, you can move directly into the workflow you need.

One Workbench for Your Development Workflow

Development work is often spread across source control views, terminal sessions, editor windows, pull requests, and separate tools. As more work happens in parallel across developers and coding agents, rebuilding that context can slow you down.

The Commit Graph brings those workflows together. Instead of jumping between views and windows to understand and move work forward, you can stay connected to the repository context behind the work from start to finish.

From the Commit Graph, you can monitor parallel work, review changes, compose commits, compare revisions, rebase with AI, resolve conflicts, and prepare work for merge. Each step stays connected to the branches, worktrees, commits, and changes involved.

See the work, understand it, shape it, and get it ready to merge from one connected workbench.

Move Work Forward from the Commit Graph

The Commit Graph gives you more than visibility into your repository. It brings the workflows you use to understand, shape, and prepare work for merge into the same workbench.

  • Monitor: Keep parallel human and agent work visible across branches and worktrees.
  • Review: Review changes with AI, investigate findings, and send feedback back to your coding agent.
  • Compose: Organize working changes into clean, logical commits with Commit Composer.
  • Compare: Compare commits, branches, revisions, and working changes to understand exactly what changed.
  • Rebase: Use AI-powered Rebase to automate tedious rebasing while staying in control.
  • Resolve: Resolve merge conflicts with AI assistance while keeping the surrounding repository context in view.

Whether you’re working on a single branch or coordinating development across multiple worktrees and coding agents, GitLens keeps the work and its context connected.

Working with Coding Agents

GitLens connects supported coding agent activity to the branches, worktrees, and changes where that work is happening.

From the Commit Graph, you can monitor supported agent sessions, see their status, understand where agents are working, and identify sessions that need your attention. Multi-worktree WIP keeps changes across parallel worktrees visible, helping you stay oriented as human and agent work progresses at the same time.

GitLens supports agent-driven development across VS Code, Cursor, Windsurf, Trae, and Kiro, so you can bring Git context and parallel development workflows into the IDE where you already work.

Where to Go Next

Start with the Commit Graph to get familiar with your development workbench, then explore GitLens workflows and features as you need them:

Or follow a complete workflow from start to finish:

Interactive Code History

 

Understanding your repository's history is easier with GitLens. Whether you're navigating complex branches or reviewing past changes, GitLens offers intuitive tools to reveal who changed what and why.

View the Commit Graph

The Commit Graph provides an interactive visual history of your branches and commits. It helps you:

  • Follow the development of features and bug fixes over time
  • Quickly search and jump to specific commits or branches
  • Understand commit context through messages and structure

To open the Commit Graph:

  • Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P) and run GitLens: Show Commit Graph View, or
  • Click the Commit Graph icon in the sidebar

Open the Commit Graph in GitLens

Use GitLens Inspect

GitLens Inspect helps you dive deeper into a specific commit. It shows:

  • Modified files and changed lines
  • Related Jira issues or pull requests via autolinks
  • File or line history for better context

To open Inspect View:

  • Right-click any commit and select Inspect Details

Open the Inspect View in GitLens

Explore Inline Blame and Hovers

Inline Blame reveals who last modified each line and why. Hover over any line to:

  • View commit details
  • Navigate to the previous revision
  • Open the associated pull request
  • See the commit in the Commit Graph

These insights help you trace decisions and collaborate more effectively.


Accelerate PR Reviews

Video: Review pull requests without leaving your IDE

Manually switching between browser tabs, emails, and PR tools can interrupt your development flow. GitLens helps you stay focused in Visual Studio Code by organizing pull request tasks and supporting multiple workspaces with worktrees.

Launchpad `PRO`

This feature is only available for Pro subscription tiers or higher.

Launchpad provides a centralized view of your pull requests. You can:

  • Connect your GitHub Integration
  • View PRs by action status: needs review, follow-up, blocked, draft, and more
  • Open pull requests in a new worktree or switch branches directly

To access Launchpad:

  • Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P) and run GitLens: Open Launchpad

Open the Launchpad in GitLens

Worktrees

The Community plan supports only public and local repositories.

Worktrees let you check out multiple branches at once without stashing or committing changes in progress. This allows you to:

  • Review pull requests without leaving your current work
  • Keep separate working directories for isolated tasks
  • Open a worktree and inspect file diffs, commit history, and changed files directly from the Pull Request sidebar

To open Worktree View:

Open the Worktree View in GitLens


Streamline Team Collaboration

Video: Share code and suggest changes in GitLens

GitLens enables flexible collaboration without needing to commit or push unfinished code. Use Cloud Patches to share changes privately and Code Suggest to offer improvements across a pull request—even for unmodified files.

Cloud Patches `PRO`

This feature is only available for Pro subscription tiers or higher.

Cloud Patches are sharable Git patches that can be applied across your GitKraken organization:

  • Make and save changes to any file
  • Open the Command Palette and run GitLens: Share as Cloud Patch…
  • Select collaborators to notify via the Cloud Patch sidebar

Open the Cloud Patches View in GitLens

Code Suggest `PRO`

This feature is only available for Pro subscription tiers or higher.

Suggest code edits to any file—even those not changed in the original PR:

  • Check out a branch with an open pull request
  • Make and save your proposed changes
  • Open the Command Palette and run GitLens: Show Inspect View, then choose Suggest Changes for PR

The pull request owner can apply, modify, and commit these suggestions to streamline reviews and collaboration.


Connect GitLens to External Services

Video: Use integrations and autolinks to connect GitLens to tools like Jira

Boost your productivity by integrating GitLens with platforms like GitHub, GitLab, Azure DevOps, Bitbucket, Jira, and Trello. Reduce context switching and bring external issue tracking directly into your Git workflows.

Integrations

Connect GitLens to your code host and issue tracker to:

  • Sync and manage repositories inside Launchpad
  • Automatically show pull requests and issues related to your branch
  • Avoid switching between your editor and browser

To set up an integration, go to Settings > Integrations or visit the GitLens Integrations Settings.

Autolinks let you automatically link external issues—like Jira tickets or Trello cards—directly in commit messages, file annotations, and code lenses.

You can also create custom autolinks by defining pattern-matching rules for external references like Zendesk or Linear. This helps keep your codebase traceable and well-documented.


Other Resources


Accelerate PR Reviews

URL: https://help.gitkraken.com/gitlens/gl-accelerate-pr-reviews/
Last updated: July 2025

 

Reviewing pull requests (PRs) in the browser can interrupt your workflow. Switching tabs, checking email notifications, and managing local branches can be time-consuming—especially when the PRs aren’t even relevant to you.

GitLens helps streamline PR reviews directly inside Visual Studio Code. With Launchpad and Worktrees, you can:

  • View all relevant PRs grouped by actionable categories.
  • Avoid context switching with an integrated experience.
  • Work across multiple branches using separate working directories.

Launchpad `PRO`

To use Launchpad:

  1. Connect your GitHub Integration.
  2. Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P).
  3. Run: GitLens: Open Launchpad.

Launchpad displays grouped pull requests:

  • On your current branch
  • Assigned to you for review
  • Waiting for follow-up
  • Blocked or in draft

To start reviewing:

  • Select a PR.
  • Choose Open in Worktree or Switch to Branch or Worktree.

Open the Launchpad in GitLens

This feature is available with a GitLens Pro subscription or higher.

Worktrees

Worktrees let you check out multiple branches simultaneously in separate working directories. This means you don’t need to commit or stash in-progress changes before switching to another branch—perfect for reviewing pull requests without disrupting your workflow.

After opening a worktree, use the Pull Request sidebar to:

  • Review all commits in the PR
  • Explore changed files
  • View diffs and inspect updates line by line

Open the Worktree View in GitLens

The Community plan supports only public and local repositories.


Cleaning Up and Preparing Work for Review

URL: https://help.gitkraken.com/gitlens/gl-workflow-cleanup-prepare-for-review/
Level: Intermediate Developers
Primary Goal: Use Git intelligence to transform iterative work into clean, reviewable history

When to use this workflow

Use this workflow when you are:

  • Preparing a pull request for review

  • Cleaning up “wip” or noisy commit history

  • Juggling multiple streams of work

  • Optimizing for reviewer clarity and speed

Real-world scenario

You have finished implementing a feature, but your branch contains several exploratory commits that would be difficult for reviewers to follow.

How GitLens helps (in practice)

You begin by opening the Commit Graph from the GitLens sidebar, which gives you a visual view of your branch history and how your work diverges from main. From there, you select the commits related to the feature and open Commit Composer directly from the graph.

Recompose Selected Commits

Recompose Selected Commits

-->

Commit Composer uses Git intelligence to understand the structure of your changes and allows you to recompose them into clearer, more intentional commits. With Selective Recomposition, you can choose only the relevant commits, rewrite their messages, split changes, or combine related work, all before anything is rewritten on disk.

Commit Composer with Selective Recomposition

As you review your branch, you open Launchpad to check for open pull requests, review feedback, or dependencies that might affect your changes, keeping everything in one place instead of jumping between tools.

Launchpad

When an urgent fix on another branch comes up, you create a Worktree from GitLens, which lets you check out another branch in a separate folder without stashing or disturbing your current work. Throughout the process, you rely on advanced Commit Graph context menu actions, accessed by right-clicking commits, to compare branches, inspect diffs, and validate that your history tells a clear story.

Commit Graph Context Menu

GitLens uses Git intelligence to help you ship work that is easier to review, reason about, and maintain.

Key GitLens features used

Outcome

You submit a pull request with a clean, intentional commit history that reviewers can understand quickly and confidently.


GitKraken Account – GitLens

URL: https://help.gitkraken.com/gitlens/gl-gk-account/
Last updated: July 2025

Your GitKraken account is your key to unlocking the most personal experience across GitKraken products.

Note: GitKraken accounts are not compatible with Git Integration for Jira.
We recommend creating and using a single GitKraken account per person. Avoid creating duplicate accounts or sharing your account with others.


Sign In or Create an Account

You can create a GitKraken account at gitkraken.dev or directly within GitLens.

When prompted with the login screen, select Create an account to begin. Choose one of the following seven identity providers:

Select a login method to create your GitKraken account

Once your account is created, it is linked to the primary email associated with your selected login method. If you choose Sign up with Email, check your inbox for a verification link to complete the process.


Personalize Your Account

You can personalize your GitKraken account to control how your profile appears to other users within any associated organization. Visit gitkraken.dev/account after logging in to:

  • Update your avatar
  • Edit your name, username, and email
  • Change your password

To change your avatar, click your profile picture. This will redirect you to Gravatar, where you can manage the avatar linked to your email address. GitKraken retrieves your avatar from Gravatar based on the shared email between accounts.

Note: It may take several hours for avatar changes to appear in GitKraken or GitLens.

Customize your name, email, avatar, and password


Delete Your Account

To delete your GitKraken account:

  1. Go to gitkraken.dev/account.
  2. Select Delete my Account (highlighted in red).
  3. Follow the on-screen confirmation steps.
  4. Select Delete your Account to confirm deletion.

Important: If you're a non-admin member of a GitKraken organization, you must ask an admin to remove your account before you can delete it. Organization admins have control over employee accounts.

GitKraken complies with GDPR. Once deleted, your account cannot be restored. This action permanently removes your subscriptions, Cloud Workspaces, Insights data, and organizations.


GitKraken AI Features in GitLens

URL: https://help.gitkraken.com/gitlens/gl-gk-ai/
Merge cutting-edge AI capabilities with your Git workflow to save time, increase clarity, and enhance collaboration. GitLens' AI features transform how you create, understand, and document code changes.


Available AI Features

GitLens integrates powerful AI capabilities across different subscription tiers, each designed to address specific pain points in your development workflow.

AI Generate Commit `Pro`

Available in: Pro, Advanced, and Business plans

Generate clear, descriptive commit messages based on your code changes, saving time and ensuring consistency across your repository. The AI analyzes your staged changes and creates meaningful messages that accurately describe what you've modified.

How to access:

  • From the Command Palette: GitLens: Generate Commit Message with AI
  • From the SCM panel: Click the "Generate Commit Message" button
  • During the commit process: Look for the AI option in the commit interface

AI Stash Messages`Pro`

Available in: Pro, Advanced, and Business plans

Create intelligent descriptions for stashed changes, making it easier to find and understand your work later. This feature generates context-rich stash descriptions that help you quickly identify the purpose of each stash.

How to access:

  • From the Command Palette: GitLens: Generate Stash Message with AI
  • When creating a stash: Look for the AI option in the stash creation interface
  • From the stash view: Generate descriptions for existing stashes

AI Commit Explain `Pro`

Available in: Pro, Advanced, and Business plans

Understand the reasoning behind changes with AI-generated explanations of commit content and purpose. Quickly grasp the intent and impact of complex commits without having to manually review all changed files.

How to access:

  • In the "Commit Details" view: Find the AI explanation panel
  • In the "Cloud Patch Details" view: Look for explanations alongside commit information
  • When reviewing commits: Option to generate explanations for any selected commit

AI Changes Explain `Preview`

Gitkraken AI can also be used to generate summaries in Branches, Working changes, and Stashes.

What changed across all commits in a branch – ✨Explain Branch
What you’ve modified in your working directory – ✨Explain Working Changes
What you’ve previously stashed – ✨Explain Stash

You’ll find ✨Explain options for commits, branches, stashes, and working changes in several places:

  • In the Commit Graph
  • Available as commands in the command palette
  • In many GitLens views: Commits, Branches, Stashes, Search & Compare, etc.

AI Changelog Creation `Pro`

Available in: Advanced and Business plans only

Automatically generate comprehensive changelogs from selected commits in the Graph, perfect for release documentation. Maintain consistent and detailed changelogs without manual effort.

How to access:

  • In the Search/Compare view: Click the inline button on the "commits" line
  • When selecting multiple commits in the Graph: Right-click and choose "Generate Changelog"
  • From the Command Palette: GitLens: Generate Changelog from Commits

AI Open Pull Request `Advanced`

Available in: Advanced and Business plans only

Open Pull Requests: Automatically generate clear PR titles and descriptions directly from your branch changes, speeding up review cycles.

How to access:

  • From the GitLens Commit Graph: Click the ✨button next to “Create a Pull Request”

AI Credit Allocation by Plan

GitKraken AI features operate on a credit-based system, with different allocations based on your subscription. For more information about Gitkraken AI allocations, please see our Gitkraken AI FAQ page.

Credits refresh weekly and are shared across all AI features. More complex operations like changelog generation typically use more credits than simpler ones like commit messages.


Configuring Your AI Provider

Provider Options

GitLens offers flexibility in choosing your AI provider:

  1. GitKraken AI (default): Pre-configured and ready to use with your credit allocation
  2. GitHub Copilot: If installed, can be used as your AI provider
  3. Custom Provider (BYOK): Connect your own key from supported AI services
  • New OpenAI and Google models
  • Self-hosted Azure AI models
  • OpenAI-compatible API providers
  • Local Ollama models
  • OpenRouter support

Setup Instructions

To configure your AI provider:

  1. Open GitLens settings
  2. Navigate to the "AI" section
  3. Select your preferred provider from the dropdown
  4. For custom providers, enter your API key in the designated field

Advanced AI Settings

User-Level Customization

  • Customize AI prompts: Tailor the prompts used for various AI features to match your team's style
  • Credit usage monitoring: Track your credit consumption for better allocation management
  • Default AI mode: Choose between concise or detailed outputs for each feature

Organization-Level Controls `Business`

  • Enforceable AI rules: Set organization-wide policies for AI usage
  • Private AI model providers: Connect to your organization's approved AI services
  • Credit allocation management: Distribute credits across teams and projects

More questions about Gitkraken AI? Please see our GitKraken AI FAQ page for more details. For additional questions or support regarding GitKraken AI features, please contact our support team or visit the GitKraken Community forum.


GitLens Cloud Patches

URL: https://help.gitkraken.com/gitlens/gl-cloud-patches/
Last updated: August 2025

What Are Cloud Patches?

A Cloud Patch is a Git patch securely stored by GitKraken so it can be easily shared across GitLens, GitKraken Desktop, and the GitKraken CLI.
The patch is transferred directly from your machine into secure storage.

Cloud Patches let you collaborate with your team before creating a pull request. You can share work in progress, gather feedback early, and minimize delays in pull request reviews.


Set Up Cloud Patches

To enable or disable Cloud Patches per client:

  1. Open the Command Palette:
  • macOS: Cmd + Shift + P
  • Windows/Linux: Ctrl + Shift + P
  1. Search for Preferences: Open User Settings (JSON).
  2. Set the value of gitlens.cloudPatches.enabled:
  • true = enabled (default)
  • false = disabled

Create and Share Cloud Patches

You can manage Cloud Patches from the Cloud Patches view in the GitLens sidebar.

Creating a Cloud Patch

A Cloud Patch can be created from Working Changes, Commits, Stashes, or Comparisons by selecting Share as Cloud Patch from either:

  • The Command Palette
  • The Share submenu in applicable GitLens views

Example of creating a Cloud Patch

Sharing Options

When creating a Cloud Patch, choose one of the following:

  • Anyone with the link: Public access for anyone with the link.
  • Anyone in my org: Accessible to members of your GitKraken Organization (authentication required).
  • Only collaborators: Restricted to selected GitKraken Organization members (authentication required). Use Invite to select members.

Cloud Patches shared with you appear under Shared with Me in the Cloud Patches section.

Cloud Patch sharing options


Apply and Manage Cloud Patches

  • Open a Cloud Patch from a shared URL to view it in GitLens.
  • Apply it to your working tree or to a new/existing branch by following the prompts in GitLens.

Applying a Cloud Patch

Delete a Cloud Patch

  1. Right-click the patch in the Cloud Patches view.
  2. Select Delete Cloud Patch…

Deleting a Cloud Patch


Self-Host Cloud Patch Data

If you do not want Cloud Patch data stored on GitKraken servers, you can host Cloud Patches on your own AWS S3 storage instance.

For configuration instructions, see Self-Hosted Documentation.

Note: If you belong to multiple organizations, you can switch between them from the GitKraken Account view.


GitLens Code Suggest

URL: https://help.gitkraken.com/gitlens/gl-code-suggest/
Last updated: August 2025

What Is Code Suggest?

GitLens Code Suggest simplifies code review by allowing you to make suggestions and edits across the entire project, not just on changed lines.
Suggestions can be created within GitLens, GitKraken Desktop, or gitkraken.dev and attached to pull requests.

Reviewers can then view, accept, and apply these suggestions directly to the pull request branch.

GitLens Code Suggest view


Start a Code Suggestion

  1. Open the GitLens Inspect Overview for your repository.
  2. Check out a branch with an open pull request.
  3. Select Start Review for PR #PR.
  4. Modify and save any files you want to include in the suggestion.
  5. When ready, select Suggest Changes for PR → provide a title → Create Code Suggestion.

Creating a Code Suggestion

This action adds a comment on the pull request with two options:

  • Code Suggestion for #PR → review in gitkraken.dev
  • Locally on your machine → review in GitLens or GitKraken Desktop

Pull request with Code Suggestion comment


Review and Apply Suggestions Locally

  1. Select Locally on your machine.
  2. Open the suggestion in GitLens or GitKraken Desktop.
  3. Review changes file by file.
  4. Choose Apply to apply to your current branch, or select Apply to a Branch to apply to a new or existing branch.

Applying a Code Suggestion locally


Review and Commit Suggestions in gitkraken.dev

  1. Select Code Suggestion for #PR to open the suggestion in gitkraken.dev.
  2. Review each file and its proposed changes.
  3. When ready, select Commit Suggestions.

This creates a new commit on the remote branch (shown under COMMIT SUGGESTIONS TO).

Committing suggestions in gitkraken.dev


Availability

Note: Code Suggest is currently supported only for repositories on GitHub.com.


GitLens Commit Graph

URL: https://help.gitkraken.com/gitlens/gl-commit-graph/
Last updated: August 2025

Commit Graph PRO

The GitLens Commit Graph provides an interactive view of your repository history. It shows commits, branches, and collaborators in one place, helping you understand contributions and make faster decisions.

Commit Graph overview in GitLens


Open the Commit Graph

  1. Open the Command Palette:
  • macOS: Cmd + Shift + P
  • Windows/Linux: Ctrl + Shift + P
  1. Type Show Commit Graph and select it.

The Commit Graph opens in a new tab, where you can scroll through history and resize column widths.

Opening the Commit Graph from the Command Palette


Repository Information

At the top of the Commit Graph, you’ll see:

  • Repository name
  • Checked-out branch (click to switch branches)
  • Last fetched time (click Fetch to update)

Repository details in the Commit Graph toolbar


Availability

  • The Commit Graph is available to all users for public and local repositories.
  • A paid GitLens subscription or trial is required for use with private repositories.

Feedback

We’d love your input! Share ideas and feedback in the GitLens Commit Graph discussion on GitHub.

Configuration and Layout

You can configure the Commit Graph to control what information is shown and how it is displayed.

Columns

  • Drag and drop column headers to rearrange columns.
  • Right-click a column header to toggle columns on or off.
  • The Changes column shows added lines in green and deleted lines in red.

Commit Graph column settings

Layout Options

  • Panel Layout: Displays the Commit Graph in the bottom panel (near the Terminal) with a details view alongside it.
  • Editor Layout: Opens the Commit Graph in an editor tab.
  • You can open the Commit Graph in both layouts simultaneously.

To switch layouts:

  1. Select the settings gear in the top-right corner of the Commit Graph editor.
  2. Choose Prefer Commit Graph in Panel Layout or Prefer Commit Graph in Editor Area.

Switching between Editor and Panel Layout

Compact Graph Layout

  • Right-click the Graph column header and select Compact Graph Column Layout to reduce visual complexity.
  • When the Author column is resized to minimum width, it shows avatars instead of text.
  • Columns that become too narrow automatically switch to icons to preserve information.

Compact Graph and Author column with avatars

Scroll Markers

Scroll markers highlight key points in the Commit Graph, including:

  • Checked-out branches
  • Selected rows
  • Search results

Use scroll markers to quickly jump to important points such as HEAD or refs. You can toggle this feature in the Commit Graph settings.

Scroll markers in the Commit Graph


Settings

Adjust Commit Graph settings from the Command Palette:

  • macOS: Cmd + Shift + P
  • Windows/Linux: Ctrl + Shift + P

Search for GitLens: Open Settings.

Opening Commit Graph settings


The Commit Graph supports rich search across your entire repository. You can search by commit, message, author, file, or even specific code changes.

  1. Type search criteria in the search bar.
  2. Use the arrow icons or keyboard shortcuts to navigate results:
  • Next result: F3 (Windows/Linux) or Cmd + G (macOS)
  • Previous result: Shift + F3 (Windows/Linux) or Shift + Cmd + G (macOS)

Searching commits in the Commit Graph

You can also:

  • Jump to the first or last result by holding Shift while clicking the arrow icons.

Navigating commit search results

Search Filters

Use these filters in the search bar:

  • Commit:
  • Message:
  • Author:
  • File:
  • Change:
  • @me

Additional options:

  • Match all
  • Match case
  • Use regular expressions

Commit Graph search options

Full Context Menu Support

You can right-click a branch, commit, tag, author, or column header (Author, Commit Date/Time, or SHA) to access context menu actions.

Commit Graph context menu options

Helpful context menu actions include:

  • Compare with Common Base: Review changes that would occur if the selected branch were merged by comparing its common ancestor (merge base) with the current branch.
  • Open All Changes with Common Base: Review all merge changes in the multi-diff editor.

Pull Request Information

For GitHub and GitLab, the Commit Graph displays a Pull Request icon for any branch with an open pull request. To enable this, connect a rich integration.

Pull request icon in Commit Graph


Hiding Remotes, Branches, or Tags

The Commit Graph shows refs to your remotes, branches, and tags.

  • Hover over any ref to use the Hide option.
  • To show them again, hover over the Hide option at the top of the Commit Graph and select the desired refs.

Hiding refs in the Commit Graph

Filter Options

Access filters from the dropdown menu to choose:

  • Show Current Branch Only: Displays the current branch and its upstream remote.
  • Show All Local Branches (default).

Additional options let you hide or show:

  • Remote-only branches
  • Stashes
  • Tags

You can also dim merge commit rows for clarity.

Commit Graph filter options


Minimap (Experimental)

The Minimap provides a high-level overview of repository activity. It shows commits, branches, HEAD/upstream, and more, letting you quickly jump to points of interest.

  • Select the Toggle Minimap icon in the Commit Graph toolbar to enable or disable it.
  • Use the graph icon dropdown to switch between Commits or Lines Changed views.
  • Toggle markers on or off from the same menu.

Commit Graph Minimap

Minimap settings and options

Minimap Overview

  • Reads left to right: Left = most recent, right = older.
  • Highlighted region: Area currently in view.
  • Green lines: HEAD.
  • Yellow lines: Search results.
  • Upper row markers:
  • Blue blocks = remote branches
  • Brown blocks = tags
  • Lower row markers:
  • Pink blocks = stashes
  • Blue blocks = local branches

Note: We’d love your feedback on the Minimap. Please share it on the GitHub Discussion board.


GitLens Community vs. GitLens Pro

URL: https://help.gitkraken.com/gitlens/gitlens-community-vs-gitlens-pro/
Last updated: July 2025

 

Whether you're reviewing code, managing pull requests, or exploring your project history, GitLens enhances your Git experience—directly inside Visual Studio Code.

Let’s explore the key differences between the Community and Pro editions to help you choose the version that fits your workflow.

GitLens Community (Free)

The GitLens Community edition is free and offers powerful tools to help you understand code history and authorship:

  • Blame annotations, hovers, and CodeLens – See who changed what and why at a glance.
  • Revision Navigation – Step through the history of a file to trace its evolution over time.
  • In-editor Git insights – Understand your codebase without leaving your IDE.

Perfect for: Individual developers and teams starting with GitLens.

GitLens Pro

GitLens Pro takes your development workflow to the next level with advanced features and deeper integrations:

  • Accelerate PR reviews with Launchpad—an actionable pull request hub built into VS Code.
  • Manage commits visually using the Commit Graph with features like rebase, merge, and advanced search.
  • Streamline collaboration by integrating with GitHub, GitLab, and Bitbucket. View and manage pull requests directly within VS Code.

Perfect for: Professional developers, collaborative teams, and organizations optimizing for productivity.
Start your free 14-day trial of GitLens Pro today.


Making Your Choice

Both GitLens Community and GitLens Pro offer essential tools for managing Git workflows in VS Code.

  • Start with Community if you're looking for robust, free Git functionality and file history tools.
  • Upgrade to Pro if your team relies on efficient PR reviews, collaboration, and advanced Git operations.

Both editions are built to enhance your Git experience. Start with Community and upgrade when your needs grow.

Choose GitLens Community if you want:

  • Essential Git capabilities
  • Code authorship insights
  • Basic file history tracking

Upgrade to GitLens Pro if you need:

  • AI-powered Git workflow automation
  • Streamlined pull request reviews
  • Advanced Git operations and visualizations
  • Integrations with GitHub, GitLab, Bitbucket
  • Collaboration tools for teams
  • Developer productivity enhancements

Get Started with GitLens Pro Today

Try GitLens Pro for free

Enjoy GitLens Pro free for 14 days. When you're ready, upgrade your plan to keep Pro features.


GitLens FAQ

URL: https://help.gitkraken.com/gitlens/gitlens-faq/
Last updated: July 2025

Get answers to frequently asked questions about GitLens features, sign-in options, and GitKraken account integration.


What is GitLens Community vs GitLens Pro?

Learn about the differences between the two versions on the GitLens Community vs GitLens Pro page.


How Do I Sign In or Out of GitLens?

Sign In to GitLens

To sign in with your GitKraken account:

  • Click the GitLens icon in the sidebar.
  • Under GITKRAKEN ACCOUNT, select Sign In.

Sign in from the GitLens sidebar

You can also sign in via the VS Code Command Palette:

  • Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P).
  • Type and select GitLens: Sign In to GitKraken....

Sign in using the command palette

Sign Out of GitLens

To sign out:

  • Click the GitLens icon in the sidebar.
  • Under GITKRAKEN ACCOUNT, select Sign Out.

Sign out from the GitLens sidebar

Or use the VS Code Command Palette:

  • Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P).
  • Type and select GitLens: Sign Out of GitKraken.

Sign out using the command palette


How do I enable debug logging?

You can enable debug logging by opening the Command Palette (ctrl+shift+p or command+shift+p) and running the command GitLens: Enable Debug Logging.

To view logs, open the Output Window (View > Output). The logs will be listed in the GitLens and GitLens (Git) channels. These channels can be toggled from the dropdown.


How can I export logs?

You can export logs using the actions in the overflow menu of the Output view.


Can GitLens or Visual Studio Code Work with a Proxy?

Yes, you can configure proxy settings from the Visual Studio Code settings. To open these settings, use the keyboard shortcut command/ctrl + ,. Then, search for "proxy" to see all related settings.


Can I Use My GitLens Paid License on More Than One Computer?

Yes. Your GitLens Pro license is tied to your email address, not a specific device. You can activate and use GitLens on multiple computers using the same account.


GitLens Features

URL: https://help.gitkraken.com/gitlens/gitlens-features/
Last updated: June 2025

Features marked with PRO require a trial or paid plan for use on privately hosted repositories.

Features marked with PREVIEW require a GitKraken Account, with access based on your plan level (Community, Pro, etc).


Revision Navigation

Step through revisions using built-in navigation commands

Revision Navigation allows you to quickly compare different versions of a file or specific lines.

Available commands:

  • Open Changes with Previous Revision (gitlens.diffWithPrevious)
    Compare the current file or revision with the previous commit.

  • Open Changes with Next Revision (gitlens.diffWithNext)
    Compare the current file or revision with the next commit.

  • Open Line Changes with Previous Revision (gitlens.diffLineWithPrevious)
    View how a specific line changed compared to the previous commit.

  • Open Changes with Working File (gitlens.diffWithWorking)
    Compare the committed version of the file with your working directory.

  • Open Line Changes with Working File (gitlens.diffLineWithWorking)
    See the difference between the last committed line and its current version.

  • Open Changes with Branch or Tag... (gitlens.diffWithRevisionFrom)
    Compare the file against another revision from a selected reference.

  • Open Changes with Revision... (gitlens.diffWithRevision)
    Compare the current file with any revision of the same file.


Current Line Blame

Blame annotation showing author, date, and commit message

Current Line Blame adds a subtle, customizable, and themable annotation at the end of the active line.

By default, the annotation displays:

  • The author of the most recent commit
  • The commit date
  • The commit message

You can control visibility with the command:

  • Toggle Line Blame Annotations (gitlens.toggleLineBlame)

Git CodeLens

Inline Git insights for authorship and history

Git CodeLens displays inline Git insights at the top of each file and above code blocks (enabled by default, and customizable).

CodeLens Types

  • Recent Change
    Shows the author and date of the most recent commit for the file or block.

  • Click to open a quick pick menu with commit details and actions (e.g., compare, explore history).

  • Authors
    Displays the number of contributors and the most prominent author.

  • Click to toggle Git blame annotations across the file.

  • Automatically hides if there's only one author (to reduce visual noise).

CodeLens Behavior

Click behavior for each CodeLens is fully customizable. You can choose from:

  • Toggle file blame annotations
  • Compare the current commit to the previous one
  • Show file or commit detail menus
  • View commit history for the file or branch
  • Toggle Git CodeLens (gitlens.toggleCodeLens)
    Shortcut: Shift+Alt+B

Status Bar Blame

Quick access to blame details in the VS Code status bar

The Status Bar Blame displays Git blame details for the current line directly in the VS Code status bar. This feature is enabled by default and fully customizable.

Default Behavior

  • Displays the author and date of the last commit affecting the current line.
  • Clicking the status bar opens a quick pick menu with commit actions (compare, explore history, etc.).

Customizable Click Behavior

You can configure what happens when the status bar item is clicked:

  • Toggle file blame annotations
  • Toggle Git CodeLens on and off
  • Compare the line’s commit to the previous one
  • Compare the line’s commit to the working tree
  • Show a quick pick menu with:
  • Commit details and actions (default)
  • File-level commit details
  • Commit history of the current file
  • Commit history of the current branch

Hovers

GitLens provides rich, customizable hover annotations to surface Git information directly in your editor. These hovers are enabled by default and support both blame and diff insights.

Current Line Hovers

Git blame hover shown over the current line

Details Hover

Expanded commit info and quick actions

Displays detailed commit information for the current line.

Features:

  • Automatic issue linking for Bitbucket, Gerrit, Gitea, GitHub, GitLab, and Azure DevOps.
  • Quick-action bar with commands:
    Open Changes, Blame Previous Revision, Open on Remote, Invite to Live Share, Show More Actions.
  • Click the commit SHA to trigger the Show Commit command.

Changes (Diff) Hover

View the previous version of a changed line

Displays the previous version of the current line.

  • Click Changes to run the Open Changes command.
  • Click commit SHAs to open Show Commit views.

Annotation Hovers

Hover insights while annotating with blame

Accessible when blame annotations are active, these hovers provide the same detail and diff options.

Details Hover

Commit metadata and action menu per line

Shows rich commit details per line with:

  • Automatic issue linking
  • Quick-action command bar
  • Clickable commit SHA to open commit details

Changes (Diff) Hover

Inline diff hover showing previous line content

Reveals the previous version of each annotated line.

  • Click Changes to run Open Changes.
  • Click SHAs to open the Show Commit view.

File Blame

View who last modified each line and when

File Blame adds customizable, themable inline annotations that show the commit and author responsible for each line in a file.

Features

  • Displays commit message and commit date per line (enabled by default).

  • Adds a heatmap (age) indicator along the right edge to show how recently each line was changed.
    (See File Heatmap for more info.)

  • Easily toggle annotations with:

  • Command: gitlens.toggleFileBlame

  • Shortcut: Alt+B

  • Dismiss: Escape


File Changes

Highlight unpublished or most recent changes

The File Changes annotation highlights lines that have been changed either locally (unpublished) or by the most recent commit.

This feature is customizable and themable, and is designed for quick visual inspection of file updates.

Features

  • Highlights local changes and recent commit modifications.
  • Toggle with the command: gitlens.toggleFileChanges
  • Press Escape to disable the annotations

File Heatmap

Visualize how recently each line was modified

The File Heatmap adds a color-coded bar to the edge of your file, helping you quickly spot older versus more recent changes.

Features

  • Heatmap colors are customizable and reflect line age:
  • Hot (bright) for recent changes
  • Cold (dim) for older changes
    (Lines default to “cold” after 90 days.)
  • Brightness adjusts dynamically based on the median age of all changes in the file.
  • Toggle with the command: gitlens.toggleFileHeatmap
  • Press Escape to hide the heatmap annotations

Code Suggest `PREVIEW`

GitKraken Code Suggest simplifies code review by enabling you to propose edits across an entire project—not just the lines changed—in GitLens, GitKraken Desktop, or gitkraken.dev.

When a pull request is open, you can make suggestions that collaborators can review and apply directly to the PR.

Note: Code Suggest is currently supported only for repositories hosted on github.com.

Suggest changes beyond just modified lines

How to Create a Code Suggestion

  1. Open the GitLens Inspect Overview for the repository.
  2. Check out a branch that has an open pull request.
  3. Click Start Review for PR #PR.
  4. Modify and save any files to include in the suggestion.
  5. When ready, select Suggest Changes for PR, add a title, and click Create Code Suggestion.

Create a suggestion from your local changes

Once submitted, the pull request will receive a comment with two options:

  • Code Suggestion for #PR — opens in gitkraken.dev
  • Locally on your machine — opens in GitLens or GitKraken Desktop

Collaborators can choose where to review and apply suggestions

Accepting a Suggestion Locally

  1. Open the suggestion in GitLens or GitKraken Desktop.
  2. Review each modified file.
  3. Select Apply to apply the patch to your current branch.
    Or use the dropdown to Apply to a Branch.

Apply suggestions directly to a local or new branch

Accepting a Suggestion on gitkraken.dev

  1. Select Code Suggestion for #PR in the PR comment.
  2. Review the changes on gitkraken.dev.
  3. Click Commit Suggestions to commit the patch directly to the PR’s branch.

Accept changes and push them to the remote branch


Cloud Patches `PREVIEW`

What Are Cloud Patches and Why Use Them?

Cloud Patches are Git patches that GitKraken securely stores for easy sharing across GitLens, GitKraken Desktop, and the GitKraken CLI. The patch is uploaded directly from your machine into secure cloud storage.

This feature enables early collaboration—before a pull request is created—by letting you share in-progress work with your team. It helps streamline feedback cycles and reduce delays in PR reviews.


How to Set Up Cloud Patches

Cloud Patches are enabled by default, but you can manage this per client.

  1. Open the Command Palette:
    Ctrl/Command + Shift + P → Preferences: Open User Settings (JSON)

  2. Add the following line to your settings:

"gitlens.cloudPatches.enabled": true

To disable Cloud Patches, change the value to false.

How to Work with Cloud Patches

Cloud Patches are accessible from the Cloud Patches view in the GitLens sidebar.

Create a patch directly from your sidebar

You can create a Cloud Patch from:

  • Working Changes
  • Commits
  • Stashes
  • Comparisons

To create one, use Share as Cloud Patch from the command palette or the Share submenu in applicable GitLens views.

Share patches from a variety of Git sources

Sharing Options

Choose how your patch can be accessed:

  • Anyone with the link – Public access without login.
  • Anyone in my org – Restricted to users in your GitKraken organization (GitKraken login required).
  • Only collaborators – Restricted to selected organization members. Use Invite to choose recipients.

Cloud Patches shared with you appear under the Shared with Me section.

Note: If you're a member of multiple organizations, you can switch organizations from the GitKraken Account view.

Control access to shared patches by role

You can also apply Cloud Patches directly from a shared URL. Simply click or paste the link, then follow GitLens prompts to apply it to your working directory or to a new/existing branch.

Apply patches seamlessly to your current repo

To delete a Cloud Patch, right-click it and choose Delete Cloud Patch....

Remove unused patches with one click

Self-Hosting Cloud Patch Data

If you prefer not to store Cloud Patch data on GitKraken servers, you can configure GitLens to use your own AWS S3 storage.

Learn how to configure this in our Self-Hosting Guide.


Commit Graph `PRO`

The Commit Graph helps visualize your repository's commit history by displaying branches, commits, and contributors in a unified view. This makes it easier to understand project activity and make informed decisions quickly.

Explore your full Git history at a glance


How to Open the Commit Graph

To open the Commit Graph:

  1. Open the Command Palette:
    Cmd/Ctrl + Shift + P

  2. Type:
    Show Commit Graph

A new tab will open, displaying your current repository’s commit history. You can scroll through the graph and resize column widths for easier viewing.

Launch the graph directly from the Command Palette


Commit Graph Header

At the top of the graph, you’ll see:

  • Repository name
  • Checked-out branch
  • Last fetched timestamp

From here, you can:

  • Click the branch name to switch branches
  • Click Fetch to update commit data

Access key branch controls directly from the header

Note: The Commit Graph is available to all users on public or local repositories without needing an account.
Private repository access requires a GitLens Pro subscription or trial.
We welcome your input—join the discussion on GitHub.

Configuration and Layout

The Commit Graph offers extensive layout and configuration options so you can tailor the view to fit your workflow.


Column Customization

All columns in the Commit Graph are fully customizable:

  • Drag and drop column headers to rearrange the layout.
  • Right-click a column header to toggle columns on or off.
  • The Changes column displays visual indicators for added (green) and deleted (red) lines in each commit.

Customize visible columns with right-click options


Panel vs. Editor Layout

You can choose where the Commit Graph appears:

  • Panel Layout — displays the graph in the bottom panel (next to Terminal) with a dedicated Commit Graph Details view.
  • Editor Area Layout — shows the graph in a standard VS Code editor tab.

To switch layouts:

  1. Click the gear icon in the top-right of the Commit Graph.
  2. Select Prefer Commit Graph in Panel Layout or Prefer Commit Graph in Editor Area.

You can even open both layouts simultaneously.

Choose where the graph displays: Panel or Editor


Compact Layout

For smaller screens or simplified views:

  • Compact Graph Column Layout reduces the visual size of the graph.
  • The Author column shows avatars when minimized.
  • Columns display icons instead of truncated text when resized to narrow widths.

To enable the compact graph layout, right-click the Graph column header and select Compact Graph Column Layout.

Enable compact mode for cleaner visuals


Scroll Markers

Scroll markers appear alongside the Commit Graph scrollbar to highlight:

  • Checked-out branches
  • Selected rows
  • Search matches

They provide quick navigation to key locations like HEAD or specific refs.

You can toggle scroll markers in Commit Graph settings.

Navigate instantly using visual markers

Settings

You can adjust Commit Graph preferences through the GitLens Settings panel.

  1. Open the Command Palette:
    Cmd/Ctrl + Shift + P

  2. Search for:
    GitLens: Open Settings

Access GitLens settings from the Command Palette


The Commit Graph includes a powerful search bar to locate commits by message, author, file, or even specific code changes.

Use the following search prefixes:

  • Commit:
  • Message:
  • Author:
  • File:
  • Change:
  • @me (to filter commits made by your user)

Search commit history with advanced filtering

Use keyboard shortcuts to navigate results:

  • F3 / Cmd+G — next result
  • Shift+F3 / Shift+Cmd+G — previous result
  • Hold Shift and click arrows to jump to first or last match

Jump through results using keyboard or search controls

You can also refine results with:

  • Match all
  • Match case
  • Regular expression

Adjust search filters for more precision


Full Context Menu Support

The Commit Graph supports right-click actions on branches, commits, tags, authors, and column headers.

Use context menus for advanced Git actions

Popular options include:

  • Compare with Common Base — View changes between the current and selected branches based on their shared ancestor.
  • Open All Changes with Common Base — Launch a multi-diff view showing all changes that would be merged.

Pull Request Indicators

For GitHub and GitLab, GitLens displays a Pull Request icon on branches with active pull requests. To enable this:

  1. Connect your account using rich integration settings.
  2. The icon will appear next to branches in the graph once linked.

Active pull requests are shown with branch-level icons


Hiding Remotes, Branches, or Tags

You can hide individual remotes, branches, or tags from the Commit Graph to reduce clutter and focus your view.

  • To hide: Hover over any ref and click Hide.
  • To show again: Use the Hide panel at the top of the graph and reselect the ref.

Use the “Hide” option to declutter the graph

Filtering Options

You can further control what is shown using the filter dropdown:

  • Show Current Branch Only — Display the current branch and its upstream (minimal view)
  • Show All Local Branches — Default view showing all local refs
  • Toggle visibility of:
  • Remote-only branches
  • Tags
  • Stashes
  • Option to dim merge commits

Customize your view with filter presets


Minimap (Experimental)

The Minimap gives you a visual summary of repository activity at a glance:

  • Quickly locate HEAD, remotes, tags, and stashes
  • Jump to any region in the graph using visual cues
  • Toggle it via the Minimap icon in the top right

Quickly navigate with the Commit Graph Minimap

Minimap Settings

Customize the Minimap via the graph icon dropdown:

  • Toggle between:
  • Commits view
  • Lines changed view
  • Show or hide:
  • Markers for branches, tags, stashes, search results

Choose your preferred Minimap display and markers

Minimap Legend

Element Description
Green lines HEAD
Yellow lines Search results
Blue blocks (top) Remote branches
Brown blocks (top) Tags
Pink blocks (bottom) Stashes
Blue blocks (bottom) Local branches
Highlighted area Current view region

Note: We welcome your feedback on the Minimap. Share your thoughts on the GitLens GitHub Discussions.


Launchpad `PRO`

Launchpad organizes pull requests (PRs) by status to help you identify bottlenecks and take prioritized actions. This streamlined view allows you to manage PRs quickly, directly within VS Code.

View and act on PRs based on current status

Launchpad currently supports GitHub.com and GitLab.com repositories. To use it, connect your Git provider using the GitHub or GitLab Integration.


Accessing Launchpad

  • From the Command Palette: Command/Ctrl + Shift + P → GitLens: Open Launchpad
  • Or select the Pull Request status bar item in VS Code

Open Launchpad from the status bar or Command Palette


Using Launchpad

View PRs by grouped statuses:

  • Ready to merge
  • Blocked
  • Requires follow-up
  • Needs your review
  • Waiting for review
  • Draft
  • Snoozed

Click a PR to:

  • View full details
  • Open in your browser
  • Merge (if eligible)
  • Switch to the branch or open in a worktree

Interact with pull requests directly in VS Code

You can also start or review Code Suggestions directly from the PR action menu.

Suggest code edits from within the Launchpad

This feature is available through the Gitkraken MCP


Pin or Snooze PRs

Use the pin icon to keep important PRs in the Pinned group.

Use the snooze icon to move less urgent PRs into the Snoozed group.

Click the icon again to unpin or unsnooze as needed.

Pin or snooze PRs to manage your workflow

Note: Launchpad prioritizes items requiring action by elevating them to the top of the list. This behavior may change in future updates.

This feature is only available on GitLens Pro subscription tiers or higher.


Visual File History

Visual File History provides a clear timeline of a file's changes—showing when, what, and who modified it—helping you quickly understand how a file evolved.

To open Visual File History:

  • Use the GitLens Inspect Sidebar, or
  • From the Command Palette: Cmd/Ctrl + Shift + P → GitLens: Show Visual File History View

Track authorship, size, and timing of file changes


How to Read the Graph

  • Y-axis (left): Contributors, shown in individual swim lanes
  • X-axis: Timeline of commits
  • Bubbles: Color-coded per author; bubble size reflects the magnitude of changes
  • Bars (right y-axis): Line additions (green) and deletions (red)

Hover over a bubble or bar for detailed insights.

View commit size, author, and message on hover

The Community plan supports Visual File History only on public and local repositories.


GitKraken AI

GitKraken AI enhances your development workflow with automated commit messages, intelligent stash descriptions, and code change explanations.


AI-Generated Commit Messages

Automatically generate descriptive commit messages based on staged changes.

AI-generated commit messages from staged changes

To use:

  • Stage your changes.
  • Open the Commit Graph and click Generate Commit Message, or
  • Use the Command Palette: GitLens: Generate Commit Message (Experimental)

GitKraken AI will analyze the diff of staged changes to generate a message. You may provide additional context in the commit box to improve results.

You can customize behavior using:

  • gitlens.experimental.generateCommitMessagePrompt for message formatting
  • Additional gitlens.ai settings for provider and model preferences

Pro users and above can optionally use a custom API key to connect to a different AI provider. GitKraken AI currently uses the Google Gemini model.


AI Stash Messages `PRO`

Available in Pro, Advanced, and Business plans.

Automatically generate meaningful stash descriptions to make your stashes easier to identify later.

How to access:

  • From the Command Palette: GitLens: Generate Stash Message with AI
  • During stash creation: Use the AI option in the stash interface
  • In the Stash view: Generate AI-powered descriptions for existing stashes

AI Explanations `PREVIEW`

Let GitKraken AI help explain complex changes across your repo with natural language summaries.

AI summaries in rendered markdown for improved clarity

✨Explain functionality provides markdown summaries for:

  • Branches — ✨Explain Branch
  • Working changes — ✨Explain Working Changes
  • Stashes — ✨Explain Stash

Where to find it:

  • Commit Graph
  • Command Palette
  • GitLens views: Commits, Branches, Stashes, Search & Compare

With GitKraken AI explanations, you can quickly understand:

  • What changed across all commits in a branch
  • What you've modified in your working directory
  • What your previous stashes contain

AI Commit Explanations `PRO`

Available in: Pro, Advanced, and Business plans

Understand the purpose and context of commits with AI-generated summaries. These explanations help you grasp the intent behind complex commits without manually reviewing all changes.

How to access:

  • Commit Details view: See the AI explanation panel
  • Cloud Patch Details view: View AI insights alongside commit data
  • Commit Review: Generate explanations for any selected commit

AI Changelog Creation `ADVANCED`

Available in: Advanced and Business plans only

Automatically generate detailed and structured changelogs from a set of selected commits—ideal for maintaining release documentation.

How to access:

  • Search/Compare view: Click the inline button on the commits line
  • Commit Graph: Select multiple commits, right-click, then choose Generate Changelog
  • Command Palette: GitLens: Generate Changelog from Commits

More questions about GitKraken AI? See the GitKraken AI FAQ for additional details.

Commit Composer View `Pro`

The Commit Composer has evolved from a simple one-step process into a comprehensive drafting and review experience. Previously, AI would analyze your changes and immediately create commits. Now, the new Commit Composer view gives you complete control over the composition process, with options to auto-compose with AI or compose manually.

This feature is available through the Gitkraken MCP

Join the Commit Composer discussion and provide feedback.

Interactive Draft Commits

When composing commits, GitLens now creates "draft" commits that you can review, modify, and refine before applying them to your repository. This new workflow lets you:

  • Preview before committing: See exactly what will be committed before it touches your repository
  • Switch Models: Try composition with different AI models
  • Guide the AI: Provide custom instructions to match your team's conventions and preferences
  • Iterate and refine: Regenerate individual messages or entire commit compositions
  • Review and edit: Manually tweak any commit message or approach

You can launch the new Commit Composer view from several places in GitLens:

  • GitLens commit details view
  • Context menu on the WIP row in the GitLens Commit Graph
  • Commit Graph details panel: Switch to Compose mode
  • ✨ icon in the SCM view header
  • Command palette: Search for "Compose Commits"

The foundation is now in place for even more powerful composition features in future releases, including intuitive drag-and-drop functionality for moving lines and hunks between commits, creating new draft commits on the fly, and reordering commit sequences.

Whether you prefer to let AI handle the heavy lifting or want granular control over every detail, Commit Composer provides the flexibility to create well-structured commit histories that make code reviews more effective and repository history easier to understand.

Commit Composer: Branch Recomposition

Commit Composer now lets you clean up and reorganize commits on existing branches, making it perfect for preparing pull requests or refining your commit history before pushing.

Recompose Entire Branches

Open Commit Composer from any branch in the Commit Graph (or anywhere branches appear in GitLens) to inspect and reorganize its commits. The composer creates draft commits you can review before applying changes to your repository.

Auto-Recompose with AI: Let AI analyze your branch and restructure commits into logical, well-documented units. Choose your preferred model and provide custom instructions to match your team's conventions. (Pro tip: Set default instructions in the "Generate Commits: Custom Instructions" setting to save time.)

Manual Control: Review AI suggestions, regenerate specific commit messages, or manually edit messages and change organization. The composer gives you complete flexibility to craft the commit story that works best.

Enhanced Composer Capabilities

Commit Composer now handles edge cases that previously blocked composition:

  • Untracked files: Working changes now include untracked files, so all modifications can be composed together
  • New repositories: Compose your initial commits even before a base commit exists
  • Performance boost: Significantly faster rendering when working with changes across many files

Commit Composer: Selective Recomposition

Commit Composer now lets you recompose specific commits within a branch, giving you precise control over cleaning up your commit history.

Previously, you could only recompose all working changes or an entire branch. Now you can select specific commits that need refinement—like those quick "wip" or "fix" commits made during rapid iteration—and let AI restructure just those changes with better messages.

Select multiple contiguous commits on the same branch using Shift or Cmd click, then right-click and choose "Recompose Selected Commits." Commit Composer opens with only your selected commits as drafts, ready for AI-powered or manual refinement.

Commit Composer is also more discoverable, with a new button on the WIP row in the Commit Graph that opens the composer for all working directory changes. Additionally, when rebasing, you can now switch directly into Commit Composer from the Rebase Editor, canceling your rebase to let AI handle the composition instead.


Git Command Palette

Adds a customizable Git Command Palette (gitlens.gitCommands) for guided, step-by-step access to many common Git commands. Quickly navigate Git actions, explore commit history, manage stashes, and more—all through intuitive, confirmable menus.


Quick Commit Access

  • Show Branch History (gitlens.showQuickBranchHistory): Explore the commit history of any selected branch.

  • Show Current Branch History (gitlens.showQuickRepoHistory): View the commit history of your current branch.

  • Show File History (gitlens.showQuickFileHistory): Access the full commit history of the current file.

  • Search Commits (gitlens.showCommitSearch): Use a quick pick menu to search by:

  • Message: ``

  • Author: @

  • Commit SHA: #

  • File path or glob: :

  • Patch changes: ~

Refer to the Git log documentation for advanced usage.

  • Show Commit Details (gitlens.showQuickCommitDetails): Review commit information and actions.

  • Show Line Commit Details (gitlens.showQuickCommitFileDetails): Explore the file's commit and take action on it.

Quick Stash Access

  • Adds a Show Stashes command (gitlens.showQuickStashList) to show a quick pick menu to explore your stashes.

Quick Status Access

  • Adds a Show Repository Status command (gitlens.showQuickRepoStatus) to show a quick pick menu for visualizing the current repository status.

Interactive Rebase Editor

Adds a user-friendly interactive rebase editor to easily configure an interactive rebase session:

  • Quickly re-order, edit, squash, and drop commits.
  • Includes drag & drop support.

To use this directly from your terminal (e.g., when running `git rebase -i`):

  • Set VS Code as your default Git editor:
bash
git config --global core.editor "code --wait"
  • Or, to only affect rebase sessions:
bash
git config --global sequence.editor "code --wait"

To use the Insiders edition of VS Code, replace code with code-insiders in the commands above.


Use autolinks to convert external references—such as Jira issues or Zendesk tickets—into clickable links directly from commit messages.

Example of autolinks in commit messages

Autolinks in the integrated terminal

Terminal links optionally provide clickable references in the integrated terminal:


Remote Provider Integrations

GitLens provides rich integrations with many remote providers, including GitHub, GitHub Enterprise, GitLab, Gitea, Gerrit, Bitbucket, Bitbucket Server, and Azure DevOps. You can also define custom remote providers or remote providers with custom domains.

Basic integrations offer issue and pull request autolinking. Richer integrations, like GitHub or GitLab, include:

  • Launchpad support
  • Rich hover information for autolinks
  • Pull request association with branches and commits
  • Avatars for authors and commenters

These integrations also support various commands to open or copy URLs for files, commits, branches, and repositories:

  • Open File from Remote (gitlens.openFileFromRemote) — Open a local file from a URL on a remote provider
  • Open File on Remote (gitlens.openFileOnRemote) — Open a file or revision on the remote provider
  • Copy Remote File URL (gitlens.copyRemoteFileUrlToClipboard) — Copy the URL of a file or revision
  • Open File on Remote From... (gitlens.openFileOnRemoteFrom) — Open a file or revision from a specific branch or tag
  • Copy Remote File URL From... (gitlens.copyRemoteFileUrlFrom) — Copy the URL from a specific branch or tag
  • Open Commit on Remote (gitlens.openCommitOnRemote) — Open a commit
  • Copy Remote Commit URL (gitlens.copyRemoteCommitUrl) — Copy the commit URL
  • Open Branch on Remote (gitlens.openBranchOnRemote) — Open a branch
  • Copy Remote Branch URL (gitlens.copyRemoteBranchUrl) — Copy the branch URL
  • Open Branches on Remote (gitlens.openBranchesOnRemote) — Open the branches view
  • Copy Remote Branches URL (gitlens.copyRemoteBranchesUrl) — Copy the branches view URL
  • Open Comparison on Remote (gitlens.openComparisonOnRemote) — Open a comparison view
  • Copy Remote Comparison URL (gitlens.copyRemoteComparisonUrl) — Copy the comparison view URL
  • Open Pull Request on Remote (gitlens.openPullRequestOnRemote) — Open a pull request
  • Copy Pull Request URL (gitlens.copyRemotePullRequestUrl) — Copy the pull request URL
  • Open Repository on Remote (gitlens.openRepoOnRemote) — Open the repository
  • Copy Remote Repository URL (gitlens.copyRemoteRepositoryUrl) — Copy the repository URL

Connecting the GitHub and GitLab Integration

The GitHub and GitLab integrations connect through your GitKraken account at gitkraken.dev.

To connect an integration:

  1. Open the Command Palette (Cmd/Ctrl+Shift+P).
  2. Run GitLens: Manage Integrations.
  3. Alternatively, open GitKraken Account from the GitLens Activity Bar and select Integrations.

Connect integrations from the GitKraken dashboard

If you're not already signed in, you'll be prompted to log in to your GitKraken account. Then, select Connect with GitHub or Connect with GitLab, and follow the sign-in steps. You can connect multiple integrations if needed.

Finish the process by selecting Complete Setup to return to VS Code and begin using the integrations.

Manage your connected integrations

Community users are limited to basic functionality only.

GitHub Enterprise Server and GitLab Self-Managed Integration `PRO`

GitLens Pro offers a richer integration with GitHub Enterprise Server and GitLab Self-Managed.

Once authenticated, GitLens enhances autolinks in hovers with additional context. You’ll see your GitHub Enterprise Server or GitLab Self-Managed avatar, links to related pull requests, and a summary of pull request or issue details. Sidebar views for commits or branches also show this contextual information.

Enhanced hover integration with GitHub Enterprise and GitLab Self-Managed

Connecting GitHub Enterprise Server or GitLab Self-Managed

To connect either integration:

  1. Open settings.json:
  • Use the Command Palette (Cmd/Ctrl + Shift + P) > Preferences: Open User Settings (JSON)
  1. Add a gitlens.remotes entry specifying the domain and type:
json
"gitlens.remotes": [{ "domain": "git.corporate-url.com", "type": "GitHub" }]

Or

json
"gitlens.remotes": [{ "domain": "git.corporate-url.com", "type": "GitLab" }]
  1. Open a repository from GitHub Enterprise Server or GitLab Self-Managed in VS Code.
  2. Go to the Remotes View.
  3. Select Connect to Remote.
  • If this option is missing, verify the format in your settings.json matches the example above.

Connect to a GitHub Enterprise or GitLab Self-Managed instance

  1. Provide a Personal Access Token (PAT) with the required scopes when prompted, and press Enter to complete the connection.

Jira Integration `PRO`

The Jira Integration, connected through your GitKraken Account, enables Jira Autolinks wherever autolinks are supported in GitLens. Once connected, GitLens automatically converts Jira issue keys (e.g., ABC-123) in commit messages into clickable links.

Jira autolinks in commit messages

This feature is only available for Pro subscription tiers or higher.

To connect the integration:

  1. Open the GitLens Sidebar.
  2. From the GitKraken Account view, select Cloud Integrations.
  3. Choose Jira Cloud, and authorize access to your Atlassian Account.
  4. Alternatively, visit your Integration Settings in a browser.

Connect Jira from GitKraken Cloud Integrations


Powerful Commands

GitLens provides powerful commands to improve your workflow:

  • Add Co-authors (gitlens.addAuthors) — Add a co-author to the commit message input box.
  • Copy SHA (gitlens.copyShaToClipboard) — Copy the commit SHA of the current line or the latest commit.
  • Copy Message (gitlens.copyMessageToClipboard) — Copy the commit message from the current line or latest commit.
  • Copy Current Branch (gitlens.copyCurrentBranch) — Copy the current branch name to the clipboard.
  • Switch to Another Branch (gitlens.views.switchToAnotherBranch) — Quickly switch branches.
  • Compare References... (gitlens.compareWith) — Compare two references.
  • Compare HEAD with... (gitlens.compareHeadWith) — Compare HEAD with a selected reference.
  • Compare Working Tree with... (gitlens.compareWorkingWith) — Compare the working tree with a selected reference.
  • Open Changes (difftool) (gitlens.externalDiff) — Open file changes with the configured Git difftool.
  • Open All Changes (difftool) (gitlens.externalDiffAll) — Open all working changes with the configured difftool.
  • Open Directory Compare (difftool) (gitlens.diffDirectoryWithHead) — Compare working tree with HEAD using a difftool.
  • Open Directory Compare (difftool) with... (gitlens.diffDirectory) — Compare with a selected reference.
  • Open File (gitlens.openWorkingFile) — Open the working version of the current file.
  • Open Revision... (gitlens.openFileRevision) — Open a selected file revision.
  • Open Revision from... (gitlens.openFileRevisionFrom) — Open a revision from a specific reference.
  • Open Blame Prior to Change (gitlens.openBlamePriorToChange) — Show blame for the prior revision of a line.
  • Open Changed Files (gitlens.openChangedFiles) — Open all changed files in the working tree.
  • Close Unchanged Files (gitlens.closeUnchangedFiles) — Close all files without changes.
  • Enable Debug Logging (gitlens.enableDebugLogging) — Enable debug logging in the GitLens output.
  • Disable Debug Logging (gitlens.disableDebugLogging) — Disable debug logging.
  • Copy as Patch (gitlens.copyPatchToClipboard) — Copy patch data from views, changes, or stashes.
  • Apply Copied Patch (gitlens.applyPatchFromClipboard) — Apply a patch from clipboard contents.

Deep Links are URLs that open specific GitLens resources, improving collaboration by sharing direct links to repositories, files, comparisons, and more. Resources that support Deep Linking include:

  • Search & Compare — Link to comparisons in the Search & Compare view. Right-click a comparison, hover over Share, and select Copy Link to Comparison.
  • GitKraken Workspaces — Link to a GitKraken Workspace. Right-click a Workspace, hover over Share, and select Copy Link to Workspace.
  • Commit Graph — Link to remote repositories, commits, branches, and tags in the Commit Graph. Right-click the resource, hover over Share, and select _Copy Link to _.
  • Files or Lines — Link to specific files or lines of code. Right-click highlighted lines or a file, hover over Share, and select Copy vscode.dev Link.
  • Cloud Patches — Link to a Cloud Patch. After generating a Cloud Patch, click Copy Link from the success prompt.

Example of generating and using Deep Links


GitLens menu and toolbar options

GitLens provides customizable menu and toolbar contributions to let you control where GitLens commands appear. You can easily manage these settings via the interactive settings editor.

For example, disabling Add to the editor group toolbar removes those items from the toolbar:

Editor group toolbar items removed

You can also expand each section to customize visibility and placement more granularly.


Modes

GitLens supports user-defined modes for quickly toggling between sets of settings.

  • Shows the active mode in the status bar (optional, enabled by default)
  • Toggle Review Mode (gitlens.toggleReviewMode) — Quickly toggle Review mode.
  • Switch Mode (gitlens.switchMode) — Quickly switch between modes.
  • Zen Mode — Disables many visual elements for a focused experience.
  • Toggle Zen Mode (gitlens.toggleZenMode) — Toggle Zen mode.
  • Review Mode — Enables visual elements for code review.

Experimental Multi-diff Editor

VS Code 1.86 or later is required for these capabilities.

Commands using Multi-diff

  • Open Folder Changes with Revision... and Open Folder Changes with Branch or Tag... via Command Palette, Explorer, and Source Control views.
  • Inline Open All Changes in commits, stashes, and comparison views.
  • Open All Changes and Open All Changes with Working Tree — Use the new multi-diff editor.
  • Open All Changes, Individually and Open All Changes with Working Tree, Individually — Provide legacy behavior.

Commit Graph is Home

URL: https://help.gitkraken.com/gitlens/home-view/
Last updated: August 2026

The Commit Graph is your starting point for working in GitLens. More than a visualization of repository history, it brings your repository state, working changes, branches, worktrees, and supported coding agent activity together in one connected workbench.
From here, you can understand what’s happening across your repository, coordinate parallel work, review and shape changes, and move work toward merge without rebuilding context across disconnected views and tools.

One Graph. Your development workflow, end to end.

GitLens Commit Graph

Start in the Commit Graph

When you open GitLens, the Commit Graph gives you a connected view of your repository and the work happening across it.

At a glance, you can understand:

  • Your current branch, HEAD, upstream, and merge target
  • Working changes across multiple worktrees
  • Incoming and outgoing work
  • Branches and commits across your repository
  • Supported coding agent sessions and their status
  • Work that may need review or attention

The Commit Graph gives you both the big picture and the context to decide what to do next. When you need to narrow your focus, you can focus the Graph on a single branch while keeping the broader repository within reach.

Manage Parallel Human and Agent Work

As development spreads across multiple branches, worktrees, and coding agents, keeping track of what is happening becomes more challenging. The Commit Graph keeps these parallel streams visible and connected to the Git context behind them.

Multi-worktree WIP shows working changes across your worktrees, not just the one you currently have open. Agent Sessions connects supported coding agent activity to the branches and worktrees where that work is happening.

From the Commit Graph, you can:

  • See work in progress across multiple worktrees
  • Monitor supported coding agent sessions
  • Identify sessions that need your attention
  • Understand where agent work is happening
  • Jump directly into working changes
  • Resume work with the surrounding repository context intact

Agent Kanban

Agent Kanban provides a visual way to understand parallel agent work at a glance. Agent sessions are organized by status, including Needs Input, Working, Idle, and Inactive, so you can quickly identify what is progressing and where your attention is needed.

From the board, you can inspect agent work and jump into the associated session and working changes.

Run Your Development Workflow from the Commit Graph

The Commit Graph is more than a place to see the work. It gives you the context and tools to move that work forward.

  1. Monitor
    See human and agent work happening across branches, worktrees, and sessions, and quickly identify what needs your attention.
  2. Review
    Review human or agent-generated changes with AI-powered Review. Surface meaningful findings, ask follow-up questions, and send feedback back to your coding agent when another pass is needed.
  3. Compose
    Turn working changes into clean, logical commits with Commit Composer. Organize related changes, refine commits with AI assistance, and preview the result before writing it to your history.
  4. Compare
    Compare branches, commits, revisions, and working changes to quickly understand exactly what changed before moving work forward.
  5. Rebase
    Use AI-powered Rebase to automate tedious rebasing while staying in control of how your commit history is prepared.
  6. Resolve
    When parallel work collides, use AI-assisted conflict resolution to understand and resolve conflicts while keeping the surrounding repository context in view.

Monitor parallel work. Review what changed. Shape it. Compare it. Rebase and resolve it. Get it ready to merge. All from the Commit Graph.

Stay Oriented as Work Moves

The Commit Graph keeps important reference points visible as your repository changes.

HEAD, upstream, merge target, ahead and behind status, and incoming work indicators help you understand where you are, what has changed remotely, and where your work is headed.

For larger or more active repositories, you can focus the Commit Graph on a single branch, pin important branches, or use search to quickly find commits, authors, files, messages, and specific code changes.

Explore More GitLens Workflows

Continue exploring the workflows available from the Commit Graph:

Or follow a complete workflow from start to finish:


GitLens Integrations

URL: https://help.gitkraken.com/gitlens/gl-integrations/
Last updated: July 2025

GitLens supports a wide range of remote providers to enhance your Git workflow inside Visual Studio Code. Supported platforms include:

  • GitHub (including GitHub Enterprise)
  • GitLab
  • Gitea
  • Gerrit
  • Bitbucket (Cloud and Server)
  • Azure DevOps

You can also define custom remote providers or providers with custom domains.

Integration Capabilities

Basic integrations include:

  • Auto-linking for issues and pull requests

Enhanced integrations (e.g., GitHub, GitLab) offer:

  • Launchpad support to manage pull requests and workflows
  • Rich hovers showing issue and PR details
  • Pull request associations with branches and commits
  • Avatars for contributors and reviewers

These integrations also add contextual commands to open or copy URLs to files, commits, branches, and comparisons directly from your remote provider.


Remote Command Reference

You can use the following GitLens commands to interact with files, commits, and repositories on your remote platform.

Files

  • Open File from Remote (gitlens.openFileFromRemote) — Open a local file by specifying a remote file URL
  • Open File on Remote (gitlens.openFileOnRemote) — Open the current file or revision on the remote
  • Copy Remote File URL (gitlens.copyRemoteFileUrlToClipboard) — Copy the URL of the current file or revision
  • Open File on Remote From... (gitlens.openFileOnRemoteFrom) — Open a file/revision from a specific branch or tag
  • Copy Remote File URL From... (gitlens.copyRemoteFileUrlFrom) — Copy the file/revision URL from a specific branch or tag

Commits

  • Open Commit on Remote (gitlens.openCommitOnRemote) — Open a commit on the remote
  • Copy Remote Commit URL (gitlens.copyRemoteCommitUrl) — Copy the URL of a commit

Branches

  • Open Branch on Remote (gitlens.openBranchOnRemote) — Open the current branch on the remote
  • Copy Remote Branch URL (gitlens.copyRemoteBranchUrl) — Copy the URL of the current branch
  • Open Branches on Remote (gitlens.openBranchesOnRemote) — Open the list of branches on the remote
  • Copy Remote Branches URL (gitlens.copyRemoteBranchesUrl) — Copy the URL for all branches

Comparisons

  • Open Comparison on Remote (gitlens.openComparisonOnRemote) — Open a diff comparison on the remote
  • Copy Remote Comparison URL (gitlens.copyRemoteComparisonUrl) — Copy the URL for the comparison

Pull Requests

  • Open Pull Request on Remote (gitlens.openPullRequestOnRemote) — Open the associated pull request
  • Copy Pull Request URL (gitlens.copyRemotePullRequestUrl) — Copy the pull request URL

Repositories

  • Open Repository on Remote (gitlens.openRepoOnRemote) — Open the entire repository in your browser
  • Copy Remote Repository URL (gitlens.copyRemoteRepositoryUrl) — Copy the repository URL for sharing or navigation

Connect GitHub or GitLab Integration

To connect GitHub or GitLab to GitLens, you'll use your GitKraken account via the GitLens integrations dashboard.

Steps to Connect:

  1. Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P) and run GitLens: Manage Integrations, or
  2. Go to the GitKraken Account section in the GitLens Activity Bar and choose Integrations.

Navigate to Integrations in the GitKraken Account menu

  1. If you’re not already signed in, log into your GitKraken account.
  2. Click Connect with GitHub or Connect with GitLab and complete the sign-in process.
  3. Select Complete Setup to return to Visual Studio Code and activate the integration.

You can connect multiple integrations if needed.

Select the service you want to integrate and finish setup

Community users are limited to basic functionality only.

GitHub Enterprise Server and GitLab Self-Managed Integration `PRO`

GitLens Pro supports advanced integration with GitHub Enterprise Server and GitLab Self-Managed.

Once authenticated, GitLens enhances autolinks for these services in hover cards. You'll see:

  • User avatars
  • Links to related pull requests and issues
  • Pull request and issue details directly in the Sidebar views

Enhanced hover cards with issue and PR metadata

Connect GitHub Enterprise Server or GitLab Self-Managed

To connect a self-hosted GitHub or GitLab instance:

  1. Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P) and select Preferences: Open User Settings (JSON)
  2. In settings.json, add a gitlens.remotes entry with your domain and provider type:
json
"gitlens.remotes": [{ "domain": "git.corporate-url.com", "type": "GitHub" }]

Or for GitLab:

json
"gitlens.remotes": [{ "domain": "git.corporate-url.com", "type": "GitLab" }]
  1. Open the self-hosted repository in Visual Studio Code
  2. Open the Remotes View
  3. Click Connect to Remote

Use the plug icon to connect a self-managed remote

If the Connect to Remote option doesn't appear, double-check that your JSON entry matches the example format.

  1. When prompted, provide a Personal Access Token (PAT) with the required scopes and press Enter to complete setup

Jira Integration `PRO`

GitLens Pro supports integration with Jira Cloud via your GitKraken Account. This allows GitLens to automatically link Jira issue keys (e.g., ABC-123) in commit messages and views wherever autolinks are supported.

Jira issues auto-linked in GitLens hovers and views

This feature is only available for Pro subscription tiers or higher.

Connect the Jira Integration

  1. Open the GitLens Sidebar and navigate to the GitKraken Account view.
  2. Select Cloud Integrations.
  3. Choose Jira Cloud and follow the prompts to connect.
  4. Allow GitKraken access to your Atlassian Account.

You can also configure this via the Integration Settings in a browser.

Jira integration via GitLens Cloud Integrations panel


GitLens Interactive Code History

URL: https://help.gitkraken.com/gitlens/gl-interactive-code-history/
Last updated: July 2025

 

Understanding code history in large repositories can be challenging, especially with multiple branches and contributors. GitLens helps simplify this process by providing tools that surface meaningful context:

  • Commit Graph – Visualize the structure of your repository.
  • GitLens Inspect – Drill into file and line-level history.
  • Inline Blame and Hovers – Quickly see who changed what and when.

These features make it easier to navigate your repository, understand changes, and make informed decisions about your code.


AI Agents in GitLens

URL: https://help.gitkraken.com/gitlens/gl-agents/
Last updated: May 2026

Using AI Agents in GitLens

GitLens 18 introduces integrated AI agent workflows directly inside your IDE. Instead of managing coding agents through scattered terminal tabs, external apps, or separate extensions, GitLens surfaces agent status, worktree context, and actionable Git workflows directly within the Commit Graph.

With GitLens, you can:

  • Monitor active AI coding agents without leaving the IDE
  • Track agent sessions tied to branches and worktrees
  • Review AI-generated changes inside the Commit Graph
  • Compose commits directly from agent-produced work
  • Quickly identify sessions waiting for input
  • Manage parallel worktrees and WIP changes visually

GitLens 18 currently supports Claude Code integrations through GitLens-managed hooks.

Understand Agent Sessions

An agent session represents an active AI coding workflow associated with a repository, branch, or worktree.

GitLens tracks these sessions and surfaces their status throughout the interface so you can monitor progress and act on changes without switching between terminals, chat panels, or external applications.

Agent sessions appear in:

  • The Commit Graph overview cards
  • The Commit Graph details panel
  • The Agent Sessions sidebar panel

Each session displays contextual Git information including:

  • Associated branch
  • Worktree
  • Working changes
  • Agent state
  • Ahead/behind indicators
  • Actions requiring attention

Install Claude Code Hooks

GitLens integrates with Claude Code using hooks that provide real-time session visibility.

You can install hooks from several locations in GitLens:

  • Commit Graph header
  • Agent Sessions sidebar banner
  • Integrations menu

Install Hooks

  1. Open the GitLens Commit Graph.
  2. Select the Claude Code integration prompt.
  3. Follow the setup instructions.
  4. Reload VS Code or your IDE if prompted.

Once installed, GitLens automatically detects Claude Code sessions and surfaces their state throughout the UI.

Uninstall Hooks

  1. Open the Command Palette.
  2. Run: GitLens: Uninstall Claude Code Hooks

Understand Agent Status Pills

GitLens surfaces agent activity through status pills shown throughout the interface. Status pills are color-coded and animated to help you quickly identify what requires attention.

Running

The agent is actively processing changes or generating code. Running sessions display subtle pulse animations.

Waiting for Input

The agent requires your input before continuing. Waiting sessions display attention-grabbing animations and appear prominently in overview cards.

Idle

The session is connected but not currently performing actions.

Completed

The agent finished its current task. Changes are ready for inspection or review.

Use the Agent Sessions Panel

GitLens 18 adds a dedicated Agent Sessions panel available from the Commit Graph sidebar. The panel provides a centralized place to monitor all active sessions.

Panel Features

The panel includes:

  • Session status pills
  • Branch and worktree associations
  • Quick actions
  • List and tree layouts
  • Session grouping by workspace or worktree

Switch Between List and Tree Layouts

Use the layout toggle in the Agent Sessions panel toolbar to switch between list and tree layouts. Tree layout is especially useful when working across multiple repositories or worktrees.

Review Agent-Generated Code

GitLens 18 turns the Commit Graph into a full review surface for AI-assisted workflows.

From the Commit Graph details panel you can:

  • Inspect working changes
  • Compare revisions
  • Review AI-generated code
  • Generate commits with Commit Composer
  • Resolve conflicts
  • Stage and unstage files

Open the Commit Graph Details Panel

  1. Open the Commit Graph.
  2. Select a commit, branch, or WIP row.
  3. Toggle the details panel if it is hidden.

The panel can be docked on the right side or at the bottom of the Commit Graph. Hold Alt while toggling the panel to switch docking locations.

Run AI Code Review in the Commit Graph

GitLens 18 adds AI-powered review workflows directly inside the Commit Graph.

Start an AI Code Review

  1. Open the Commit Graph.
  2. Select a WIP row or commit.
  3. Open the details panel.
  4. Switch to Review mode.

GitLens generates:

  • Review summaries
  • Suggested focus areas
  • Severity indicators
  • File-level context

This helps you validate AI-generated changes before committing or opening a pull request.

AI Code Review requires GitLens Pro.

Compose Commits from Agent Changes

Commit Composer is integrated directly into the Commit Graph details panel. You can generate structured commits from working changes without leaving the Commit Graph.

Compose a Commit

  1. Open the Commit Graph.
  2. Select a WIP row.
  3. Open the details panel.
  4. Switch to Compose mode.
  5. Review proposed commit groupings.
  6. Edit the generated commit message if needed.
  7. Commit the changes.

Compose mode supports:

  • Multi-diff previews
  • Staged and unstaged files
  • Untracked files
  • AI-generated commit messages

Manage Multi-Worktree Workflows

GitLens 18 introduces multi-worktree WIP rows in the Commit Graph. Instead of showing changes only for the active worktree, the Commit Graph displays work-in-progress rows for every connected worktree.

This makes it easier to:

  • Monitor parallel agent workflows
  • Compare work across tasks
  • Review uncommitted changes
  • Resolve conflicts
  • Compose commits from multiple worktrees

Each WIP row updates live as files change.

Use WIP Scroll Markers

The Commit Graph minimap includes WIP scroll markers that highlight work-in-progress rows. You can customize marker colors or enable and disable markers in settings.

Use Focus Branch Mode

Focus Branch mode reduces Commit Graph noise when working on a specific branch or task. When enabled, the Commit Graph scopes itself to the branch you select.

Enable Focus Branch Mode

  1. Open the Commit Graph.
  2. Open the scope menu in the Commit Graph header.
  3. Select a branch to focus.

While focused:

  • The Commit Graph follows the branch's first-parent history
  • The minimap zooms to the relevant commit range
  • Simplify Merge History applies automatically
  • Visual indicators show that the Commit Graph is scoped

Pin a Branch in the Commit Graph

GitLens 18 allows you to pin an important branch to the leftmost column of the Commit Graph. This keeps long-lived reference branches like main or develop visible while you navigate complex histories.

Pin a Branch

  1. Right-click a branch row.
  2. Select Pin Branch.

Pinned branches remain visible across Commit Graph sessions.

Resolve Conflicts in the Commit Graph

Conflict resolution workflows extend directly into the Commit Graph. You can resolve merge conflicts from Commit Graph WIP rows or the Interactive Rebase editor. Conflict states appear inline inside the details panel.

Open the Commit Graph in a New Window

GitLens 18 adds support for opening the Commit Graph in a detached window. This is especially useful for multi-monitor setups, large repositories, persistent review workflows, and parallel agent workflows.

Open in a New Window

From the Commit Graph menu, select Open in New Window.

GitLens agent workflows work especially well alongside:

These end-to-end workflows build on the same agent features:


Manage Parallel Development from the Commit Graph

URL: https://help.gitkraken.com/gitlens/gl-parallel-dev-workflow/
Last updated: August 2026

Modern development rarely happens in a single branch. Developers and coding agents can work across multiple branches, worktrees, and tasks at the same time, creating more parallel streams of work to understand and coordinate.

The Commit Graph brings those streams together in one development workbench. See what’s changing, understand where work is happening, identify what needs your attention, and move work forward without jumping between branches, terminal sessions, and disconnected views.

GitLens Commit Graph

1. See All Active Work

Start in the Commit Graph to get a connected view of your repository and the work happening across it.
See branches, worktrees, working changes, commits, HEAD, upstream, merge targets, and ahead and behind status together, giving you the context to understand how each stream of work relates to the rest of your repository.

Multi-worktree WIP also surfaces working changes across your worktrees, so active work stays visible even when you aren’t currently working in that worktree.

2. Monitor Agent Work

When coding agents are working in parallel, GitLens keeps supported agent activity connected to the branches and worktrees where that work is happening.

From the Commit Graph, you can:

  • Monitor supported coding agent sessions
  • See which sessions are working, idle, or need attention
  • Understand which branch and worktree an agent is working in
  • Jump into the work associated with an agent session
  • Resume active or previous sessions with the surrounding Git context intact

Instead of tracking agent work across separate terminal sessions, you can see where the work lives and when it needs you.

3. Understand Changes Across Worktrees

Worktrees let developers and agents work on multiple branches from the same repository without constantly switching branches or stashing changes.

GitLens brings work in progress across those worktrees into the Commit Graph, giving you visibility into parallel development from one place.

Use Multi-WIP to see working changes across multiple worktrees, understand which branches have active work, and move between parallel streams without losing sight of the bigger picture.

4. Review Work as It Happens

You don’t have to wait until parallel work becomes a pull request to understand what changed.

Open working changes from the Commit Graph and use AI-powered Review to analyze human or agent-generated work while it’s still in progress. Surface meaningful findings, investigate specific areas, ask follow-up questions, and send an entire review or individual finding back to your coding agent when another pass is needed.

Reviewing work earlier helps keep changes understandable before multiple streams of development come back together.

5. Shape and Compare the Work

Once changes are ready, use Commit Composer to turn scattered work into clean, logical commits that are easier to understand and review.

Organize related changes, move work between commits, reorder and refine commits, and use AI assistance to help shape the resulting history.

Then use Compare directly from the Commit Graph to compare commits, branches, revisions, and working changes so you can understand exactly what’s different before moving forward.

6. Prepare Parallel Work to Land

As parallel branches come back together, GitLens helps you handle the Git work required to prepare them for merge.

Use AI-powered Rebase to automate tedious rebasing while staying in control of the result. If overlapping work creates merge conflicts, AI-assisted conflict resolution helps you understand and resolve competing changes while keeping the surrounding repository context in view.

Instead of leaving your workflow to manually untangle the final steps, you can continue moving the work forward from the same workbench where you’ve been monitoring and reviewing it.

Keep Parallel Development Under Control

The Commit Graph gives you one place to follow parallel development from active work to merge readiness.

See every stream of work. Know what needs your attention. Review and shape the changes. Get parallel work ready to merge from one connected workbench.


Prepare Your Branch to Ship

URL: https://help.gitkraken.com/gitlens/gl-branch-prep-to-ship/
Last updated: August 2026

Writing the code is only part of getting work ready to merge. Upstream changes, messy commit history, overlapping work, and merge conflicts can all stand between a finished change and a branch that’s ready to ship.

The Commit Graph brings those final workflows together in one workbench. Understand where your branch stands, compare what changed, clean up your commits, rebase with AI, resolve conflicts, and review the result without jumping between disconnected views and tools.

1. See Where Your Branch Stands

Start in the Commit Graph to understand your branch in the context of the repository around it.

See HEAD, upstream, merge target, incoming work, and ahead and behind status together so you can quickly understand what has changed and what needs attention before moving forward.

2. Compare Before You Merge

Before making changes to your branch history, use Compare to understand exactly how your work differs from its target.

From the Commit Graph, compare branches, commits, revisions, and working changes to see what you’re introducing and identify anything that needs another look.

This gives you a clear baseline before you start preparing the branch for merge.

3. Clean Up Your Commits

Development rarely produces perfectly organized commits on the first pass.

Use Commit Composer to turn working changes into clean, logical commits that make the work easier to understand and review.

With Compose, you can:

  • Group related changes into commits
  • Move files between commits
  • Reorder and refine work
  • Generate commit messages with AI
  • Preview the resulting changes before committing

A cleaner commit structure gives reviewers a clearer picture of what changed and why.

4. Rebase with AI

When upstream work has moved ahead, use AI-powered Rebase to bring your branch up to date and prepare its history for merge.

Instead of manually stepping through a traditional interactive rebase, GitLens can automate the rebase process with AI while keeping you in control of the result.

This helps reduce the repetitive work involved in updating and cleaning up your branch before it ships.

5. Resolve Conflicts

Parallel development means changes sometimes collide.

When conflicts occur, GitLens keeps resolution connected to the same repository context you’ve been using throughout the workflow. AI-assisted Resolve can generate proposed resolutions, provide explanations and confidence indicators, and help you understand competing changes before accepting the result.

You can always make the final decision or resolve the conflict manually when needed.

6. Review the Final Changes

Once your branch is updated and conflicts are resolved, give the resulting changes one final review.
Use AI-powered Review to surface meaningful findings, inspect important changes, and validate the work before opening or updating your pull request.

If something needs another pass, address it before the branch moves forward.

Ship with Confidence

The Commit Graph keeps the final steps between finished code and merge-ready work connected:

Understand → Compare → Compose → Rebase → Resolve → Review

Know where your branch stands. Clean up the work. Bring it up to date. Resolve conflicts. Review the result. Ship with confidence.


Take Agent-Generated Work from Change to Merge

URL: https://help.gitkraken.com/gitlens/gl-agent-generated-work-end-to-end/
Last updated: August 2026

Coding agents can produce changes quickly, but generated code still needs to be understood, organized, and prepared before it is ready to merge.

GitLens keeps that workflow connected inside the Commit Graph. Review what your agent changed, send feedback back for another pass, shape the result into clean commits, and use AI-powered Rebase to prepare the branch for merge without jumping between disconnected views and tools.

1. Start with the Agent’s Changes

Open the agent’s working changes from the Commit Graph to understand what was modified and how that work relates to the branch and repository around it.

Keeping the agent session, worktree, and changes connected makes it easier to understand the work before deciding what happens next.

2. Review the Work While It’s Fresh

Use AI-powered Review directly from the Commit Graph to analyze the agent-generated changes before they become a pull request.

Review can surface meaningful findings, highlight areas that deserve attention, and help you understand the changes through a streamlined semantic diff.

From the review, you can:

  • Inspect findings in the affected code
  • Ask follow-up questions for more context
  • Focus the review on specific areas
  • Send an entire review, focus area, or individual finding back to your coding agent

Review becomes part of the development loop instead of something that happens only after the work is finished.

3. Send Findings Back for Another Pass

When Review surfaces something that needs to change, send the feedback directly back to your coding agent.

GitLens keeps the review context attached so the agent can address the finding without you manually reconstructing the issue in another terminal or chat session.
Once the agent updates the code, return to the working changes and review the result again.

4. Compose Clean, Reviewable Commits

Agent-generated work may span multiple files and concerns that do not belong in a single commit.

Use Commit Composer from the Commit Graph to organize those changes into clean, logical commits that are easier for you and your teammates to understand.

With Compose, you can:

  • Group related changes into draft commits
  • Move files between commits
  • Reorder commits
  • Generate commit messages with AI
  • Preview synthesized diffs before committing
  • Refine the proposed commit structure before writing it to your history

Compose helps turn raw agent output into a history that explains the work instead of simply recording it.

5. Compare Before Moving Forward

Before preparing the branch for merge, use Compare to understand exactly how the work differs from another commit, branch, revision, or working state.

Comparing from the Commit Graph keeps the changes and their surrounding repository context together, making it easier to validate the final result before moving on.

6. Rebase with AI

Once the work is reviewed and organized, the branch may still need to be rebased before it is ready to merge.

GitLens AI-powered Rebase automates much of the tedious work traditionally involved in interactive rebasing while keeping you in control of the resulting history.

Use AI-powered Rebase to help prepare a cleaner branch without manually stepping through every rebase operation.

If the rebase creates conflicts, GitLens keeps the workflow connected so you can move directly into conflict resolution without rebuilding context elsewhere.

From Agent Output to Merge-Ready Work

The Commit Graph keeps the steps between generated code and merge-ready work connected:

Agent changes → Review → Agent feedback → Compose → Compare → AI-powered Rebase

Instead of treating agent output as finished code, GitLens gives you a workflow for understanding it, improving it, shaping it, and preparing it to ship with confidence.


GitLens Release Notes (Current — v18.x)

URL: https://help.gitkraken.com/gitlens/gitlens-release-notes-current/
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.

Install Current Version Now

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



GitLens Release Notes — Version 17.x

URL: https://help.gitkraken.com/gitlens/GL-Release-v17-x/

Version 17.11

Wednesday, March 4, 2026

GitLens 17.11 brings smarter Commit Composer composition that uses your existing commits as context, expands MCP tool support to Cursor and other VS Code-based IDEs, and adds the latest Claude and Gemini AI models. This release also delivers a focused set of bug fixes for Jira and Linear integration, GitLab workflows, and stash operations.

Commit Composer: Context-Aware Composition

Commit Composer is now smarter about what it knows when generating commits for you. When you have existing commits on your branch and compose new changes, Commit Composer reads those prior commit messages and uses them as context. Commit Composer understands the narrative arc of your branch, what you've already captured in previous commits, and produces new commits that are consistent in style, scope, and intent.

Previously, Commit Composer analyzed only the raw diff of your working changes. If you'd already made two well-structured commits and had more WIP to compose, it had no awareness of those earlier commits. Now it does, and the result is a more coherent commit history.

This release also reduces noise during multi-pass composition sessions: you'll see far fewer repeated warnings about large token usage when recomposing within the same session.

MCP Tools Now Available in Cursor

The GitKraken MCP tools introduced in GitLens 17.10 (Start Work, Start Review, Commit Composer, and Launchpad) are now available in Cursor and other VS Code-based IDEs. Previously limited to VS Code, these tools enable AI agents in your IDE to automate branch creation, code review setup, commit composition, and PR triage directly from natural language prompts.

New AI Models

GitLens 17.11 adds support for Claude Sonnet 4.6, Claude Opus 4.6, and Gemini 3.1 Pro for AI-powered features. Select your preferred model in GitLens settings under AI providers.

Standalone Welcome View

The Welcome view is now its own standalone view, separate from Home, so it won't interfere with your Home view experience.


Added

  • Adds support for Claude Sonnet 4.6, Claude Opus 4.6, Gemini 3.1 Pro Preview, and Gemini 3.1 Flash-Lite Preview AI models (#4991)
  • Adds basic support for Git submodules — including repository discovery, tracking, and UI icons and tooltips to distinguish submodules in views and quick picks (#1048, #1803)

Changed

  • Improves tracking for connecting flow actions by adding ide attributes to gk.dev links (#4905)
  • Refactors the Welcome view to be a standalone view separate from the Home view, improving modularity and allowing the Welcome walkthrough to be displayed independently without requiring the Welcome Overlay (#4970)
  • Improves the quality of output when recomposing branches in the Commit Composer by including commit messages of the previous commits as context (#4874)
  • Changes logging to use VS Code's native LogOutputChannel — the custom output level setting has been deprecated in favor of native VS Code log level controls
  • Switches out deprecated Bitbucket provider API method (#4967)
  • Improves performance of the file system provider by adding an LRU cache to the search tree
  • Improves Git shell operations by converting synchronous file system calls to async

Fixed

  • Fixes an issue in the Start Review command where it opens the wrong branch with GitLab repos (#4975)
  • Fixes an issue where authentication errors were not properly displayed in Launchpad when GitLab integration credentials were revoked (#4944)
  • Fixes an issue where stashing only unstaged changes could incorrectly stash everything (#4503)
  • Fixes an issue where Jira and Linear issues were not shown on the Commit Graph unless a Git hosting integration (e.g. GitHub) was also connected (#4640)
  • Fixes highlighting delays that can occur in Commit Composer when selecting large commits (#4872)
  • Fixes repeated warnings about large token usage in the same session in Commit Composer (#4800)
  • Fixes an issue where MCP registration can stop working if CLI binary goes missing after the CLI was successfully installed
  • Fixes an issue where continuing a paused revert operation would incorrectly abort instead of continuing
  • Fixes an issue with rebase todo parsing when using newer Git versions that use # prefixes in commit messages
  • Fixes an issue with incorrect ref resolution for merge conflict nodes
  • Fixes an issue where nested repositories could fail to be removed when workspaces change

Version 17.10

Wednesday, February 11, 2026

GitLens 17.10 delivers significant improvements to Commit Composer, introduces commit signing support across all GitLens operations, and adds powerful new MCP tools for AI-assisted workflows. This release also includes major performance optimizations for worktree users, making GitLens faster and more efficient when working with multiple worktrees.

Commit Composer Enhancements

Unified Commit Message Generation

Commit Composer now uses the same commit message prompt as other GitLens features, ensuring consistency across all commit message generation throughout the extension. If you've customized commit message instructions in GitLens settings, those preferences will now automatically apply when generating messages in Commit Composer.

Smarter Auto-Compose with Context Caching

Commit Composer's auto-compose feature now maintains context across multiple iterations. Instead of starting fresh each time, subsequent recompositions reference previous composition context and only send the changes needed for the update. This reduces token consumption when refining your commits and helps the AI produce better results by understanding the full conversation history.

Commit Signing Support

All commit operations in GitLens - including those performed through Commit Composer - now respect your git commit signing configuration. This resolves a limitation for developers who require signed commits and were unable to use Commit Composer. GitLens will automatically sign commits based on your existing git configuration, ensuring compliance with your repository's security requirements.

New MCP Tools for AI-Powered Workflows

GitLens 17.10 introduces four new MCP tools designed to streamline developer workflows when using AI agents in your IDE. These tools enable intelligent automation for common development tasks:

gitlens_start_work - Start working on assigned issues
Automatically creates a branch in a new worktree following GitLens naming conventions, avoiding disruption to your current work in progress. The tool pulls issue context from trackers like Jira or GitHub Issues and sends it to your AI chat to jumpstart issue resolution.

gitlens_commit_composer - Compose commits with AI assistance
Sends your current work in progress to Commit Composer where commits can be automatically or manually composed, making it easy to structure your changes into logical, well-organized commits.

gitlens_launchpad - Get categorized pull request insights
Retrieves pull requests from GitLens Launchpad, organized into actionable categories that help you prioritize what needs your attention: blocked PRs, those requiring your review, waiting for review from others, and more.

gitlens_start_review - Begin code reviews efficiently
Checks out the PR branch in a new worktree (creating a local branch if needed) to avoid disrupting ongoing work, pre-loads relevant file comparisons, and launches your AI agent with a review-focused prompt and complete PR context.

Note: In this release, these MCP tools are available in VS Code. Support for Cursor, Windsurf, Trae, and other VS Code-based IDEs is coming soon.

Major Performance Improvements

GitLens 17.10 delivers substantial performance gains across the board — you'll notice faster loading, snappier sidebar views, and fewer delays during everyday Git operations.

Faster Worktree Workflows

If you work with multiple worktrees, this release is a big upgrade. Previously, each worktree triggered its own set of Git queries, even when the underlying data was shared. GitLens now intelligently caches and reuses Git data across worktrees linked to the same repository, dramatically cutting down on redundant work.

Fewer Git Calls, Less Overhead

We overhauled our caching layer to eliminate unnecessary Git calls, particularly during repository discovery and loading. Git commands are now batched more efficiently — fetching more data in a single call where possible, and deferring expensive lookups (like stash file details) until they're actually needed. Stash loading now also benefits from deferred file detail loading (previously only available for commits) — enable the gitlens.advanced.commits.delayLoadingFileDetails setting to take advantage of both. The result is noticeably less overhead, especially in large repositories or multi-repo workspaces.

Less Contention, More Responsiveness

Git operations are now queued and throttled to a configurable maximum number of concurrent processes (defaulting to 7), which reduces system contention and keeps things responsive — especially in large or multi-repo workspaces where GitLens previously could flood the system with parallel Git calls. A new gitlens.advanced.git.maxConcurrentProcesses setting lets you tune this limit to match your machine's capabilities.

Smarter File Watching

GitLens is now smarter about reacting to file and Git changes. Improvements to how Git ignore rules are evaluated mean fewer unnecessary file events are processed, reducing background work that could cause brief UI hiccups. Additionally, GitLens metadata (like merge targets and linked issues) has also moved to a dedicated .git/gk/config file, which prevents metadata updates from triggering repository change events that previously caused unnecessary refreshes across the extension and VS Code.

Snappier, More Focused Sidebar Views

Sidebar views like Commits, Branches, and Stashes have been optimized by reducing unnecessary updates. We also optimized loading the views with multiple repositories — deferring work until specific interactions (hover, expand) need it, and avoiding automatically expandingmore than one repository when multiple repositories are open. A new "Filter Repositories..." command also lets you scope any view to specific repositories — or exclude worktrees entirely — so you only see what's relevant. These changes make the sidebar noticeably more responsive in complex workspaces.


Added

  • Adds support for AI ignore files (.aiignore, .cursorignore, .aiexclude) and gitlens.ai.exclude.files setting to filter sensitive data from AI prompts, and smart diff truncation that prioritizes dropping low-value files when prompts exceed token limits (#4916)
  • Adds conversation threading to Commit Composer auto-compose for improved outcomes (PR #4900)
  • Adds an option to filter tree views to exclude worktrees, allowing users to show all repositories except worktrees whose main repository is also open (#4952)
  • Adds commit signature verification with support for GPG, SSH, and X.509 formats (#4552, #2363)
  • Adds verification badges and detailed tooltips to the Commit Details and Graph Details views
  • Adds signature indicator icon to inline blame hovers
  • Adds ${signature} token to default commit and status tooltip formats in views and the Commit Graph
  • Adds a "Filter Repositories..." command to the Branches, Commits, Contributors, Remotes, Stashes, Tags, and Worktrees views to filter to all repos, all repos excluding worktrees, or specific repos
  • Adds a refresh button to the Interactive Rebase Editor toolbar to manually refresh the rebase state

Changed

  • Significantly improves performance and reduces overhead, especially with worktrees
  • Improves performance when opening repositories with worktrees by sharing cached Git data across them (#4929)
  • Improves responsiveness by adding priority-based Git process scheduling and smarter repository discovery (#4930)
  • Adds a gitlens.advanced.git.maxConcurrentProcesses setting to specify the maximum number of background Git processes that can run concurrently
  • Improves file system event handling performance by optimizing Git ignore rule processing (#4919)
  • Improves view update performance by skipping refreshes for hidden views and preventing unnecessary auto-expand with multiple repositories (#4928)
  • Moves GitLens-specific metadata (merge targets, issues, activity) to a dedicated .git/gk/config file to avoid modifying .git/config (#4968)
  • Eliminates unnecessary Git repository change events previously triggered by metadata updates
  • Improves stash loading performance by deferring file detail loading (requires the gitlens.advanced.commits.delayLoadingFileDetails setting to be enabled)
  • Improves commit message instructions in Commit Composer auto-compose for better consistency (PR #4888)
  • Overhauls Git Command Palette quick wizards with scope-based progress tracking and modular sub-commands for branch, stash, remote, tag, and worktree operations (#4927)
  • Improves worktree naming for detached states by including the folder name for better context
  • Excludes worktrees from repository pickers in commands where selecting a worktree would be inappropriate (#4931)
  • Prevents repositories from automatically opening when an opened file is git-ignored
  • Stops creating new GitHub sessions via VS Code built-in authentication; new connections now always use the GKDev flow, while existing built-in sessions are still used if available (#4881)

Fixed

  • Fixes potential deadlocks during node loading in views (#4928)
  • Fixes an issue where the GitKraken MCP installation could fail or conflict across remote environments like WSL, SSH, or containers (#4918)
  • Fixes an issue where diffing untracked files in the Commit Composer could trigger unwanted file system events (#4917)
  • Fixes an issue where a single-selected commit in the Commit Composer would not get proper highlighting (#4899)
  • Fixes an issue where the collapsed state of diffs in the Commit Composer would get reset when scrolling (#4898)
  • Fixes an issue where commit messages become invisible during interactive rebase in some themes (#4886)
  • Fixes issue in the Commit Graph minimap where it only shows a spinner when the repo has no commits (#4741)
  • Fixes an inline markdown rendering issue in the Interactive Rebase Editor (#4914)
  • Fixes an issue where opening a deep link to create a PR worktree would incorrectly prompt to add a remote that already exists (#4926)
  • Fixes an issue where a repository might not be discovered when opening files in parent directories of the repository (#4932)
  • Fixes an issue where popovers would appear in drag images when dragging commits in the Interactive Rebase Editor (#4933)
  • Fixes issues with the "Reauthenticate" flow not taking effect (#4881)
  • Fixes an issue where clicking on the repository filter header in the Branches, Worktrees, Tags, Remotes, Stashes, and Contributors views would do nothing when only 1 grouped repository exists (#4947)
  • Fixes issue in webview file trees where same named folders are highlighted when one is selected #4801
  • Fixes potential quick pick hung state when cancelling wizards in quick commands
  • Fixes an issue where the Interactive Rebase Editor could open in the wrong window for workspace files
  • Fixes issues where the GitLens grouped views would not refresh, tree items could not be resolved, or loading state would get stuck when switching views

Version 17.9

Tuesday, January 13, 2026

GitLens 17.9 brings refinements to the Interactive Rebase Editor and improvements to cherry-picking workflows, ensuring smoother and more reliable Git operations.

Interactive Rebase Editor Improvements

The Interactive Rebase Editor now fully supports --rebase-merges for linear histories while protecting you from unsafe operations when merge commits are present. When rebasing with merge commits, the editor will automatically disable reordering to prevent conflicts and maintain repository integrity.

Additionally, cherry-picking multiple commits now applies them in the correct topological order, ensuring dependent commits are applied in sequence and preserving proper commit ancestry.


Added

  • Adds a welcome page webview for first-time installs to highlight Pro benefits for users in IDEs that do not support the standard VS Code walkthrough (#4769

Changed

  • Improves the Interactive Rebase Editor to fully support --rebase-merges on linear history while preventing unsafe reordering when merge commits are present (#1238)
  • Improves cherry-pick apply order to use topological sort for correct commit sequence (#4863)
  • Changes AI features to require GitLens Pro instead of GitLens Advanced — all AI features now consistently lead to Pro plan checkout (#4843)
  • Updates the Welcome walkthrough to streamline onboarding and highlight core GitLens features (#4842)

Fixed

  • Fixes issue where the button text on feature gates would blend into the background (#4833)
  • Fixes issue where codicon would render as text in comparison picker title (#4866)
  • Fixes issue where Interactive Rebase elements overlap when using keyboard and mouse navigation simultaneously (#4816)
  • Fixes issue where Home view could crash when state fails to load (#4766)
  • Fixes #4776 Azure DevOps Work Item autolinks pointing to wrong project when the Work Item belongs to a different project in the same organization — thanks to PR #4777 by Daniel Asher (@danielasher115)
  • Fixes issue where Load more in the Commits view would not correctly load if the last item was a stash (#4865)

Version 17.8

Tuesday, December 16, 2025

GitLens 17.8 expands Commit Composer with selective recomposition, introduces an improved Rebase Editor with conflict detection and better navigation, enhances Commit Graph search with intuitive hints and faster results, and handles more Git operations natively for smoother workflows.

Commit Composer: Selective Recomposition

Commit Composer now lets you recompose specific commits within a branch, giving you precise control over cleaning up your commit history.

Previously, you could only recompose all working changes or an entire branch. Now you can select specific commits that need refinement—like those quick "wip" or "fix" commits made during rapid iteration—and let AI restructure just those changes with better messages.

Select multiple contiguous commits on the same branch using Shift or Cmd click, then right-click and choose "Recompose Selected Commits." Commit Composer opens with only your selected commits as drafts, ready for AI-powered or manual refinement.

Commit Composer is also more discoverable, with a new button on the WIP row in the Commit Graph that opens the composer for all working directory changes. Additionally, when rebasing, you can now switch directly into Commit Composer from the Rebase Editor, canceling your rebase to let AI handle the composition instead.

Improved Rebase Editor

The Rebase Editor receives significant upgrades for better usability and safety during interactive rebases.

Better Performance and Reliability: GitLens now handles rebases internally rather than routing through the terminal, resulting in better error handling and improved performance. Operations respect Git's update-ref for more robust branch management.

Bulk Operations: Select multiple commits simultaneously to perform operations like squashing across several commits at once, streamlining complex rebases.

Conflict Detection PRO: The Rebase Editor now checks for potential merge conflicts before you begin, helping you anticipate issues.

Improved Rebase State Indicators When you're in a rebase state, headings throughout GitLens in the Home View and Commit Graph now display the branch and commit being rebased, with clickable links to jump to those items in the Commit Graph.

Enhanced Navigation: Full keyboard navigation lets you cycle through commits and actions without reaching for your mouse. Toggle seamlessly between the interactive Rebase Editor and the text version of the rebase todo file for ultimate flexibility.

Bug Fixes: The Rebase Editor now correctly opens in the right IDE window when working with worktrees, and operations properly respect Git's update-ref configuration.

Commit Graph Search Enhancements

Finding commits in the Commit Graph is now faster and more intuitive.

Search Hints: Dropdown hints below the search bar showcase available query types - like author:, file:, and ref: - with quick-select menus for common searches. For example, selecting the author: hint opens a searchable list of repository contributors, making it easy to find commits by specific authors.

Instant Results: Search performance has been dramatically improved. Results now begin rendering immediately instead of waiting for all data to load, getting you to what you need faster.

Native Git Operations

GitLens now handles most Git operations like rebase and merge internally rather than routing through the terminal. This keeps you in the UI you're working with - like the Commit Graph and Rebase Editor - without disruptive context switches to the terminal.

You'll also benefit from more helpful error handling when something goes wrong, with clear explanations and actionable next steps.

Latest AI Model Support

GitLens continues to stay current with AI capabilities, now supporting Claude Opus 4.5 and OpenAI GPT 5.1 for AI-powered features like commit composition and code explanations.


Added

  • Enhances the Commit Graph experience with several new features
  • Improves rendering, scrolling, keyboard navigation, and first load performance
  • Eliminates flickering of branch metadata (upstream status, PRs, and issues) when the repository changes
  • Adds real-time streaming of search results with pause, resume, and cancel support (#4782, #4526, #3963)
  • Changes the default of the gitlens.graph.searchItemLimit setting to 0 (no limit)
  • Adds autocomplete suggestions and interactive filter pickers (for authors, references, and files/folders) to Commit Graph search (#4780)
  • Adds quick pick menus for picking authors, branches or tags, comparison ranges, and files or folders
  • Adds Compose Commits..., Generate Commit Message..., and Stash All Changes... inline actions to the "work in progress" (WIP) row in the Commit Graph (#4790)
  • Adds support for recomposing selected commits in graph and composer (#4600)
  • Adds sticky timeline support to the Commit Graph (#4781)
  • Adds Select for Compare and Compare with Selected commands to the Commit Graph context menu for commits, stashes, branches, and tags (#4779)
  • Enhances multiselect behavior with improved keyboard and mouse support
  • Keyboard navigation
  • Arrow[Up|Down] — Moves focus/selection to previous/next row
  • Ctrl+Arrow[Up|Down] (Cmd+Arrow[Up|Down] on macOS) — Moves focus/selection topologically
  • Alt+Arrow[Up|Down] — Jumps to previous/next branching point (merge/fork)
  • Alt+Page[Up|Down] — Jumps to previous/next commit with refs
  • Home, End — Jumps to first/last (loaded) commit
  • Page[Up|Down] — Jumps by a page (viewport)
  • Mouse selection
  • Click — Selects a single commit (clears previous selection)
  • Ctrl+Click (Cmd+Click on macOS) — Toggles commit in/out of selection
  • When in topological selection mode, will only select the commit if it is topologically connected to the existing selection
  • Shift+Click — Selects a range of commits from the anchor to clicked commit
  • When in topological selection mode, will select all commits that follows parent-child graph path
  • When in non-topological mode, will select all rows in visual range
  • Keyboard selection
  • Shift+[Up|Down] — Extends the selection, based on selection mode
  • Ctrl+Shift+[Up|Down] (Cmd+Shift+[Up|Down] on macOS) — Topologically extends the selection, and sticks to current branch if possible
  • Shift+Home, Shift+End — Extends the selection to first or last commit
  • Shift+Page[Up|Down] — Extends the selection by one page
  • Adds an all-new, highly performant, Interactive Rebase Editor with support for update-ref other rebase operations (#4813, #4405, #4383, #4160, #4148, #4032, #3897, #3866, #3815, #3393, #3337, #3310)
  • Optimizes performance with virtualization for large rebase operations and lazy-loading of commit metadata
  • Adds ability to recompose commits using AI (#4796, #4775)
  • Adds potential conflict detection with visual indicators for commits that will conflict during rebase
  • Adds ability to apply bulk actions (pick, squash, fixup, etc.) to multiple selected commits simultaneously
  • Improves drag-and-drop experience with multiselect support
  • Improves accessibility with keyboard navigation and multiselect support
  • Mouse: Click to select single, Ctrl+Click (Cmd+Click on macOS) to toggle, Shift+Click for range selection
  • Keyboard: Shift+Arrow[Up|Down] for range selection, Ctrl+A (Cmd+A on macOS) to select all entries
  • Adds a gitlens.rebaseEditor.openOnPausedRebase setting to control whether the Interactive Rebase Editor opens automatically when a rebase is paused
  • Adds a new Rebase & Update Branches and Interactive Rebase & Update Branches confirmation option to the Git Command Palette's rebase command — closes #4818
  • Adds Claude Opus 4.5, Gemini 3 Pro, and GPT-5.1 and GPT-5.2 model support for AI features (#4785)
  • Adds multi-repository support to repository filtering in GitLens views (#4815)
  • Adds new Set Upstream... and Change Upstream... context menu items to branch status (Up to date, Outgoing, Incoming) in GitLens views
  • Adds new advanced date formatting tokens (agoAndDate, agoAndDateShort, agoAndDateBothSources) and updates default tooltip and status bar formats (#4783)
  • Adds an experimental gitlens.advanced.resolveSymlinks setting to resolve symbolic links when determining file paths for Git operations (#1328)
  • Adds a gitlens.advanced.skipOnboarding setting to prevent onboarding prompts (#4751)
  • Adds a gitlens.advanced.git.timeout setting to configure the Git command timeout

Changed

  • Improves Commit Composer user experience with maximize command, improved commit message editing, and sticky positioning for commit messages (#4759)
  • Changes rebase, merge, revert, and branch delete commands to no longer use/open a terminal (#3527, #3530, #3532, #3534)
  • Improves ignored file checking performance (#4814)
  • Enhances paused operation status UI with clickable references that jump to commits/branches in the Commit Graph (#4786)
  • Improves reference selection in views with a unified comparison picker dialog (#4778)
  • Simplifies remote provider connection flow by directly using the remote name and repository path (#4411)
  • Improves tracking for hover actions by adding source and detail attributes to events from editor hovers (#4764)

Removed

  • Removes the gitlens.advanced.caching.enabled setting

Fixed

  • Fixes issue where the Commit Details file tree rendering would fail intermittently (#4784)
  • Fixes issue where the Commit Graph would load data twice on initial load
  • Fixes issue where paused operations would not show on the Commit Graph without working changes
  • Fixes issue where onboarding would interrupt error popovers in the Commit Composer
  • Fixes repository grouping for main repositories and worktrees in certain cases
  • Fixes WIP detection for untracked files only
  • Fixes issue where commit/graph details panel titles would not collapse at smaller sizes
  • Fixes navigation button wrapping in the Inspect view
  • Fixes incorrect handling of an empty rebase HEAD
  • Fixes missing cancel option in the rebase quick wizard confirmation
  • Fixes issue where the Interactive Rebase Editor would not close automatically when the associated file is deleted

Version 17.7

Tuesday, November 11, 2025

GitLens 17.7 expands Commit Composer with branch recomposition capabilities, transforms the Commit Graph with powerful new search operators, file history visualization, and faster performance, and enhances commit details with more context and file actions.

Commit Composer: Branch Recomposition

Commit Composer now lets you clean up and reorganize commits on existing branches, making it perfect for preparing pull requests or refining your commit history before pushing.

Recompose Entire Branches

Open Commit Composer from any branch in the Commit Graph (or anywhere branches appear in GitLens) to inspect and reorganize its commits. The composer creates draft commits you can review before applying changes to your repository.

Auto-Recompose with AI: Let AI analyze your branch and restructure commits into logical, well-documented units. Choose your preferred model and provide custom instructions to match your team's conventions. (Pro tip: Set default instructions in the "Generate Commits: Custom Instructions" setting to save time.)

Manual Control: Review AI suggestions, regenerate specific commit messages, or manually edit messages and change organization. The composer gives you complete flexibility to craft the commit story that works best.

Enhanced Composer Capabilities

Commit Composer now handles edge cases that previously blocked composition:

  • Untracked files: Working changes now include untracked files, so all modifications can be composed together
  • New repositories: Compose your initial commits even before a base commit exists
  • Performance boost: Significantly faster rendering when working with changes across many files

Commit Graph Enhancements

File History Visualization

The Commit Graph now visualizes complete file histories, making it easy to understand how specific files evolved over time.

Right-click any file in your IDE and select "File History > Open File History in Commit Graph" to filter the graph to commits that modified that file. Each commit displays the file's changes in the Commit Details panel, giving you a focused view of how the file developed.

You can also manually filter using file:"path/filename" syntax.

Search Enhancements

Reference and Range Searches: The new ref: operator lets you search by references or commit ranges. Natural language search leverages this automatically, so queries like "show me all commits on debt/graph-selection-jump that aren't on main" or "commits after tag v17.6.0" work seamlessly.

Tip Filtering: New is:tip and type:tip operators isolate branch and tag tips, helping you quickly identify meaningful entry points in your history without visual scanning.

Search History: Arrow up/down through previous search queries to quickly revisit recent searches.

Solo Branches and Tags

Focus on a single branch or tag with the new "Solo" action, which automatically hides all other references using the ref: filter operator.

Workflow Improvements

  • Auto-select WIP: The WIP row automatically selects when you have working changes, keeping your focus on current work
  • Enhanced WIP row: The WIP row now shows the number of changed files and lines, providing more context at a glance.
  • Focused row preservation: The graph maintains your selected row even when new data refreshes the view. This solved an annoying issue that resulted in losing context in the graph during updates.

Commit Details

Commit Reachability: Commit Details now display which branches and tags contain a specific commit, giving you instant visibility into how changes have propagated across your repository.

File List Actions: Context menus now provide the full range of file operations you expect from other IDE file lists—opening files, viewing history, applying changes, and more—directly from Commit Details.


Added

  • Adds new Commit Composer features and improvements
  • Adds ability to recompose existing branches via the Recompose Commits (Preview) command in the context menu of branches and from the Command Palette (#4598, #4599)
  • Adds drag and drop support to reorder auto-composed commits in the commit list (#4433)
  • Adds support for untracked files (#4636)
  • Adds support for composing without a base commit (#4637)
  • Greatly improves performance by virtualizing file diffs (#4675)
  • Improves some cases where staging or working tree changes are incorrectly detected (#4667)
  • Adds a link to the custom instructions setting in the Commit Composer view
  • Adds ability to explain unpushed changes via the Explain Unpushed Changes command in the context menu of branches in the Commit Graph and views (#4443)
  • Adds improved experience to the Commit Graph
  • Improves rendering, scrolling, and selection performance and stability
  • Adds "pill-style" stats to the "Work in Progress" (WIP) row in the Commit Graph
  • Adds new keyboard navigation support: Home/End to navigate to the first/last row, Page Up/Page Down to navigate by page
  • Adds ability to show file or folder histories on the Commit Graph (#4725)
  • Adds Open File History in Commit Graph command to files in views
  • Adds Open Folder History in Commit Graph command to folders in the Explorer view
  • Adds new Solo Branch and Solo Tag commands to quickly filter the Commit Graph view to a specific branch or tag (#4739)
  • Adds Solo Branch in Commit Graph and Solo Tag in Commit Graph commands to the context menu of branches and tags in views
    if there are uncommitted changes
  • Changes to select the "Work in progress" (WIP) row in the Commit Graph by default if there are uncommitted changes (#4716)
  • Adds gitlens.graph.initialRowSelection setting to specify whether to select the "Work in progress" (WIP) row instead of HEAD
  • Adds improved search experience on the Commit Graph, Search & Compare view, and in the Search Commits command
  • Adds support for reference or range commit searches (#4723)
  • Adds ref: search operator to filter commits by specific references (branches, tags, SHAs) or commit ranges
  • Adds natural language support to allow for more powerful queries
  • e.g. "show me all commits on feature-branch that aren't on main
  • e.g. "show me all commits after tag v17.6.0"
  • Adds ability to filter/search to branch & tag tips (#4726)
  • Adds is:tip search operator to filter to only commits directly pointed to by a branch or tag
  • Adds a navigable search history to the search box on the Commit Graph (#4724)
  • Allows navigation with arrow keys and deletion of history items
  • Adds a No Results message to the Commit Graph when there are no search results
  • Adds new experience improvements to the Commit Details and Graph Details views
  • Adds "pill-style" file changed stats
  • Adds rich context menus to files, similar to the tree views
  • Adds the ability to see which branches and tags contain a specific commit(#4737)
  • Adds the ability to see which files are matched by a search on the Commit Graph
  • Adds a filter toggle button to switch between showing all files, highlighting matched files, and only showing matched files
  • Adds a new Safe Hard Reset (--keep) option to Git reset command (#4720)
  • Adds sort context menu toggles for Branches, Contributors, Remotes, Repositories, Tags, and Worktrees views (#4738)
  • Adds a new gitlens.sortWorktreesBy setting to specify the sort order for worktrees
  • Adds support for Claude 4.5 Haiku model and hides older Claude models for GitLens' AI features
  • Adds "Copy Changes (Patch)" to uncommitted files in the Worktrees, Commit Details, and Graph Details views
  • Adds "inline" multiline commit message support to the Commit Graph
  • Adds Next Change and Previous Change navigation commands to the editor toolbar when the Changes Annotations are active
  • Adds keybinding support for copy actions (Ctrl+C / Cmd+C) in the Launchpad view
  • Adds Quick Show Commit (gitlens.showQuickCommitDetails) command to the Command Palette

Changed

  • Improves performance and reduces overhead in many areas
  • Faster/less intensive detection of uncommitted changes
  • Faster/less intensive conflict file detection
  • Greatly improves performance providing the status of worktrees
  • Reduces view refresh frequency related to fetch times to avoid extra processing and re-rendering
  • Changes to use the "merge target" when we are creating pull requests (#4709, #4734)
  • Changes the minimum VS Code version to 1.95.0 (#4690, #4691)
  • Improves MCP checks and adds offline detection (#4687)
  • Improves reference/revision range entry in reference pickers
  • Consolidates (and fixes missing) progress indicators and spinners on the Commit Graph

Fixed

  • Fixes an issue where the Home view would not update when switching repositories (#4717)
  • Fixes intermittent stuck loading state on the Commit Graph (#4669)
  • Fixes underlines showing on home branch actions (#4703)
  • Fixes Inspect view not showing uncommitted files on the Inspect tab (#4714)
  • Fixes Commit Graph losing row selection when graph updates (#4544)
  • Fixes "Element with id already registered" error on comparison w/ multiple repos (#4521)
  • Fixes Commit Composer diffs misaligned with large editor font sizes (#4573)
  • Fixes MCP installation flow from proceeding in cases where it shouldn't (#4672, #4673, #4674)
  • Fixes missing layout commands in view menus
  • Fixes stage/unstage failures with large file set by adding batching
  • Fixes copying untracked files as a patch
  • Fixes an issue where the "hidden references" control on the Commit Graph could still receive focus
  • Fixes issues with inline versus block Markdown rendering
  • Fixes inconsistencies in the Work-in-Progress (WIP) statistics
  • Fixes an issue where the "visible day range" on the Commit Graph minimap were not updating
  • Fixes showing overview mode when selecting a Work-in-Progress (WIP) row
  • Fixes path issues in untracked files and tree file parsing
  • Fixes action color on the merge/rebase status component
  • Fixes the copy shortcut key on grouped views
  • Fixes issue to ensure the immediate firing of repository close events to avoid potential deadlock issues

Version 17.6

Tuesday, October 7, 2025

GitLens 17.6 adds support for Claude Sonnet 4.5, delivers significant performance improvements when working with large changesets, and enhances Linear integration support.

Claude Sonnet 4.5 AI Model Support

GitLens now supports Anthropic's Claude Sonnet 4.5 model for all AI-powered features, including:

  • Commit and message generation in the Commit Composer
  • Code explanations and summaries
  • Pull request descriptions
  • Changelog generation

This latest model brings improved reasoning capabilities and more accurate, context-aware suggestions to your development workflow.

Large Changeset Performance Improvements

Working with large changesets and complex commit histories is now significantly faster and more responsive across multiple GitLens views.

Inspect and Graph Details Views

The Inspect and Graph Details views now feature dramatically improved performance through virtualized tree rendering. This enhancement makes working with repositories with large commits significantly faster and more responsive.

Along with the performance boost, keyboard navigation has been enhanced with comprehensive support for:

  • Arrow keys for navigating through items
  • Home/End keys for jumping to the first or last item
  • Enter/Space for selecting and activating items
  • Tab for moving between sections
  • Type-ahead search for quickly finding specific items

These improvements make it easier to navigate and explore your repository's history, especially when working with a large number of files or reviewing detailed commit information.

Commit Composer `PREVIEW`

The Commit Composer now handles large file diffs more efficiently, preventing performance degradation when working with substantial changes. This ensures a smooth composition experience regardless of the size of your working changes.

Linear Integration Enhancements `PRO`

Introduced in GitLens 17.5, Linear issue trackering continues to evolve with autolinks for branches in Home and the Commit Graph. Along with some reliability and functionality improvements, these enhancements provide a more seamless experience when working with Linear issues in your GitLens workflows.

Thank you to our contributors

Shout-out to our awesome contributors for this release!


Added

  • Adds support for Claude Sonnet 4.5 for GitLens' AI features

Changed

  • Greatly improves performance of the Inspect and _Graph Details views by virtualizing the tree rendering (#3470)
  • Improved keyboard navigation support including arrow keys, Home/End, Enter/Space, Tab, and added type-ahead search functionality
  • Improves Linear issue tracker support (#4605, #4615, #4620, #4621, #4622)

Fixed

  • Fixes Commit Composer rendering performance when working changes contain large file diffs (#4661)
  • Fixes AI cancellation cases being treated as errors (#4609)
  • Fixes MCP banner not being clickable on Commit graph view (#4630)
  • Fixes Git diff of a renamed file is shown as a new file (#4246)
  • Fixes typos (#4345 — thanks to PR #4346 by Noritaka Kobayashi (@noritaka1166))
  • Fixes an issue where the Commit Graph hover would not hide when going from the hover to the graph background (not another row)
  • Fixes an issue where clicking Open Changes on commit files in the views would error

Removed

  • Removes " (bundled with GitLens)" text from GK MCP server name (#4664)

Version 17.5

Tuesday, September 23, 2025

GitLens 17.5 introduces the GitKraken MCP for Git and integration enhanced AI chat workflows, expands integration support with Linear, and launches a new Student Plan for GitHub Student Developer Pack members.

GitKraken MCP: Git Intelligence for AI Chat

GitLens 17.5 bundles the GitKraken Model Context Protocol (MCP) server, bringing Git and repository intelligence directly to AI chat interfaces in VS Code, Cursor, Windsurf, and other compatible IDEs.

The GitKraken MCP transforms how you interact with Git through AI by surfacing repository information, issue tracking data, and pull request details—the same rich context that GitLens has provided in UI form for years—now accessible through conversational AI.

Enhanced Developer Workflows

The MCP enables powerful use cases through AI chat:

Issue and Branch Management

  • List issues: "List all open Jira issues assigned to me"
  • GitKraken MCP fetches and displays issue details from your connected trackers
  • Start work on an issue: "Start work on Jira issue PROJ-123"
  • GitKraken MCP pulls issue details, stashes changes if needed, and creates a feature branch

Pull Request Assistance

  • Create a pull request: "Create a pull request for my current branch"
  • GitKraken MCP gathers branch diffs, generates a PR title and description, and opens the PR in your connected Git provider

Debug and Understand History

  • Get detailed blame info: "Who last modified the function calculateTotal in utils.js and why?"
  • GitKraken MCP retrieves precise blame data, including commit details and linked issues & PRs

See more examples and use cases at help.gitkraken.com/mcp.

IDE Support and Setup

The MCP works seamlessly in VS Code with built-in configuration, while other IDEs like Cursor, Windsurf, and Trae require manual setup. The MCP leverages GitKraken CLI's unified authentication system, so you authenticate once and gain access to all your connected Git providers (GitHub, GitLab, Azure DevOps, Bitbucket) and issue trackers (Jira, GitHub Issues, Linear).

Configuration setup and documentation can be found at help.gitkraken.com/mcp.

We're just scratching the surface of what's possible with the GitKraken MCP. Future releases will expand capabilities, integrations, and IDE support.

Linear Integration `PRO`

Teams using Linear for issue tracking can now connect to Linear and bring issue information directly into GitLens workflows.

  • Start work seamlessly: Create branches or worktrees directly from Linear issues
  • Rich contextual information: View Linear issue details in the Commit Graph, Home View, blame annotations, and Commit Details

This integration follows the same pattern as GitLens' other issue tracker connections, providing a unified experience whether you're using GitHub Issues, Jira, or Linear.

Student Plan

GitKraken now offers a Student Plan for members of the GitHub Student Developer Pack! This plan provides students with:

  • Private repository access: Use paid GitLens features like the Commit Graph and Visual File History on private repos
  • AI token allocation: Access to powerful AI features including commit composition, branch explanations, PR generation, and changelog creation
  • Includes the entire GitKraken Platform: Including GitKraken Client, GitKraken CLI, GitKraken.dev and Browser Extension

Students can learn more and sign up at gitkraken.com/github-student-developer-pack-bundle.


Added

  • Adds the GitKraken MCP for Git and integration enhanced AI chat workflows — learn more
  • Leverage Git and your integrations (issues, PRs, etc) to provide context and perform actions in AI chat
  • Adds rich Linear integration with autolinks, start work, Launchpad, and more (#4543, #4579)
  • Adds support for the GitKraken Student plan

Changed

  • Improves AI provider/model fallback handling for better reliability

Fixed

  • Fixes connection flow when multiple integrations need to be connected

Version 17.4

Thursday, August 21, 2025

GitLens 17.4 transforms the Commit Composer experience with a powerful new composing view, introduces Azure DevOps Server integration for Pro users, enhances AI explanations, adds support for new AI models like GPT-5, and delivers significant improvements to worktree workflows.

New Commit Composer View `PREVIEW`

The Commit Composer has evolved from a simple one-step process into a comprehensive drafting and review experience. Previously, AI would analyze your changes and immediately create commits. Now, the new Commit Composer view gives you complete control over the composition process, with options to auto-compose with AI or compose manually.

Join the Commit Composer discussion and provide feedback.

Interactive Draft Commits

When composing commits, GitLens now creates "draft" commits that you can review, modify, and refine before applying them to your repository. This new workflow lets you:

  • Preview before committing: See exactly what will be committed before it touches your repository
  • Switch Models: Try composition with different AI models
  • Guide the AI: Provide custom instructions to match your team's conventions and preferences
  • Iterate and refine: Regenerate individual messages or entire commit compositions
  • Review and edit: Manually tweak any commit message or approach

You can launch the new Commit Composer view from several places in GitLens:

  • GitLens commit details view
  • Context menu on the WIP row in the GitLens Commit Graph
  • Active branch card in the GitLens Home View
  • ✨ icon in the SCM view header
  • Command palette: Search for "Compose Commits"

The foundation is now in place for even more powerful composition features in future releases, including intuitive drag-and-drop functionality for moving lines and hunks between commits, creating new draft commits on the fly, and reordering commit sequences.

Whether you prefer to let AI handle the heavy lifting or want granular control over every detail, Commit Composer provides the flexibility to create well-structured commit histories that make code reviews more effective and repository history easier to understand.

Azure DevOps Server Integration `PRO`

GitLens Pro now supports self-hosted Azure DevOps Server instances, bringing the same rich integration experience you know from cloud-hosted services to your on-premises environments.

Connect your Azure DevOps Server to unlock:

  • Streamlined issue workflows - Start work on Azure issues by creating branches or worktrees directly from GitLens
  • Rich blame and hover information - View Azure issue and pull request details inline with your code
  • Launchpad integration - Monitor pull request blockers and review status from a unified view
  • Native pull request creation - Create Azure pull requests without leaving your IDE

New AI Model Support

This release adds support for GPT-5 family (GPT-5, GPT-5 Mini, GPT-5 Nano), and Claude 4.1 Opus models

AI Explanation Improvements

AI-powered explanations now provide immediate feedback with enhanced user experience improvements:

  • Instant summary views open immediately when generating explanations
  • Clear progress indicators show pending AI analysis status
  • Streamlined presentation focuses your attention on the generated content

Branch Upstream Management

You can now easily modify the upstream for local branches in GitLens from places like the Branches view and Commit Graph.

Enhanced Worktree Support

The 17.3.4 patch release brought significant multi-repo and worktree improvements to VS Code. These enhancements include:

  • Repository filtering - New header controls let you focus on specific repositories or worktrees
  • Visual differentiation - Improved icons help distinguish between repositories and worktrees
  • Reduced interface noise - Minimized flashing and blanking during worktree discovery
  • Unified repository picker - Visual grouping makes selecting repositories and worktrees more intuitive

These enhancements work seamlessly with VS Code's native worktree support, providing a polished experience whether you're working with single repositories or complex multi-worktree setups.


Added

  • Adds new Commit Composer view experience — the next evolution of the initial Commit Composer preview
  • Transforms the automatic commit process into a comprehensive drafting and review experience
  • Adds ability to preview changes before committing and iterate by regenerating individual messages or entire commit compositions
  • Adds support for switching between different AI models during composition
  • Adds custom instruction support to guide AI output to match team conventions and preferences
  • Adds integrated diff review for each proposed commit, and manual editing capabilities for any commit message or approach
  • Adds manual commit composition support (no AI provider required for basic functionality)
  • Adds Compose Commits (Preview) commands accessible from multiple locations: Home view, Commit Graph WIP row, Inspect/Graph Details views, SCM view, and Command Palette
  • Adds updated AI model support for GitLens' AI features
  • Adds GPT-5 family (GPT-5, GPT-5 Mini, GPT-5 Nano), and Claude 4.1 Opus models
  • Add Azure DevOps Server integration support (#4478)
  • Adds expanded and improved branch favoriting (#4497)
  • Adds a new "Favorited Branches" option to the branches visibility dropdown on the Commit Graph
  • Adds Add to Favorites or Remove from Favorites context menu items to branches in the Commit Graph
  • Adds Add to Favorites or Remove from Favorites context menu items to worktrees in the views
  • Adds 👍 "Helpful" and 👎 "Unhelpful" feedback buttons to AI-generated Changelog (#4449)
  • Adds ability to set or change the upstream branch for branches in the Commit Graph and other GitLens views (#4498)
  • Adds new Set Upstream... and Change Upstream... context menu items to branches in the Commit Graph and other GitLens views
  • Adds a new upstream sub-command to the branch Git Command Palette
  • Adds new default topological selection mode to the Commit Graph
  • Updates gitlens.graph.multiselect setting to default to topological; set to true to allow selecting multiple commits without restriction
  • Adds ability to switch between open repositories on the Visual History
  • Adds Visualize Repository History commands to the SCM menus
  • Adds Restore Previous Changes command to files in the views (#4542)

Changed

  • Changes branch favoriting to apply to both local and remote branch pairs (#4497)
  • Improves experience by opening an explain summary document before summary content is generated (#4328)
  • Improves login handling when user copies authentication URL instead of opening it
  • Improves Inspect/Details view button overload (#4488)

Fixed

  • Fixes Copy Changes (Patch) command not working from the Commit Graph
  • Fixes issues with handling token limits when using Copilot models (#4529)
  • Fixes continuous refreshing when gitkraken.dev cannot renew an expired session (#4324)
  • Fixes some Commit Graph issues because of reference to previous state context (#4513)
  • Fixes 'generate-rebase' feedback submissions having undefined "type" (#4502)

Version 17.3

Tuesday, July 8, 2025

GitLens 17.3 transforms how you search and interact with your repository history. This release introduces natural language search for both the Commit Graph and Commit Search commands, enhanced time-based filtering, improved AI-powered commit generation and the ability to provide feedback on AI results.

Natural Language Search for Commits `PRO`

Say goodbye to complex query syntax! GitLens 17.3 introduces natural language search for the Commit Graph and command palette, allowing you to find exactly what you're looking for using natural language.

Instead of memorizing query tags like @me, message:, author:, or file:, simply describe what you're looking for:

"Show all commits made by Eric this week"

"Find commits that modified package.json last week"

"Show all commits that changed files with "auth" in the name in the last 12 days"

GitLens leverages AI to automatically translate your natural language queries into the appropriate search syntax, making repository exploration more intuitive than ever. You can still reveal the generated query to learn the underlying syntax and refine your searches.

Time-Based Search Filters

GitLens 17.3 adds powerful new after: and before: filters that make temporal filtering more intuitive and flexible.
These new filters work seamlessly with both traditional query syntax and the new natural language search:

  • after:2025-01-01 - commits made after January 1st, 2025
  • before:2024-12-25 - commits made before December 25th, 2024
  • after:6.months.ago - commits made after 6 months ago
  • before:2.weeks.ago - commits made before 2 weeks ago

The filters accept specific date strings (YYYY-MM-DD format) or relative date expressions, and integrate automatically when using natural language queries, making it easier than ever to focus on specific timeframes in your repository history.

Enhanced Commit Composer Access `PREVIEW`

Building on the Commit Composer preview introduced in 17.2, we've made AI-powered commit generation more accessible by adding it directly to the Commit Details panel with an option to Commit with AI (Preview).

You can now generate multiple commits at once from your working directory changes with a single click, streamlining the process of creating meaningful, well-structured commits with AI assistance.

📝 While in Preview, Commit Composer will create a stash of your changes as a backup when generating commits should you need to revert them. You can also undo the generated commits with a single click from the success notification.

AI Feature Feedback

GitLens can now collect feedback about AI-powered features. When using AI capabilities like explaining commits, branches, and stashes, or generating commits with Commit Composer, you'll notice new 👍 and 👎 icons in the toolbar of generated summaries that will tell us if the result was helpful or not.

This feedback helps us understand how well our AI results meet your needs and allows us to refine our prompts and models to deliver better, more relevant outputs. Your input is invaluable as we continue to enhance the accuracy and usefulness of GitLens AI features.


Added

  • Adds support for using natural language to search for commits on the Commit Graph, Search & Compare view, and in the Search Commits command using AI (#4471)
  • Adds support for time-based commit searches on the Commit Graph, Search & Compare view, and in the Search Commits command
  • Adds 👍 "Helpful" and 👎 "Unhelpful" feedback buttons to AI-generated markdown previews such as Commit Composer and Explain Changes (#4449)
  • Adds a Commit with AI (Preview) button to the Inspect Overview tab of the Commit Graph and Inspect views

Changed

  • Improves experience for invalid AI rebase responses by implementing conversational retry logic that provides specific feedback to the AI about missing, extra, or duplicate hunks and automatically retries up to 3 times (#4395)

Fixed

  • Fixes stashes with parent commits older than the oldest stash not being visible on branches (#4401)
  • Fixes editing search result in Search & Compare view failure (#4431)
  • Fixes search results not paging properly on the Commit Graph when the first page of results is contained within the already loaded commits

Version 17.2

Tuesday, June 17, 2025

GitLens 17.2 transforms how you craft your Git history with the early preview of Commit Composer, a set of AI-powered features that automatically organize your changes into meaningful, well-structured commits. This release also refines the Home View UX to streamline workflows, introduces advanced AI security controls for organizations, and delivers a cleaner AI explanation experience—all designed to help you tell better stories with your code.

Commit Composer Early `Preview`

In this release, we're excited to share an early preview of Commit Composer, a set of AI-powered features that help you organize your Git commits into clear, logical stories.

Commit Composer will analyze your code changes and use AI to:

  • Organize related changes across files into logical, cohesive commits
  • Generate meaningful commit messages that clearly describe what each commit accomplishes
  • Create commit descriptions that provide helpful context for reviewers

There are two main operations available in this early preview:

  1. Generate commits from working directory changes
  2. Generate new commits from existing changes on a branch

Read more about how to use these preview features and join the Commit Composer Discussion.

Work Item UX Improvements in Home View

We're refining the GitLens Home view based on user feedback. In this release, we're focused on improving clarity around the three key components of the current work item: the active branch, the linked issue, and the related pull request.

Streamlined Issue Association

When no issue is associated with your current branch, we've removed the large "Associate an Issue" button to reduce visual clutter. You can still associate issues using the subtle issue icon in the header.
When an issue is identified, it now appears above the current branch to reinforce the natural workflow progression from issue → branch → pull request.

Enhanced Repository Navigation

The main header is now a breadcrumb that helps you understand your current repo context. The repository name is collapsed by default with the branch prominently displayed, so you always know which branch you're working on. Hover over the breadcrumb to reveal the full repository name when needed.

Simplified Pull Request Creation

We've consolidated the "Create Pull Request" and "Create with AI" buttons into a streamlined split button. Click the main button for standard PR creation, or click the smaller ✨ button to generate AI-powered titles and descriptions.

Advanced AI Security Controls for Organizations `ADVANCED`

Organizations on the Advanced plan now have granular control over AI provider access for their teams. Admins can:

  • Disable specific AI providers to block access to certain models
  • Set custom API keys for specific providers that all organization members will use
  • Configure custom URLs and keys for additional AI providers

These controls ensure compliance with organizational security policies while maintaining access to AI-powered features.

Refined AI Explanations

AI explanations now open in a single rendered markdown file instead of showing both the rendered content and markdown source. This reduces editor tab clutter and provides a cleaner reading experience that can be easily closed without save prompts.


Added

  • Adds new AI commands (in preview) which can generate (and rebase) commits from working tree changes or from commits in an existing branch (#4301):
  • Adds the Generate Commits with AI (Preview) command to the command palette, and to the context menu or working tree changes in views and the Commit Graph. This command stashes working tree changes, generates a set of commits from those changes, and commits them to the current branch.
  • Adds the Rebase with AI (Preview) command to the command palette and AI Rebase Current Branch onto Commit (Preview) command to the context menu of commits in views and the Commit Graph. This command takes the commits on a branch, reorganizes them into a new set of AI-generated commits, creates a branch at the chosen commit and commits them to the new branch
  • These commands also generate a document to explain each generated commit and its contents
  • Adds messaging and confirmation on first-time use of the commands to explain how they work (#4367)
  • Adds an Undo button to the success notification of the commands which attempts to revert the generated commits/branch (#4366)
  • Adds contributors to File History view (#4356)
  • Adds support for AI controls from the active organization's security settings on the current account (#4300)
  • Adds o3 Pro model and latest Gemini 2.5 Pro preview support to GitLens AI features (#4388)
  • Adds Anthropic Claude 4 Opus and Claude 4 Sonnet support to GitLens AI features
  • Adds support for Mistral models to GitLens AI features
  • Adds a loading message to several GitLens views when the content of the view is still loading
  • Adds inline buttons to the stash and commit picker and ensures proper messaging when there are no stashes or commits available
  • Adds the Open Worktree in New Window command to branch cards in Home view

Changed

  • Automatically stashes (and pops) uncommitted changes on Pull (#4296)
  • Improves the interaction experience with Home view (#4302):
  • Simplifies the "work item" section (#4332)
  • Removes the option to associate an issue from cards in the "recent" section (#4333)
  • Combines the "Create Pull Request" and "Create with AI" buttons into a split button (#4330)
  • On the Home view in the active branch card replaces repository with a breadcrumb that has both the repository and current branch, where the repository is collapsible and is hidden by default (#4332)
  • Hides Walkthrough links and buttons in Cursor because they are not applicable (#3837)
  • Changes Delete Branch commands to no longer use/open a terminal (#3528)
  • Improves the appearance of view headings when collapsed into the grouped view (#4355)
  • Uses virtual documents instead of untitled documents for summaries generated by GitLens AI commands, and adds a "regenerate" option to most summaries (#4326)
  • Updates search results in some views to update dynamically with a count
  • Improves the loading performance of the Worktrees view
  • Remembers selected nodes in certain views when they lose and regain focus
  • Automatically expands the remote in Remotes view when it is the only remote

Fixed

  • Fixes some cases where "element with id is already registered" errors occur across several GitLens views (#3341, #3442, #3862)
  • Fixes the Visual File History view from refreshing needlessly when the active editor changes between revisions (#4325)
  • Fixes cancellation of prompts on certain AI commands causing an error notification (#4354)
  • Fixes files missing in the Repositories view when the "Use compact file layout" option is disabled (#4307)
  • Fixes "path is already registered" error after git pull (#922)
  • Fixes GitLens file watchers causing high CPU usage in some cases (#4335)
  • Fixes some cases where stashes and commits incorrectly appear on branches in the Repositories view (#4353)

Version 17.1

Thursday, May 15, 2025

GitLens 17.1 brings significant enhancements to AI-powered explanations, more AI provider options, introduces major Visual History improvements, and includes performance optimizations to Git operations and the Commit Graph.

Enhanced AI Explanations

We've greatly expanded AI explanation capabilities beyond just commit explanations, making it easier understand more aspects of your repository, from more places in GitLens.

✨Explain functionality now includes generating summaries of changes for branches, working changes, and stashes in Preview. All summaries will open in rendered markdown instead of the Commit Details panel for better visibility and persistence.

You'll find ✨Explain options for commits, branches, stashes, and working changes in several places:

  • In the Commit Graph
  • Available as commands in the command palette
  • In many GitLens views: Commits, Branches, Stashes, Search & Compare, etc.
  • In branch cards in the Home view

With these new AI explanation capabilities, you can quickly understand:

  • What changed across all commits in a branch - ✨Explain Branch (Preview)
  • What you've modified in your working directory - ✨Explain Working Changes (Preview)
  • What you've previously stashed - ✨Explain Stash (Preview)

AI Provider Support

We've also expanded AI provider support to give you more options when using GitLens AI features, including:

  • New OpenAI and Google models
  • Self-hosted Azure AI models
  • OpenAI-compatible API providers
  • Local Ollama models
  • OpenRouter support

Home Workflow Improvements

The Home view now provides more accurate context about your work and offers more flexibility in how you manage branches and their relationships.

  • Improved issue association for more accurate tracking of issues related to branches
  • Manual merge target selection allows you to change the merge target for your active branch when the assumed target isn't correct

Graph Enhancements

We've made several improvements to the Commit Graph for better performance and usability.

  • Performance optimization with behind-the-scenes changes for faster graph rendering
  • Enhanced Commit Details with:
  • Autolinks moved directly into the commit message component for easier access
  • ✨Explain Commit positioned closer to the commit message
  • Streamlined panel layout providing more space for the file tree

GitLens Visual History: A Reimagined History Experience

We're excited to introduce the all-new Visual History feature in GitLens, a powerful evolution of Visual File History. This reimagined view provides a dynamic and insightful visualization of your repository's history, offering unparalleled flexibility to explore changes across files, folders, branches, and your entire project.

Visual History empowers you to understand the evolution of your codebase in a whole new way, helping you answer critical questions about who changed what, when, and in which context.

  • New navigation breadcrumb allowing you to start at file level and move up to folder and repo levels
  • Interactive diff scrubber for more precise navigation of diff history
  • Performance improvements when loading visualizations and zooming
  • Repository visualization accessible directly from the Home view

Smarter, Faster Git

This release brings major improvements to how GitLens interacts with Git under the hood — delivering faster performance, better accuracy, and more responsiveness, especially in large repositories.

  • Rewritten Git execution and parsing engine for dramatically faster and more reliable Git operations.
  • Smarter contributor stats with improved fetching performance and richer data.
  • Faster and more accurate commit searches across the Commit Graph and Search & Compare views.
  • Streamlined file and line history with more precise results and snappier performance.
  • Improved Git cancellation handling for smoother UX and lower system impact.
  • New performance settings, like delaying file detail loading on commits, give you more control in large repos.

These enhancements ensure GitLens continues to scale with your codebase — helping you move faster with more confidence.


Added

  • Adds AI-powered "Explain" commands for work-in-progress (WIP) changes, commits, stashes, and branches
  • Adds Explain Branch Changes (Preview), Explain Changes (Preview), and Explain Working Changes (Preview) actions to branches, commits and stashes, and WIP, respectively in the Commit Graph
  • Adds Explain Branch Changes (Preview) and Explain Changes (Preview) actions to branches, commits and stashes in the other GitLens views
  • Adds an ✨ Explain button to the editor and status bar blame hovers
  • Adds an ✨ Explain button above the commit message in the Inspect view which replaces the Explain panel
  • Adds Explain Branch Changes (Preview) and Explain Working Changes (Preview) (when applicable) actions to the ... menu on the Home view
  • Adds Explain Branch Changes (Preview), Explain Commit Changes (Preview), Explain Stash Changes (Preview), and Explain Working Changes (Preview) actions to the Command Palette
  • Adds updated AI provider and model support for GitLens' AI features
  • Adds Ollama and OpenRouter support (#3311, #3906)
  • Adds Google Gemini 2.5 Flash (Preview) model, and OpenAI GPT-4.1, GPT-4.1 mini, GPT-4.1 nano, o4 mini, and o3 models (#4235)
  • Adds support for Azure AI (OpenAI-compatible) models
  • Adds support for custom OpenAI-compatible providers (#4263)
  • Adds gitlens.ai.enabled setting to disable all AI-powered features
  • Adds a walkthrough for AI features
  • Adds an all-new Visual History, a powerful evolution of the Visual File History, providing a dynamic and insightful visualization of your repository's history, offering flexibility to explore changes across files, folders, branches, and your entire project
  • Visualize the history sliced by author (the default) or by branch (when applicable), providing different perspectives on contributions and development lines
  • Slicing by author allows you to see the contributions of each author over time
  • Slicing by branch allows you to see unmerged commits on parallel development lines — only available when viewing the history of all branches of a file or folder
  • Use the zoom/pan functionality to focus on specific timeframes or areas of interest via mouse wheel or zoom buttons
  • Adds a breadcrumb navigation bar, with branch switcher and file/folder picker, allowing you to easily navigate the history of files, folders, branches, or the entire repository
  • Hold Alt or Shift when clicking on the breadcrumbs to open the repository or folder in a new tab
  • Adds the configuration popover to customize the visualization, including the branch or all branches, timeframe, and how to slice the history
  • Adds a scrubber bar to provide an almost time-lapse view for navigating through the changes introduced with each commit in history
  • Adds Visualize Repo History and Visualize Branch History actions to the Home view
  • Adds Show Visual History command to the Command Palette
  • Adds the ability to change a branch's merge target in Home view. (#4224)
  • Adds enhanced integration with Azure DevOps, Bitbucket, and Bitbucket Data Center to support associated accounts and pull requests on commits (#4192)
  • Adds the ability to search for GitHub Enterprise and GitLab Self-Managed pull requests by URL in Launchpad
  • Adds enhanced and improved accuracy and performance of the revision navigation (#4200)
  • Adds support for navigating line ranges in addition to individual lines
  • Adds "changes" statistics for stashes in the Commit Graph
  • Adds Open File at Revision from Remote command to open the specific file revision from a remote file URL
  • Adds Copy SHA action to editor hovers
  • Adds avatars to the hidden Branch / Tags popover in the Commit Graph

Changed

  • Changes the display of autolinks in the Inspect and Commit Graph Inspect views (#4286).
  • Replaces the autolinks panel with a new compact "footer" bar below the commit message
  • Optimizes (rewrote) Git execution and parsing for significantly improved performance, especially with large repositories, and reliability
  • Improves contributor fetching performance, especially for large repositories, and adds more advanced data for contributor statistics
  • Improves performance of loading data for the Commit Graph
  • Improves cancellation support in many Git operations for better responsiveness and system resource usage
  • Adds gitlens.advanced.commits.delayLoadingFileDetails setting to delay loading full commit file details until required to improve performance even more for large repositories
  • Improves Commit Graph rendering performance, re-rendering avoidance, and selection responsiveness
  • Switches the Commit Graph webview to use Lit and upgraded to React 19 for the graph component
  • Improves commit search performance and reliability, epecially when paging in new results
  • Improves branch name autolink matching logic for better accuracy and fewer false positives (#3894)
  • Improves commit search accuracy and performance both in the Search & Compare view and the Commit Graph
  • Improves commit searches in the Search & Compare view to show only the matching files for file or change-based searches
  • Improves commit searches in the Search & Compare view to show matching stashes
  • Improves accuracy and performance of the File History and Line History views
  • Improves performance of the Contributors view, especially with large repositories
  • Adds a configurable gitlens.views.contributors.maxWait timeout setting for fetching contributors to avoid potentially long waits
  • Improves GitHub integration authentication check performance, when the authentication extension is disabled or unavailable (Cursor, Windsurf, etc) (#4065)
  • Improves AI model adherence to provided custom instructions (#4267)
  • Changes cherry-pick command no longer use/open a terminal (#3531)
  • Improves date setting descriptions (#3953)

Fixed

  • Fixes an error that can occur when retrieving the active repository, such as when the current file is not part of a repository.
  • Fixes cache collision between issues and PRs in autolinks (#4193)
  • Fixes incorrect PR Link Across Azure DevOps Projects (#4207)
  • Fixes detail view incorrectly parses GitHub account in commit message (#3246)
  • Fixes timed out waiting for authentication provider to register in GitLens after update to version 16.3 (#4065)
  • Fixes cloud integration sessions not refreshing when they expire mid-session (#4240)
  • Fixes "Delete Worktree" doing nothing when the default worktree is already open in another window (#4232)
  • Fixes some cases in which Azure DevOps queries fail or return unexpected results (#4271)
  • Fixes element with id is already registered for commit searches in the Search & Compare view
  • Fixes hierarchical compaction in file trees (e.g., a parent folder disappearing if a subfolder with a similar name exists)
  • Fixes cherry-pick commit ordering by falling back to author date if committer date matches
  • Fixes issues when using older versions of Git (>= Git 2.7.2)
  • Fixes cases where rename detection was not working properly

Removed

  • Deprecates the gk-target-base Git configuration key

Engineering

  • Bumps eslint-plugin-import-x to v4.10.5 — thanks to PR #4236 by JounQin (@JounQin)

Version 17.0

Monday, March 31, 2025

GitLens 17 brings powerful new integrations, enhanced AI capabilities, and workflow improvements to help you collaborate more efficiently. This release introduces official Bitbucket integration, adds GitKraken AI as a provider for AI-powered features, delivers new AI capabilities like changelog generation and PR creation, and extends multi-select actions in the Commit Graph.

GitKraken AI Preview

We're excited to introduce GitKraken AI, a preview of our official AI provider for GitLens' AI-powered features. Now users with a paid subscription can leverage powerful AI capabilities without needing to configure external API keys.

  • Two model options available in this release:
  • Google Gemini 2.0 Flash
  • Google Gemini 2.0 Flash-lite

The active AI provider and model that GitLens uses can be found in the Integrations menu in Home View for better visibility and management.

New AI Features

AI Pull Request Creation

Creating meaningful pull requests is now easier than ever with AI-assisted PR creation.

  • Automatically generate descriptive titles and detailed descriptions based on your committed changes
  • Save time while providing reviewers with better context about your changes
  • Open a new PR with the generated content directly from GitLens

AI Changelog Generation

Need to generate a structured changelog for a group of commits? GitLens 17 makes it simple with AI-powered changelog generation.

  • Select multiple commits and generate a well-structured changelog in markdown format
  • Perfect for release notes, documentation, or communicating changes to your team

Bitbucket Integration

GitLens now offers rich integration with Bitbucket repositories! Connect your Bitbucket account to gain access to issues and pull requests directly within GitLens.

  • Support for both Bitbucket Cloud and Bitbucket Data Center
  • Access Bitbucket issues and pull requests in Home View and Launchpad
  • See pull request information within the Commit Graph
  • Seamlessly incorporate Bitbucket into your GitLens workflows

Commit Graph Enhancements

The Commit Graph now supports taking actions on multiple selected commits, starting with cherry-picking. This makes it easier to work with groups of related commits across branches.

  • Select multiple commits in the Graph view and cherry-pick them to your current branch
  • More multi-select actions coming soon, including AI changelog generation

Plan Updates

We've refreshed GitKraken plans to better reflect how devs and teams work:

  • Pro plan remains "Pro" and is limited to 1-2 seats
  • A new "Advanced" plan is available with more AI features and controls for small teams of up to 10
  • Teams plan is now "Business"

Read more about the new GitKraken plans.

Referral Program

Pro subscribers can now refer colleagues and friends to GitLens through the new referral program and earn $.

  • Access the referral program here, or through the account menu in GitLens Home

Added

  • Adds support for GitKraken AI (Preview), powered by Google Gemini, included with all GitLens Pro subscriptions
  • Adds expanded support for GitHub Copilot-provided AI models
  • Adds an AI-powered "Create with AI" button to assist with creating pull requests for GitHub and GitLab
  • Adds AI-powered changelog generation between two references (#4189)
  • Adds a Generate Changelog (Preview)... command to the Command Palette
  • Adds a Generate Changelog (Preview)... context menu item to branches and tags in the Commit Graph and in GitLens views
  • Adds a Generate Changelog (Preview) context menu item to Behind/Ahead comparison results in Gitlens views
  • Adds AI model status and model switcher to the Home view (#4064)
  • Adds Anthropic Claude 3.7 Sonnet model for GitLens' AI features (#4101)
  • Adds Google Gemini 2.5 Pro (Experimental) and Gemini 2.0 Flash-Lite model for GitLens' AI features (#4104)
  • Adds new Bitbucket Cloud and Data Center integration (#3916)
  • Adds enriched links to PRs and issues (#4045)
  • Adds Bitbucket Cloud and Data Center PRs in Launchpad (#4046)
  • Adds support for Bitbucket issues in Start Work and allows associating issues with branches (#4047, #4107)
  • Adds support for multi-select in GitLens views, enabled by default
  • Adds Cherry Pick Commits..., Copy Remote Commit URLs , and Open Commits on Remote actions to multi-selected commits in the Commit Graph and GitLens views
  • Adds Add as Co-authors action to multi-selected contributors in GitLens views
  • Adds Delete Branches..., Open Branches on Remote, Add to Favorites, and Remove from Favorites actions to multi-selected branches in GitLens views
  • Adds Delete Tags... action to multi-selected tags in GitLens views
  • Adds Drop Stashes... action to multi-selected stashes in GitLens views
  • Adds Delete Worktrees... and Open Worktrees in New Window actions to multi-selected worktrees in GitLens views
  • Adds ability to control how worktrees are displayed in the views
  • Adds a gitlens.views.worktrees.worktrees.viewAs setting to specify whether to show worktrees by name, path, or relative path
  • Adds a gitlens.views.worktrees.branches.layout setting to specify whether to show branch worktrees as a list or tree, similar to branches
  • Improves detection in the merge target hover on Home for other cases where a branch was merged and adds other actions for the branch and its merge target (#4124)
  • Adds expanded support for creating pull requests to all supported providers (#4142)
  • Adds a Merge Changes (Manually)... action to files in GitLens view to merge changes in those files into the working tree
  • Adds an Open Changes with Common Base action to comparison results files

Changed

  • Improves performance by avoiding eager loading of full commit details for inline blame (#4115)
  • Improves performance by removing --full-history flag usage in git commands
  • Updates the Switch AI Model command and flow
  • Renames the Switch AI Model command to Switch AI Provider/Model
  • Allows the provider to be selected before displaying a list of models
  • Adds inline actions to reset or configure a provider at the provider step
  • Curated the list of AI models available for GitLens' AI features
  • Improves behavior when opening multiple file changes simultaneously
  • Improves accuracy of file lists and stats for uncommitted changes
  • Changes AI features (stash description, changelog generation) to honor organization settings

Fixed

  • Fixes Bitbucket Server remote - "scm/" path prefix not removed (regression) (#3218)
  • Fixes large commit messages work poorly on Commit Graph (#4100)
  • Fixes Show * View commands fail intermittently (#4127)
  • Fixes Load more action not working on incoming changes in Commits/Repositories views (#4154)
  • Fixes incorrect settings.json entry for Google Gemini 2.0 Flash Thinking causes linter warning (#4168)
  • Fixes multiple autolinks in commit message are broken when enriched (#4069)
  • Fixes gitlens.hovers.autolinks.enhanced setting is not respected (#4174)
  • Fixes sign out action on Account popover is actually sign in (#4182)
  • Fixes Launchpad view causing an "add remote" prompt on load (#4039)
  • Fixes Launchpad indicator not updating when an item is snoozed (#4103)
  • Fixes autolinks sometimes not shown in the Inspect view when integrations were disconnected
  • Fixes an issue with overlapping popover UI elements

GitLens Release Notes — Older Versions

URL: https://help.gitkraken.com/gitlens/GL-Releases-Old/

Version 16.3

Tuesday, February 11, 2025

GitLens 16.3 brings powerful new integration support, enhanced AI capabilities, and broader editor support to streamline your Git workflows. Here’s what’s new:

Azure DevOps Integration

GitLens now supports Azure DevOps! Connect your Azure DevOps account to access issues and pull requests from Azure DevOps directly in Home View, Launchpad, and the Commit Graph, and seamlessly incorporate Azure DevOps into your GitLens workflows.

Expanded VS Code Editor Support

GitLens now works better in alternative VS Code-based editors, bringing more of its powerful features to IDEs like Cursor and Windsurf.

Home View Improvements

The Home View is now more responsive to changes in the git state of your active repositories, active and recent branches, and connected integrations. It displays the correct actions when you create branches, merge changes, or modify your working state.

AI Enhancements

GitLens AI features now include support for the latest AI models from OpenAI, Gemini, DeepSeek, and more. You can now also auto-generate stash messages using AI, in addition to commit messages and commit explanations.

Added

  • Adds rich support for Azure DevOps — closes #3902
  • Adds integration status and connection flows to the Home view; closes #3976
  • Adds autolinks, issues and pull requests in the Commit Graph and Home view; closes #3977
  • Adds pull request support in Launchpad — closes #3978
  • Adds issue support to Start Work; closes #3979
  • Adds new AI-powered ability to generate a stash message from the changes in the Stash commands
  • Adds and expands AI model support for GitLens' AI features
  • Adds DeepSeek V3 and R1 models — closes #3943
  • Adds o3-mini and o1 OpenAI models
  • Adds Gemini 2.0 Flash, Gemini 2.0 Flash-Lite, Gemini 2.0 Pro, and Gemini 2.0 Flash Thinking models
  • Adds dynamic model loading for GitHub Models and HuggingFace models
  • Adds a gitlens.ai.modelOptions.temperature setting to specify the temperature (randomness) for AI models that support it
  • Adds a Switch Model button to the AI confirmation prompts
  • Adds Windsurf support — closes #3969
  • Adds "pro" indicators for applicable integrations — closes #3972

Changed

  • Improves performance of updates to active and recent branches on the Home view

Fixed

  • Fixes #3952 - Interactive rebase doesn't work in GL without VS Code added to path
  • Fixes #3938 - GitLens automatically initiating an external sign-in after install on vscode.dev
  • Fixes #3946 - Home View doesn't update repo state changes made when hidden
  • Fixes #3940 - Commit Details: issue autolinks can disappear after enrichment
  • Fixes #4035 - Repo is lost when "Generate commit" is requested

Version 16.2

Friday, January 17, 2025

GitLens 16.2 brings support for self-hosted GitHub Enterprise and GitLab Self-Managed integrations, introduces expanded merge target status tracking, and improves search and navigation features in Launchpad and the Home View. New and improved visualizations for file & folder history and improved merge request search make it easier to track changes and manage Git workflows.

Self-Hosted GitHub and GitLab Integration Support

GitLens Pro now supports integration with self-hosted GitHub Enterprise and GitLab Self-Managed instances, allowing users to access issue, pull request, and merge request context directly within GitLens.

  • Issues and pull/merge requests from GitHub Enterprise and GitLab Self-Managed will now appear in the GitLens Home View when linked to branches.
  • The Start Work flow now allows users to create branches and worktrees from issues in GitHub Enterprise and GitLab Self-Managed.
  • Launchpad now supports searching for specific pull/merge requests in GitHub Enterprise and GitLab Self-Managed integrations.

Home View Enhancements

Git Action States

Home View now shows when Git actions (such as merge, rebase, cherry-pick, and revert) are paused due to conflicts, or when you're in the middle of a rebase or merge. The indicator lets you continue or skip steps, open the GitLens rebase editor, or abort the operation.

Merge Target Status

In GitLens 16.1, we introduced merge targets in the Home View to display the status of the current branch relative to its merge target and proactively highlights potential conflicts. In 16.2, we've expanded this feature to include status indicators for branches that have already been merged—either locally or into the upstream branch.

This can help identify branches that have been merged but not yet pushed, or branches that have been merged into the upstream branch but not yet deleted.

Improved GitLens View Navigation

Home View can now be accessed directly from the Commit Graph, improving context switching between GitLens views.

Merge Request Search for GitLab

GitLab and GitLab Self-Managed users can now search for specific merge requests in Launchpad by title, PR number, or URL—even for merge requests they aren't assigned to.

Improved Visual File History

The Visual File History has been completely rebuilt for a better more polished experience, with more consistent bubble sizing and easier to read hovers. We've also added new zoom in and out buttons and mouse wheel support. When you are zoomed in, drag to scrub (scroll) through the history.

New Visual Folder History

Visual File History now supports interactive visualizations of an entire folder's change history, allowing you to track how a group of files has evolved over time. From the visualization, you can identify changes made by specific authors and jump directly to commits to inspect changes in detail. Access the Visual Folder History from the Folder History > Open Visual Folder History on folders in the Explorer, Source Control, and in GitLens views.

Added

  • Adds richer support for GitHub Enterprise and GitLab Self-Managed — closes #3901, #3934
  • Adds pull request/merge request support in Launchpad — closes #3923
  • Adds issue support to Start Work
  • Adds integration status and connection flows to the Home view
  • Adds new ability to search for a GitLab merge request in the Launchpad — closes #3788
  • Adds merge target's merged status to the Home view
  • GitLens will attempt to determine if the current branch has been merged into its the merge target branch (or the local branch of the merge target)
  • Overhauls the Visual File History
  • Improves commit bubble sizing to better handle outliers
  • Improves hover content and interations
  • Adds explicit zoom in/out buttons and changes mouse zoom to use the mouse wheel — when zoomed, drag to scrub through the history
  • Optimizes chart resizing and axis label rendering with author indicators, and re-adds the legend to the view
  • Adds a new Folder History > Open Visual Folder History command to folders in the Explorer view, Source Control view, and other GitLens views
  • Adds new ability to see and act upon a "paused" Git operation, e.g. merge, rebase, cherry-pick, revert, across the Commits, Commit Graph, and Home views — closes #3913
  • Adds a new banner on the Commit Graph and updates the banner on Home with actions to continue, skip, or abort the operation
  • Adds Continue, Skip, and Abort actions to the Commits view
  • Adds a GitLens Home button to the Commit Graph header to go to the Home view title section — closes #3873
  • Adds a new Hidden Branches / Tags dropdown button next to the Branch Visibility dropdown in the Commit Graph toolbar — closes #3101
  • Adds a new Contributors section to comparison results in the views — quickly see who contributed changes in the specific range with statistics
  • Adds statistics to contributors in the GitLens views when enabled
  • Adds AI model name in commit message generation notifications

Changed

  • Improves branch status icons/indicators on the Home view
  • Improves branch contributors avatars on the Home view; improved scoring and ordering
  • Improves performance of loading/reloading the Home view
  • Improves performance of detecting paused Git operations, e.g. merge, rebase, cherry-pick, revert
  • Changes GitLens to be XDG-compatible — closes #3660
  • Changes GitLens "reset" command to no longer use/open a terminal — closes #3533
  • Changes to format numbers, e.g. counts, with internationalization (i18n) support
  • Improves command ordering on branch context menus
  • Changes File History context menu to Folder History on folders in the Explorer view
    Adds Open Visual Folder History to explorer folders
    Adds Open [Visual] Folder History to folders in views

Fixed

  • Fixes #3915 - Closing a split editor with annotations causes the Clear Annotations button to get stuck
  • Fixes #3914 - Attempting to clear a file annotation on a split file w/o the annotation no-ops
  • Fixes #3911 - Avoid Home opening when first-install isn't reliable (e.g. GitPod)
  • Fixes #3888 - Graph hover should disappear when right-clicking a row
  • Fixes #3909 - GitLens "Pull with Rebase" is not rebase, but merge
  • Fixes #3476 - Can't show commit graph in floating window
  • Fixes an issue with unpin button visibility in the File History view
  • Fixes intermittent issue with greater reliability of webview requests
  • Fixes an issue with autolink enrichment for issues
  • Fixes issues with incorrect aggregate contributor stats

Version 16.1

Thursday, December 18, 2024

GitLens 16.1 introduces further refinements to the Home View launched in version 16.0, with improved integration and account management, expanded issue association capabilities, and streamlined branch creation. Performance optimizations, proactive conflict detection, and enhanced PR search functionality aim to boost productivity and deliver a more intuitive developer workflow experience.

Home View

UI/UX Improvements

Branch cards have been redesigned to more clearly display important status information and clearly list associated work items like issues and pull requests. Branch owners are now prominently displayed so you can quickly identify who the primary contributor of a branch is.

Integrations & Account Bar

The new integrations and account bar at the top of the Home View provides clear indicators for connecting to and monitoring integration statuses for GitHub, GitLab, and Jira. It also defines account types and states with convenient actions for managing accounts.

Issue Association

GitLens now offers enhanced support for Issues, allowing you to associate them with branches and pull requests directly from the Home View. This feature streamlines the process of completing units of work and now includes the ability to link issues to existing branches.

Start Work

The Start Work Flow has been redesigned to simplify and streamline the process of beginning new tasks. Separate flows are now available for starting work from an issue and for creating a new branch. Additionally, the number of steps required to start work on an issue has been reduced, enabling faster transitions from planning to execution.

Launchpad

Launchpad now offers expanded functionality, allowing you to search for pull requests beyond those directly associated with you or currently in the Launchpad. This expanded capability improves flexibility and access to relevant PRs for better workflow management.

Merge Target Status `PRO`

GitLens now provides a visual indicator of the status of branches relative to their merge targets. This feature helps you quickly identify branches that are up-to-date, behind, or ahead of their merge targets, streamlining the process of managing and merging branches.

Conflict Detection `PRO`

GitLens now includes proactive Conflict Detection to help you avoid merge issues. During rebase and merge operations, Pro users will receive warnings about potential conflicts. The Home View will also alert you when the current branch is likely to conflict during rebasing or merging, along with actions to initiate a rebase or merge to proactively resolve conflicts.

Added

  • Remodels and polishes the Home view:
  • Adds a new header bar with information, controls, and management for your account and integrations
  • Branch cards are now grouped, expandable sets which include information on the branch, its associated pull requests and issues
  • Adds "merge target" status to the active branch
  • Includes the status of the branch relative to the branch that it is most likely to be merged into (its "merge target")
  • Includes pre-emptive conflict detection with the merge target and Merge and Rebase actions
  • Adds merge and rebase status to the active branch while in a merge or rebase
  • Adds a Commit action which automatically generates a commit message and focuses the SCM commit box
  • Integrates Launchpad status directly into pull requests and adds colored indicators reflecting Launchpad statuses: "Mergeable", "Blocked", and "Needs Attention"
  • Adds upstream status information to branch cards
  • Adds more pull request actions:
  • Open Pull Request Changes which opens a pull request's changes in a multidiff editor tab
  • Compare Pull Request which opens a pull request in the Search & Compare view
  • Open Pull Request Details which opens a pull request in the Pull Request view
  • Adds the ability to share your working changes with teammates
  • Increases the prominence of the "branch owner's" avatar
  • The "branch owner" is the person who contributed the most changes across the commits between the branch's HEAD and branching point
  • Adds contextual tooltips throughout
  • Adds pre-emptive conflict detection to Merge and Rebase git commands
  • Adds the ability to show stashes in the Commits, Branches and Worktrees views — off by default, can be toggled in the View Options context menu of each view
  • Adds the ability to show remote branches (for the default remote) in the Branches view — off by default, can be toggled in the View Options context menu of each view
  • Adds the ability to associate issues with branches — closes #3870
  • Shows issues associated with branches in Home view — closes #3806
  • Shows issues associated with branches in the Commit Graph
  • Adds a new command Associate Issue with Branch... command to the command palette and to the context menus of branches in views and the Commit Graph allowing the user to associate an issue with an existing branch — closes #3884
  • Associates issues chosen in the Start Work command with branches created for them
  • Adds the ability to get autolinks for branches via the branch name — closes #3547
  • Adds GitLab issues to the issues list in the Start Work command when GitLab is connected — closes #3779
  • Adds the latest Gemini models to AI features
  • Adds support for deep links to the Home view
  • Adds gitlens.advanced.caching.gitPath setting to specify whether to cache the git path — closes #2877

Changed

  • Improves the Launchpad search experience — closes #3855:
  • Adds a Search for Pull Request... option that allows the user to search for pull requests outside of the listed ones in Launchpad. Currently supports GitHub pull requests, with GitLab soon to be added.
  • Pasting a pull request URL which does not match any listed Launchpad issues will automatically trigger a GitHub search for the pull request
  • When in provider search mode, adds a Cancel Searching option which will restore the original list of pull requests. Clearing the search input will automatically cancel the search.
  • Improves the Start Work flow and user experience — closes #3807:
  • Splits the Start Work button into two buttons, a Start Work on an Issue button for creating a branch from an issue, and a button for creating a branch without an associated issue — closes #3808
  • Updates the command flow so that an issue is selected first, and the option to create a worktree is presented after creating the branch — closes #3809
  • Adds an integration connection button to the title bar — closes #3832
  • Adds a quickpick option to connect additional integrations when no issues are found — closes #3833
  • Rewords the placeholder text for better clarity when choosing a base for the new branch — closes #3834
  • Adds hover tooltip on issues showing their descriptions
  • Improves tooltips on "Open in Remote" icon
  • Refines commit/file stats formatting and improves coloring and formatting in tooltips
  • Moves the Commit Graph filter commits toggle into the left of the search bar
  • Improves the responsiveness of the Worktrees view to changes in relevant state
  • Improves the HEAD indicator icon to align more with VS Code
  • Updates prep-release reference — thanks to PR #3732 by Emmanuel Ferdman (@emmanuel-ferdman)

Fixed

  • Fixes #3747 - Rebase Current Branch onto Branch incorrectly shows that the current branch is caught up to the destination
  • Fixes #3836 - Back button in Start Work goes to the wrong step
  • Fixes #3791 - Pin/snooze in Launchpad trigger a full refresh and are no longer optimistic
  • Fixes #3886 - Jira orgs/projects accumulating size in global storage
  • Fixes #3849 - Launchpad view state does not sync properly when connecting/disconnecting integrations
  • Fixes some cases where issues are not properly restricted to open repositories in Start Work
  • Fixes issue bodies missing on Jira issue items in Start Work
  • Fixes some Jira issues missing in Start Work
  • Fixes Jira integration failing to fetch issues for all organizations when there is an issue with one of the organizations
  • Fixes duplicate generic autolinks appearing in Commit Details when the enriched version is shown
  • Fixes the worktree icon in the Commit Graph
  • Fixes hovers in the Commit Graph to correctly show branch/tag tips and additions/deletions when the Changes column is enabled
  • Fixes incorrect subscription label in the Account section when signed out

Thank you to our contributors

Shout-out to our awesome contributor from a recent patch release!

Version 16.0

Thursday, November 14, 2024

GitLens 16 brings a reimagined Home View, streamlined Source Control grouping, improved branch workflows, enhanced graph filtering, new pull request search capabilities, and AI-powered features to boost your productivity.

New Home View

GitLens 16 introduces a completely reimagined Home View (accessible via the GitLens icon in the VS Code activity bar) to streamline your development workflow.

The new Home View helps guide your daily workflow by answering key questions: "What am I working on now?", "What do I need to do next?", and "What have I worked on recently?" These answers are provided in the three main sections of the Home View:

Repository

Shows your current repository and branch, alongside the repository state and actions for syncing (push, pull, fetch), switching repos/branches, and viewing working directory changes.

If your branch is tied to a pull request or issue, GitLens surfaces those details so you can check PR status, continue reviews, or revisit issue specs. GitLens will also guide you to start a PR from your current branch if it can't find one.

Launchpad

Unblocks you and your team by showing pull requests that need your review, are blocked, or are ready to merge. Quickly jump to PRs to review, comment, or merge.
With the new Start work action, you can easily begin a new branch or worktree, or generate one from an existing issue.

💡 Connect integrations to view pull request and issue information in GitLens

Recent

Lets you quickly return to previous work by showing recent branches, worktrees, and PRs with activity for your chosen timeframe.

Feedback

We'll be continuing to refine this view in future releases and welcome your feedback to help shape it. Join in on the New Home View Discussion.

Consolidated GitLens Source Control Views

GitLens Source Control Views (Commits, Branches, Remotes, etc.) can now be grouped under a unified "GitLens" view. You can navigate grouped views by clicking the icons in the new "GitLens" view, or detach them to be displayed as individual views in Source Control. This should reduce clutter in your workspace and give you more control over which views are prominently displayed.

"Start Work" Workflow

The new Start Work feature allows you to quickly create a branch or worktree, either from scratch or from an existing GitHub or Jira issue. GitLens will even name your branch based on the issue title and number, making it easy to stay organized. Access it from the Home View or via the command palette GitLens: Start work.

Graph Filtering

We’ve added a toggle to filter the commit graph, allowing you to hide non-matching commits during a search. This makes it easy to focus only on relevant changes.

Search pull requests directly from Launchpad—whether they’re included in the default Launchpad filters or not. Search by title, PR number, or URL for quick access. (GitHub support only for now.)

AI Updates

AI features are now in preview! You’ll see improved UX, support for new models from Anthropic, Open AI, GitHub Copilot, and more. Access to AI features requires a free account.

Thank you to our contributors

Shout-out to our awesome contributor from a recent patch release!

Added

  • Adds the ability to group GitLens views into a single GitLens view in the Source Control sidebar
  • Includes Commits, Branches, Remotes, Stashes, Tags, Worktrees, Contributors, Repositories, Search & Compare, and Launchpad views
  • Switch views by clicking on the specific view icons in the grouped GitLens view header
  • Grouped views can be separated (detached) from the grouped GitLens view via context menu commands from the view header
  • Detached views can be regrouped by clicking the close (x) icon in the view header
  • Adds a new gitlens.views.scm.grouped.default setting to specify the default view to show in the grouped GitLens view on new workspaces/folders (otherwise the last selected view is remembered)
  • Adds a new gitlens.views.scm.grouped.views setting to specify which views to show in the grouped GitLens view
  • Adds a completely reimagined Home view
  • Active section:
  • Shows your current repository, branch, and repository state
  • Actions for syncing (push, pull, fetch), switching repos/branches, and viewing working directory changes
  • Launchpad section:
  • Shows pull requests that need your review, are blocked, or are ready to merge
  • Start work action to begin a new branch or worktree, or generate one from an existing issue
  • Recent section: return to previous work by showing recent branches, worktrees, and PRs with activity for your chosen timeframe
  • Adds Start Work command that opens a quick pick to initiate different flows for starting new work — closes #3621
  • Start from an issue from GitHub or Jira (other integrations coming soon) and create a branch and/or worktree
  • Adds new ability to search for a GitHub PR in the Launchpad — closes #3543, #3684
  • Adds a new Filter Commits button to the Commit Graph toolbar — closes #3686
  • When toggled while searching the graph, it will be filtered to show only commits matching the search query
  • Adds and expands AI support for GitLens' AI features, now out of experimental and in preview
  • Refines and improves commit message generation and explaining changes, through better prompting and context
  • Adds new model support from GitHub Copilot when installed — no api key needed
  • Adds the latest OpenAI and Claude models
  • Adds new models from xAI, GitHub Models, and HuggingFace
  • Adds a new Launchpad view, now out of experimental mode — closes #3615:
  • Remembers the collapsed/expanded state of groups and auto-expands the Current Branch group & item, if applicable
  • Reflects changes better, including pinning and snoozing items
  • Pinned items should now appear above non-pinned items in their respective groups
  • Adds new all-new onboarding walkthrough — closes #3656
  • Adds new deep links to certain GitLens features and views — closes #3679
  • Adds support for deep links to the GitLens walkthrough — closes #3677
  • Adds support for deep links to Launchpad — closes #3678
  • Adds support for deep links to the Commit Graph, Worktrees, Inspect, and Cloud Patches — closes #3703
  • Adds Copy Changes (Patch) command to the context menu of branch comparisons and their files in the Commits, Branches, and Remotes views
  • Adds an Upgrade and Switch to Release Version to the expiration notification when using the pre-release of GitLens

Changed

  • Changes the, no account, 3-day preview experience of GitLens Pro to be 3 non-consecutive days on the Commit Graph
  • Changes the GitLens Pro 7-day trial to be 14 days, and 30 days if you invite a teamate
  • Improves Launchpad & the Launchpad view — closes #3614:
  • Adds Pin and Snooze buttons to the header item in the action step
  • Draft pull requests for which the current user's review is needed are now also shown in the "Needs Your Review" group, with a draft icon
  • Renames Switch to Branch or Worktree option to Switch to Branch, since it already includes options to create a worktree in the action flow
  • Improves the open in worktree action flow — closes #3549:
  • Changes to open a multi-diff editor of the changes when opening a new worktree from a PR to make reviewing easier — #3701
  • Improves the Explain panel in Inspect and Graph Details with markdown formatting
  • Changes how GitLens handles creating and deleting tags to avoid using the terminal — #3670
  • Improves quick pick workflows when no repositories are open
  • Renames GK Workspaces (GitKraken Workspaces) to Cloud Workspaces
  • Improves revealing items in the GitLens views
  • Limits buffering during logging to reduce memory usage

Fixed

  • Fixes #3549 - Webviews can have issues with high contrast themes
  • Fixes #3734 - Open multi-diff editor when opening a new worktree from a PR
  • Fixes #3133 - Infinite error loop when pushing stash from GUI
  • Fixes branch creation and switch quickpicks failing to close when a worktree is created during the flow
  • Fixes some cases where Launchpad can fail to detect a connected integration
  • Fixed issues with renamed file status on comparisons and pull requests and ensures that renamed files get returned in file status and revision content git operations
  • Fixes issues with failing to delete stored state
  • Fixes issues with logging on some failure cases
  • Fixes issues with log scope tracking

Removed

  • Removes the GitLens Welcome view in favor of the new onboarding walkthrough experience

Version 15.6

Monday, October 7, 2024

GitLens 15.6 arrives with easier branch workflows from within the Commit Graph, Account View integrated into the Home View, improved Cursor support, and a host of other improvements and bug fixes.

Commit Graph Improvements

GitLens 15.6 includes several new features and improvements for the Commit Graph:

The graph toolbar now includes a new Create New Branch button in the upper-right corner that allows you to conveniently create a new branch (and worktree, if you prefer) from the current branch or commit. Furthermore, when your current branch is both ahead and behind its upstream, we've added a new Force Push button to the toolbar next to the Pull button that allows you to force push your current branch to its upstream (always force push with caution, as you may lose commits). These new buttons allow for easier entry into common branch workflows directly from the Commit Graph.

The Commit Graph sidebar is now enabled by default. You can disable it by setting gitlens.graph.sidebar.enabled to false in your settings.

Finally, we've improved the integration indicator and connection button on the upper left corner of the graph toolbar. The icon now more accurately reflects the hosting service for the current repository, and hovering over the connect button now provides some more context on the benefits of connecting the integration.

Account View moved into Home View

The Account View has been moved into the bottom of the Home View as a new collapsible section. You can quickly jump into the Home View with the GitLens: Show Home View command and expand the Account section to manage your account, cloud integrations and active organization, or leave it collapsed to view account status at a glance.

Cursor Support

GitLens 15.6 improves support for GitLens in the Cursor editor. Cursor users can now take full advantage of GitLens commands, views and functionality, including account login and sign-up, within Cursor.

Thank you to our contributors

Shout-out to our awesome contributors for this release!

Added

  • Adds Cursor support — closes #3222
  • Adds monospace formatting in commit messages — closes #2350
  • Adds a new ${authorFirst} and ${authorLast} commit formatting tokens that can be used in inline blame, commit hovers, etc — closes #2980
  • Adds a new Create New Branch button to the Commit Graph toolbar — closes #3553
  • Adds new ability to force push from the Commit Graph toolbar— closes #3493
  • Adds a new gitlens.launchpad.includedOrganizations setting to specify which organizations to include in Launchpad — closes #3550
  • Adds repository owner/name and code suggest to hovers on the experimental Launchpad view

Changed

  • Integrates the GitKraken Account view into the bottom of the Home view as a collapsible section — closes #3536
  • Changes the new Commit Graph sidebar to be enabled by default; use the gitlens.graph.sidebar.enabled settings to disable it
  • Changes how GitLens handles creating and renaming branches to avoid using the terminal — refs #3528
  • Changes patch generation (e.g. cloud patches, code suggest, Copy as Patch, Copy WorkingChanges to Worktree..., etc) to automatically include untracked files
  • Improves Switch, Open in Worktree, and deeplink and Launchpad workflows
  • Reduces prompts for locating repositories which the user has previously opened — closes #3555
  • Improves automatic detection of matching repositories for pull requests — closes #3627
  • Automatically fetches the repository when needed rather than prompting the user
  • Improves the integration connection indicator and connection button on the Commit Graph — closes #3538

Fixed

  • Fixes #3548 - Change the current branch icon on the Commit Graph to a worktree icon if its on a worktree
  • Fixes #3592 - Connecting to an integration via Remotes view (but likely others) doesn't work
  • Fixes #3571 - Gitlens fails to register buttons on top-right corner — thanks to PR #3605 by Jean Pierre (@jeanp413)
  • Fixes #3617 - Auto-links not working for alphanumberic issue numbers
  • Fixes #3573 - 'Create Branch in Worktree' option in 'Create Branch' shows a repo picker if you have multiple repos open
  • Fixes #3612 - Prevents cloud integration sync process from opening gkdev connect page/flow
  • Fixes #3519 - Add fallback/cutoff to our backend calls similar to how we handle GitHub queries
  • Fixes #3608 - Integration connection page opening on every launch of VS Code and on profile change
  • Fixes #3618 -Reauthentication not working for cloud integrations
  • Fixes an issue where virtual repositories for GitHub PRs from forks wouldn't load properly
  • Fixes an issue where deleting a worktree would not always remove the worktree from the view
  • Fixes actions not working on Launchpad items with special characters in their branch name
  • Fixes Open in Worktree command sometimes showing an unnecessary worktree confirmation step
  • Fixes some instances where the progress notification lingers after canceling when connecting an integration

Engineering

  • Adds end-to-end testing infrastructure using Playwright
  • Adds vscode-test to run unit-tests — closes #3570

Version 15.5

Thursday, September 12, 2024

GitLens 15.5 brings a few notable changes for the Commit Graph, current branches and worktree creation.

Launchpad Preview Ending

Preview access to Launchpad ends on September 27th. After this date, GitLens users will need a Pro account to continue accessing Launchpad and Launchpad View. The Launchpad status bar summary will continue to be free for everyone.

Commit Graph Sidebar

We've equipped the Commit Graph with a sidebar which gives you quick and convenient access to branches, remotes, stashes, tags, and worktrees from within the graph. Clicking an icon from the sidebar will take you to its respective view. You can enable the new sidebar by setting gitlens.graph.sidebar.enabled to true in your settings.

Current Branch Visibility

You now have the option to see your current branch at the top of the list anywhere local branches are shown in views. To enable this feature, turn on gitlens.views.showCurrentBranchOnTop in settings.

Simplified Worktree Creation

We've streamlined the Create Worktree command flow, now prompting for a new branch name only when necessary. This simplifies the creation of worktrees from different sources.

Added

  • Adds a gitlens.views.showCurrentBranchOnTop setting to specify whether the current branch is shown at the top of the views — closes #3520
  • Adds a sidebar to the Commit Graph
  • Shows counts of branches, remotes, stashes, tags, and worktrees
  • Clicking an item reveals it's corresponding view
  • Try out this new feature by enable the setting gitlens.graph.sidebar.enabled to true

Changed

  • Preview access of Launchpad is ending on September 27th
  • Improves the branch comparisons in views to automatically select the base or target branch

Fixed

  • Fixes #3514 - Attempting to delete the main worktree's branch causes a invalid prompt to delete the main worktree
  • Fixes #3518 - Branches in worktrees are no longer collapsed into folder groupings

Removed

  • Removes (disables) legacy "focus" editor

Version 15.4

Wednesday, September 4, 2024

GitLens 15.4 focuses on branches and worktrees, with icon, action, and tooltip upgrades that make the association between branches and worktrees clearer, improved cleanup when deleting a branch with a worktree or a worktree with a branch, improvements to comparisons, and more.

Worktee Enhancements

Branches in views and quick pick menus have received a few visual improvements to reduce clutter and make it easier to understand branch state. Branches with worktrees now display a repository icon instead of the typical branch icon, and the tooltip now also indicates that the branch is in a worktree. Branch tooltips now also split out information in a way that is easier to read.

Branch & Worktree Cleanup Improvements

When a branch has an associated worktree, it is now easier to clean up the associated branch when deleting the worktree, and vice versa. Using the Git Delete Worktree command on a worktree now also includes options to delete or force-delete both the worktree and its associated branch. Similarly, when deleting a branch that has a worktree, the user is first presented with options for deleting the branch's worktree before deleting the branch itself.

Branch Comparison Improvements

On the Commits view and nested within branches on the Branches view, there is a comparison item to quickly compare the branch with another reference (branch, commit, tag, etc). In GitLens 15.4, we now automatically pick the "best" target branch as the default reference to compare with. Expand the Ahead item to review your changes as they would be applied to the target branch.

Commit Graph Search Additions

On the Commit Graph (and commit search from the Search & Compare view) you can now limit a search to only search within stashes. Use type:stash (or is:stash) to highlight all your stashes, or add it to a search query to limit the results to stashes.

Added

  • Adds better support for branches in worktrees
  • Changes the branch icon to a "repo" icon when the branch is in a worktree in views, quick pick menus, and the Commit Graph
  • Adds an Open in Worktree inline and context menu command and an Open in Worktree in New Window context menu command to branches and pull requests in views and on the Commit Graph
  • Removes the Switch to Branch... inline and context menu command from branches in views and on the Commit Graph when the branch is in a worktree
  • Adds ability to only search stashes when using type:stash (or is:stash) in commit search via the Commit Graph, Search & Compare view, or the Search Commits command
  • Adds ... inline command for stashes on the GitLens Inspect view
  • Adds an "up-to-date" indicator dot to the branch icon of branches in views
  • Adds an "alt" Pull command for the inline Fetch command on branches in views
  • Adds an "alt" Fetch command for the inline Pull command on branches in views
  • Adds Open Comparison on Remote command to branch comparisons in views
  • Adds new options to the Git Delete Worktree command to also delete the associated branch along with the worktree

Changed

  • Improves the branch comparisons in views to automatically select the base or target branch
  • Improves tooltips on branches, remotes, and worktrees in views
  • Upgrade to Pro flows now support redirects back to GitLens

Fixed

  • Fixes #3479 - Tooltip flickering
  • Fixes #3472 - "Compare working tree with.." often flashes open then closes the menu
  • Fixes #3448 - "Select for Compare" on a Commit/Stash/etc causes the Search and Compare view to be forcibly shown
  • Fixes the Git Delete Branch command when deleting a branch that is open on a worktree by adding a step to delete the branch's worktree first
  • Fixes an issue where pull requests in views could show the wrong comparison with the working tree when using worktrees
  • Fixes Copy Remote Comparison URL command to not open the URL, just copy it
  • Fixes cloud integrations remaining disconnected after disconnecting and reconnecting to a GitKraken account
  • Fixes "switch" deep links sometimes failing to complete in cases where the switch occurs in the current window

Removed

  • Removes status (ahead, behind, etc) decoration icons from branches in views

Version 15.3

Tuesday, August 13, 2024

GitLens 15.3 arrives with a host of improvements to popular GitLens features and commands. New branch filtering in the commit graph makes it easier to review history for branches with upstreams to improve pull request reviews. Launchpad has been expanded with GitLab support and is experimentally available as a view. GitHub virtual repositories now support comparisons, and some comparison commands now take a smarter approach to determining directionality of comparison, providing more relevant and useful results.

Commit Graph Branch Visibility

The Commit Graph now adds a third branch visibility option: Smart Branches. Existing options allowed you to show all branches or only the current branch (and its upstream). The new Smart Branches option shows the current branch, its upstream, and its base or target branch. This provides enough history to compare local branch changes with upstream changes on your current branch, and against changes with the merge base to determine, for example, whether a rebase is needed or if conflicts might occur. This option is particularly useful for workflows like pull request reviews.

Branch visibility options have now moved out of the graph filter dropdown and into a new branch visibility dropdown to the left of it in the graph header bar.

Launchpad Improvements

GitLab in Launchpad

Launchpad now includes GitLab support! You can connect your GitLab integration and see GitLab merge requests alongside GitHub pull requests. We've also added a new Connect Additional Integrations button to the titlebar of Launchpad that lets you easily connect additional integrations.

Launchpad View (Experimental)

We're experimenting with bringing Launchpad into a view so that you can keep it open and view pull request details at a glance, in a tree format. You can enable this experimental feature either by running the Show Launchpad View command or setting gitlens.views.launchpad.enabled to true in your settings file.

Comparison Improvements

When comparing commits, stashes, and tags with the HEAD commit via context menu commands, the comparison now uses a combination of commit topology and the timestamp of the reference and HEAD commit in order to determine the directionality of the comparison.

When comparing a commit with the HEAD commit, for example, we order the comparison from the HEAD commit to the chosen commit if it is ahead in time from the HEAD commit, and from the chosen commit to the HEAD commit if it is behind. This ensures that this command, now called Compare to/from HEAD, is more useful in general since the revision history within the comparison is always forward-looking.

Virtual repositories, such as GitHub repositories opened locally with the GitHub Repositories extension or on vscode.dev or github.dev, now also support comparison commands within views and the Commit Graph.

Added

  • Adds improvements and enhancements to Launchpad to make it easier to manage and review pull requests
  • Adds GitLab (cloud-only for now) support to show and manage merge requests in Launchpad
  • Adds a new Connect Additional Integrations button to the Launchpad titlebar to allow connecting additional integrations (GitHub and GitLab currently)
  • Adds an new experimental Launchpad view to provide a persistent view of the Launchpad in the sidebar
  • To try it out, run the Show Launchpad View command or set the gitlens.views.launchpad.enabled setting to true — let us know what you think!
  • While its functionality is currently limited, pull requests can be expanded to show changes, commits, and code suggestions, as well as actions to open changes in the multi-diff editor, open a comparision, and more
  • Adds new features and improvements to the Commit Graph
  • Branch visibility options, formerly in the Graph Filtering dropdown, are now moved to the new Branches Visibility dropdown in the Commit Graph header bar
  • Adds a new Smart Branches visibility option to shows only relevant branches — the current branch, its upstream, and its base or target branch, to help you better focus
  • Improves interactions with hovers on rows — they should do a better job of staying out of your way
  • Adds pull request information to branches with missing upstreams
  • Adds support for GitHub and GitLab cloud integrations — automatically synced with your GitKraken account
  • Adds an improved, streamlined experience for connecting cloud integrations to GitLens
  • Manage your connected integration via the the Manage Integrations command or the Integrations button on the GitKraken Account view
  • Adds comparison support to virtual (GitHub) repositories

Changed

  • Improves the Compare to/from HEAD command (previously Compare with HEAD) to compare commits, stashes, and tags with the HEAD commit where directionality is determined by topology and time
  • Improves the messaging of the merge and rebase commands
  • Renames Compare with Working Tree command to Compare Working Tree to Here
  • Renames Compare Common Base with Working Tree command to Compare Working Tree to Common Base
  • Renames Open Worktree in New Window Launchpad command to Open in Worktree
  • Renames Open Directory Compare command to Open Directory Comparison
  • Renames Open Directory Compare with Working Tree command to Directory Compare Working Tree to Here
  • Improves some messaging on Switch and Checkout commands

Fixed

  • Fixes #3445 - Cannot merge branch into detached HEAD
  • Fixes #3443 - Don't show gitlens context menu items in Copilot Chat codeblock editors
  • Fixes #3457 - Enriched autolink duplication in graph hover (and possibly other places)
  • Fixes #3473 - Plus features can't be restored after they are hidden
  • Fixes column resizing being stuck when the mouse leaves the Commit Graph
  • Fixes issues with incorrect commit count when using the merge and rebase commands
  • Fixes issues where a merge or rebase operation says there or no changes when there are changes
  • Fixes an error with queries that can cause Jira Cloud and other cloud integrations to stop working
  • Fixes issues with some directory comparison commands

Version 15.2

Wednesday, July 10th, 2024

GitLens 15.2 introduces several new features and improvements. This release focuses on enhancing the Commit Graph and Launchpad, expanding AI-generated messaging, and additional AI support for the latest Anthropic models.

Commit Graph Improvements

The Commit Graph now provides rich hovers on commit rows. These hovers include detailed commit information and links to related pull requests, issues, and linking to Inspect. We've also added pull request markers to the graph scroll and minimap, offering visual queues of PR activity in your repo history.

Launchpad Improvements

We've added a new "Open Worktree in New Window" action to the Launchpad. This feature allows you to quickly open specific branches of pull requests in a separate VS Code window, minimizing context switching when working on multiple tasks.

AI-Generated Descriptions

You can now generate titles and descriptions for Cloud Patches and Code Suggest. This is available using the "Generate Title & Description" button within the title input of the Create Cloud Patch view and in the Changes to Suggest section of the Inspect Overview tab. It uses the AI provider of your choice, helping to save time in creating meaningful titles and descriptions.

Claude 3.5 Sonnet Support

GitLens now supports Anthropic's latest Claude 3.5 Sonnet model for our experimental AI features. You can switch to this version by selecting GitLens: Switch AI Model from the command palette.

Added

  • Adds a Generate Title & Description button to the title input in Create Cloud Patch and in Changes to Suggest of the Inspect Overview tab
  • Adds support for Anthropic's Claude 3.5 Sonnet model for GitLens' experimental AI features
  • Adds a new counts option to the gitlens.launchpad.indicator.label setting to show the status counts of items which need your attention in the Launchpad status bar indicator
  • Adds Search for Commits within Selection command to the editor context menu when there is a selection
  • Adds a gitlens.launchpad.ignoredOrganizations setting to specify an array of organizations (or users) to ignore in the Launchpad
  • Improves the tooltips of stashes in GitLens views
  • Adds a gitlens.views.formats.stashes.tooltip setting to specify the tooltip format of the stashes in GitLens views
  • Improves the display of branch and tag tips in the File History and Line History and in commit tooltips in GitLens views
  • Adds provider-specific icons to tips of remote branches
  • Adds Commit Graph improvements:
  • Adds pull request markers to the graph scroll and minimap
  • Adds rich hovers on commit rows which include detailed commit information and links to pull requests, issues, and inspect
  • Adds Launchpad improvements:
  • Truncates long titles for Pull Requests so that the repository label is always visible
  • Adds Open on GitHub button to other relevant rows in the action step
  • Adds a new Open Worktree in New Window action and button to Launchpad items to more easily view the item in a worktree

Changed

  • Renames Reset Stored AI Key command to Reset Stored AI Keys... and adds confirmation prompt with options to reset only the current or all AI keys
  • Renames Open Inspect to Inspect Commit Details
  • Renames Open Line Inspect to Inspect Line Commit Details
  • Renames Open Details to Inspect Commit Details
  • Replaces Open in Editor link in the Launchpad with a link to gitkraken.dev
  • The Manage Account button in the GitKraken Account view and the GitLens: Manage Your Account command now use the account management page at gitkraken.dev
  • Fixes some cases where worktree state can be out-of-date after creation/deletion of a worktree

Fixed

  • Fixes #3344 - Make changing the AI key easier
  • Fixes #3377 - Cannot read properties of undefined (reading 'start')
  • Fixes #3377 - Deleting a worktree (without force) with working changes causes double prompts
  • Fixes fixes issue with Jira integration not refreshing
  • Fixes the Learn More link not working in the account verification dialog
  • Upgrading to Pro and account management now no longer require the user to log in again in their respective pages on gitkraken.dev
  • Fixes deep links failing to cancel in the remote add stage

Version 15.1

Wednesday, June 5th, 2024

We're excited to announce the latest release of GitLens, bringing you expanded AI capabilities, a better Launchpad experience, and bug fixes reported by our community.

GitHub Copilot and AI Model Integration

GitLens now supports integration with GitHub Copilot and other VS Code extension-provided AI models for its experimental AI features. Simply select a model from the quickpick after choosing a GitLens AI action.

You can also specify the AI model you want to use through the new gitlens.ai.experimental.model setting. When the model is set to vscode, specifying the gitlens.ai.experimental.vscode.model setting will target the VS Code extension-provided AI model you want to use.

To simplify the overall configuration of AI models, we have unified all settings under: gitlens.ai.experimental.model. This replaces the previous provider-specific settings, making it more straightforward to specify the AI model you want to use.

Launchpad Enhancements

We've made several improvements to the Launchpad to provide a more intuitive and user-friendly experience. The collapsed state of Launchpad groups is now saved between uses, ensuring a consistent view across sessions. The Draft and Pinned categories in the Launchpad always sort their items by date, making it easier to find recent entries. The Launchpad status bar indicator now provides clear indications when there is an error loading data, keeping you informed of any issues. Additionally, we've improved loading performance and are continuing to look for ways to improve that in the future.

To leave us feedback such as what do you think, is this useful, what does it have that you like, what is it missing, etc. reach out to us on the GitLens GitHub Discussion board. We really want to hear your feedback!

Thank you to our contributors

Shout-out to our awesome contributors for this release!

Added

  • Adds support for GitHub Copilot and other VS Code extension-provided AI models for GitLens' experimental AI features
  • Adds a gitlens.ai.experimental.model setting to specify the AI model to use
  • Adds a gitlens.ai.experimental.vscode.model setting to specify the VS Code extension-provided AI model to use when gitlens.ai.experimental.model is set to vscode
  • Adds new Launchpad improvements:
  • Collapsed state of Launchpad groups are now saved between uses
  • The Draft and Pinned categories in the Launchpad now always sort their items by date
  • The Launchpad and Launchpad status bar indicator now indicate when there is an error loading data
  • The Launchpad indicator now shows the Launchpad icon next to the loading spinner when the Launchpad is loading

Changed

  • Changes the settings used to configure the AI models for GitLens' experimental AI features
  • Adds a gitlens.ai.experimental.model setting to specify the AI model to use
  • Removes the gitlens.ai.experimental.provider, gitlens.ai.experimental.openai.model, gitlens.ai.experimental.anthropic.model, and gitlens.ai.experimental.gemini.model settings in favor of the above

Fixed

  • Fixes #3295 - Incorrect pluralization in Authors lens — thanks to PR #3296 by bm-w (@bm-w)
  • Fixes #3277 - Unable to pull branch when the local branch whose name differs from its tracking branch

Version 15.0

Tuesday, May 14th, 2024

With the release of GitLens 15 comes some of GitLens' most exciting features yet, Launchpad, Code Suggest, Jira integration and so much more. This release is packed with tools and enhancements to improve code review workflows and makes it easier than ever to keep your team unblocked.

Launchpad

GitLens 15 introduces a preview of the Launchpad, a new Pro feature that brings your GitHub pull requests into a unified, categorized list. The Launchpad categorizes pull requests by status, making it easy to see which pull requests are ready to merge, blocked, need your review, and more. Use the Launchpad to quickly action on the highest priority pull requests and keep your team unblocked.

Once you've selected a pull request in the Launchpad, you can choose from a list of actions to take on that pull request, including merging the pull request, opening the pull request on GitHub, switching to or creating a branch or worktree for the pull request, viewing the pull request's changes, and more.

Also included is a Launchpad status bar icon which provides a pulse on the most critical pull request needing your attention, and a summary of your most critical pull requests on hover.

You can open the new Launchpad directly from its status bar icon by clicking the icon or by using the new GitLens: Open Launchpad command. Clicking a category in the Launchpad status bar icon tooltip will open the Launchpad directly to that category.

Code Suggest

Code Suggest is a new cloud feature that frees your code reviews from the unnecessary restrictions of GitHub's comment-style code suggestions. Code suggestions can be created from any code and right from inside the convenience of your IDE.

You can create a Code Suggestion from the Inspect: Overview tab when on a PR's branch. You can also start Code Suggestions on a pull request directly from the Launchpad. Simply choose which file changes to include, add a title and optional description, and you're ready to go.

Upon creation of a Code Suggestion, a comment will appear on the pull request. Code Suggestions can be viewed and applied directly from gitkraken.dev, or opened in GitKraken Desktop or GitLens.

You can see a PR's Code Suggestions from anywhere we currently display PR information in our views, including Commits, Branches, Remotes, and the new Pull Request view. From there you can view the changes, apply them, accept or reject the code suggestion, or copy a link to share with team members.

Jira Integration

GitLens 15 introduces rich Jira Cloud integration, enabling automatic, rich Jira autolinks in commit messages wherever autolinks are supported in GitLens. You can connect to Jira by clicking the Cloud Integrations button in the GitKraken Account view or by using the new GitLens: Manage Cloud Integrations command. Once connected, rich autolinks will automatically populate for Jira issues in your commit messages.

Support for more cloud integrations and other Jira integration features are coming soon.

Gemini and Latest OpenAI & Anthropic Model Support

This release also adds support for Google Gemini for GitLens' experimental AI features. You can specify the Gemini model to use with the new gitlens.ai.experimental.gemini.model setting.

We've also expanded our OpenAI and Anthropic model support to include the latest models.

Thank you to our contributors

Shout-out to our awesome contributors for this release!

Added

  • Adds Launchpad preview, a new Pro feature bringing your GitHub pull requests into a unified, categorized list to keep you focused and your team unblocked
  • Open using the new GitLens: Open Launchpad command
  • Categorizes pull requests by status
  • Current Branch: Pull requests associated with your current branch
  • Ready to Merge: Pull requests without conflicts, ci failures, change suggestions or other issues preventing merge
  • Blocked: Pull requests with conflicts, CI failures, or that have no reviewers assigned
  • Needs Your Review: Pull requests waiting for your review
  • Requires Follow-Up: Pull requests that have been reviewed and need follow-up
  • Draft: Draft pull requests
  • Pinned: Pull requests you have pinned
  • Snoozed: Pull requests you have snoozed
  • Other: Other pull requests
  • Action on a pull request directly from the Launchpad:
  • Merge a pull request
  • Open a pull request on GitHub
  • Switch to or create a branch or worktree for a pull request to review changes
  • Display a pull request's details in the Overview
  • Open a pull request's changes in the multi-diff editor
  • View a pull request's branch in the Commit Graph
  • View or create code suggestions for a pull request
  • Pin or snooze a pull request in the Launchpad
  • Adds a status bar indicator of the Launchpad
  • Opens the Launchpad when clicked
  • Shows the top pull request and its status in the status bar
  • Also highlights your top pull request in the launchpad when opened from the indicator
  • Provides a summary of your most critical pull requests on hover
  • Each summary line includes a link to open the Launchpad to that category
  • Adds new settings for the Launchpad and indicator
  • gitlens.launchpad.ignoredRepositories: Array of repositories with owner/name format to ignore in the Launchpad
  • gitlens.launchpad.staleThreshold: Value in days after which a pull request is considered stale and moved to the Other category
  • gitlens.launchpad.indicator.enabled: Specifies whether to show the Launchpad indicator in the status bar
  • gitlens.launchpad.indicator.icon: Specifies the style of the Launchpad indicator icon
  • gitlens.launchpad.indicator.label: Specifies the style of the Launchpad indicator label
  • gitlens.launchpad.indicator.groups: Specifies which critical categories of pull requests to summarize in the indicator tooltip
  • gitlens.launchpad.indicator.useColors: Specifies whether to use colors in the indicator
  • gitlens.launchpad.indicator.openInEditor: Specifies whether to open the Launchpad in the editor when clicked
  • gitlens.launchpad.indicator.polling.enabled: Specifies whether to regularly check for changes to pull requests
  • gitlens.launchpad.indicator.polling.interval: Specifies the interval in minutes to check for changes to pull requests
  • Adds new features that make code reviews easier
  • Adds Code Suggest preview, a cloud feature, that frees your code reviews from unnecessary restrictions
  • Create a Code Suggestion from the Inspect: Overview tab when on a PR's branch
  • Upon creation of a Code Suggestion, a comment will appear on the pull request
  • Code Suggestions can be viewed and apply directly from gitkraken.dev, or open in GitKraken Desktop or GitLens.
  • See a PR's Code Suggestions from anywhere we currently display PR information in our views (Commits, Branches, Remotes)
  • You can additionally start Code Suggestions from the Launchpad
  • Adds a Pull Request view to view PR commits and review file changes
  • Adds a Pull Request badge to the Graph and the Inspect Overview
  • Adds rich Jira Cloud integration
  • Enables rich automatic Jira autolinks in commit messages everywhere autolinks are supported in GitLens
  • Adds a Cloud Integrations button to the GitKraken Account view and a new GitLens: Manage Cloud Integrations command to manage connected cloud integrations
  • Adds a Manage Jira button to Inspect and a link in Autolink settings to connect to Jira
  • Adds support for Google Gemini for GitLens' experimental AI features
  • Adds a gitlens.ai.experimental.gemini.model setting to specify the Gemini model
  • Adds support for the latest OpenAI and Anthropic models for GitLens' experimental AI features
  • Adds a new gitlens.views.collapseWorktreesWhenPossible setting to specify whether to try to collapse the opened worktrees into a single (common) repository in the views when possible

Changed

  • Reworks Commit Details, now called the Inspect view
  • Revamps the Working Changes tab into the Overview tab
  • Provides richer branch status information and branch switching
  • Adds Push, Pull, and Fetch actions
  • Richer Pull Request Information
  • Open details in the Pull Request view
  • Links to open and compare changes
  • List of the PR's Code Suggestions
  • Create a Code Suggestion by clicking the Suggest Changes for PR button
  • Improves contributor and team member picking for the adding co-authors, Code Suggest, and Cloud Patches
  • Improves performance when creating colors derived from the VS Code theme
  • Changes the command to open the Launchpad in the editor (formerly Focus View) from GitLens: Show Focus to GitLens: Open Launchpad in Editor
  • Renames the setting gitlens.focus.allowMultiple to gitlens.launchpad.allowMultiple
  • Updates most deep link prompts to quick picks or quick inputs, moves most prompts to before a repository is opened.
  • Updates Pro upgrade links to use the newer gitkraken.dev site

Fixed

  • Fixes #3221 - Cannot use word "detached" in branch names
  • Fixes #3197 - Only emojify standalone emojis — thanks to PR #3208 by may (@m4rch3n1ng)
  • Fixes #3180 - Focus View feedback button is not working
  • Fixes #3179 - The checkmarks in cherry pick are not displayed
  • Fixes #3249 - Error "Cannot read properties of null (reading 'map')
  • Fixes #3198 - Repository location in cloud workspace doesn't work when the repo descriptor does not contain a url
  • Fixes #3143 - File Annotation icon isn't themed according to the icons...

Version 14.9

Wednesday, March 6, 2024

The 14.9 release of GitLens brings improved reviewing of branch changes and new Anthropic Claude models along with general fixes and improvements.

Improved reviewing of Branch Changes

Two new commands were added to branches in the Commit Graph and views. The Compare with Common Base enables reviewing changes as if the selected branch were to be merged by comparing the common ancestor (merge base) with the current branch to the selected branch. Use the new Open All Changes with Common Base command to review the changes as if the selected branch were to be merged in the multi-diff editor.

Anthropic Claude Models

We've added support for Anthropic's Claude 3 Opus & Sonnet models for GitLens' experimental AI features. You can select these models from the GitLens: Switch AI Model command in the Command Palette. You can then use these models with the GitLens: Generate Commit Message (Experimental)... command in the Command Palette or in the Explain (AI) panel of Commit Details and Cloud Patch Details views.

Added

  • Adds support for Anthropic's Claude 3 Opus & Sonnet models for GitLens' experimental AI features
  • Adds a Compare with Common Base command to branches in the Commit Graph and views to review the changes if the selected branch were to be merged by comparing the common ancestor (merge base) with the current branch to the selected branch
  • Adds an Open All Changes with Common Base command to branches in the Commit Graph and views to review the changes if the selected branch were to be merged in the multi-diff editor
  • Adds a Stash All Changes command to Source Control repository toolbar (off by default)
  • Adds the repository name as a prefix to worktree name when adding to the current workspace
  • Adds a better message when stashing only untracked files without including untracked files

Changed

  • Re-adds Add to Workspace option when creating a worktree — closes #3160
  • Changes Commit Graph date style to default to the default date style — refs #3153
  • Renames the Compare Ancestry with Working Tree command on branches to Compare Common Base with Working Tree for better clarity
  • Improves File Blame annotations performance and layout accuracy with certain character sets
  • Improves string formatting performance

Fixed

  • Fixes #3146 - Search & Compare fails to remember items after restart
  • Fixes #3152 - Fixes double encoding of redirect URLs during account sign-in which affects certain environments
  • Fixes #3153 - gitlens.defaultDateStyle not working in Commit Details view
  • Fixes the Open Pull Request Changes & Compare Pull Request commands to scope the changes only to the pull request
  • Fixes broken Compare Common Base with Working Tree (previously Compare Ancestry with Working Tree)
  • Fixes issue when switching to a worktree via branch switch when there are multiple repos in the workspace

Version 14.8

Thursday, February 8, 2024

The 14.8 release of GitLens features several enhancements to make it easier to use worktrees, view diffs and pull-requests, and includes enterprise improvements for Cloud Patches.

Worktree Workflow Improvements `PRO`

We've improved and streamlined the process of creating and opening worktrees. This includes new options for creating a worktree when switching branches as well as skipping prompts for remote creating and just auto-adding them. We've also added a command for copying your current working changes to an existing worktree.

VS Code Multi-diff Support

VS Code's new multi-diff editor is out of experimental, so we've enabled it in our commands by default for VS Code 1.86 and above. The multi-diff editor allows you to view changes across multiple files in a single tab, instead of switching between tabs. This makes comparing a set of changes across files much easier.

Cloud Patch Enterprise Storage ☁️

For Enterprise customers, there is now the option to host Cloud Patches on your own dedicated storage for maximum security. Your organization's admin can configure the self-managed storage at Security. When creating a Cloud Patch, GitLens will confirm they are being stored on your secure organization storage.

Thank you to our contributors

Shout-out to our awesome contributors for this release!

Added

  • Adds support for Cloud Patches hosted on your own dedicated storage for the highest level of security (requires an Enterprise plan)
  • Improves worktree usage, discoverability, and accessibility
  • Simplifies the create worktree and open worktree flows — reduces number of steps and options presented
  • Adds Create Branch in New Worktree confirmation option when creating branches, e.g. via the GitLens: Git Create Branch... command
  • Adds Create Worktree for Branch, Create Worktree for Local Branch, and Create Worktree for New Local Branch confirmation options when switching branches, e.g. via the GitLens: Git Switch to... command
  • Adds a Copy Working Changes to Worktree... command to the Commit Graph and command palette to copy the current working changes to an existing worktree
  • Avoids prompt to add a (required) remote and instead auto-adds the remote during worktree creation from a pull request
  • Adds ability to open multiple changes in VS Code's new multi-diff editor, previously experimental and now enabled by default
  • Adds an inline Open All Changes command to commits, stashes, and comparisons in the views
  • Changes Open All Changes & Open All Changes with Working Tree commands to use the new multi-diff editor when enabled
  • Adds Open All Changes, Individually & Open All Changes with Working Tree, Individually commands to provide access to the previous behavior
  • Renames the gitlens.experimental.openChangesInMultiDiffEditor setting to gitlens.views.openChangesInMultiDiffEditor, which is enabled by default, to specify whether to open changes in the multi-diff editor (single tab) or in individual diff editors (multiple tabs)
  • Requires VS Code 1.86 or later, or VS Code 1.85 with multiDiffEditor.experimental.enabled enabled
  • Adds new comparison features to pull requests in GitLens views
  • Adds an Open Pull Request Changes context menu command on pull requests in the Commit Graph and other GitLens views to view pull request changes in a multi-diff editor (single tab)
  • Requires VS Code 1.86 or later, or VS Code 1.85 with multiDiffEditor.experimental.enabled enabled
  • Adds a Compare Pull Request context menu command on pull requests in the Commit Graph and other GitLens views to open a comparison between the head and base of the pull request for easy reviewing
  • Adds an Open in Commit Graph context menu command on pull requests in GitLens view to open the tip commit in the Commit Graph
  • Adds ability to copy changes, commits, stashes, and comparison as a patch to the clipboard
  • Adds a Copy as Patch context menu command on files, commits, stashes, and comparisons in GitLens views
  • Adds a Copy as Patch context menu command on files in the Changes and Staged Changes groups as well as the groups themselves in the Source Control view
  • Adds a Apply Copied Patch command in the command palette to apply a patch from the clipboard
  • Adds an Open All Changes inline button to branch status (upstream) and branch status files in GitLens views
  • Adds an Open Changes submenu to branch status (upstream) and branch status files in GitLens views
  • Adds ability to preserve inline and file annotations while editing, previously experimental and now enabled by default
  • Renames the gitlens.experimental.allowAnnotationsWhenDirty setting to gitlens.fileAnnotations.preserveWhileEditing, which is enabled by default, to specify whether file annotations will be preserved while editing — closes #1988, #3016
  • Use the existing gitlens.advanced.blame.delayAfterEdit setting to control how long to wait (defaults to 5s) before the annotation will update while the file is still dirty, which only applies if the file is under the gitlens.advanced.sizeThresholdAfterEdit setting threshold (defaults to 5000 lines)
  • Adds an Open File Annotation Settings command to the File Annotations submenu in the editor toolbar to open the GitLens Settings editor to the file annotations sections
  • Adds gitlens.blame.fontFamily, gitlens.blame.fontSize, gitlens.blame.fontWeight settings to specify the font (family, size, and weight respectively) of the File Blame annotations — closes #3134
  • Adds Copy Link to Code, Copy Link to File, and Copy Link to File at Revision... commands to the Share submenu in the editor line number (gutter) context menu
  • Adds an alternate flow (pick another file) when using the Open File at Revision... and Open Changes with Revision... commands to open a file that has been renamed and the rename is currently unstaged — closes #3109
  • Adds access to most Git Command Palette commands directly to the command palette
  • Adds Rename Stash... options to stash quick pick menus
  • Adds support for the latest GPT-4 Turbo models

Changed

  • Changes adds avatars to commits in quick pick menus
  • Changes the pull request to be first item in the Commits view, when applicable
  • Changes the branch comparison to be below the branch status in the Commits view to keep top focus on the status over the comparison
  • Renames "Open Worktree for Pull Request via GitLens..." to "Checkout Pull Request in Worktree (GitLens)..."
  • Renames the gitlens.experimental.openChangesInMultiDiffEditor setting to gitlens.views.openChangesInMultiDiffEditor as it is no longer experimental and enabled by default

Fixed

  • Fixes #3115 - Always-on file annotations
  • Fixes ahead/behind diffs on files (root) in the Commits view to correctly show the diff of the range rather than the base to the working tree
  • Fixes missing repository icons in the Repositories view
  • Fixes #3116 - Fix typos in README.md and package.json — thanks to PR #3117 by yutotnh (@yutotnh)

Version 14.7

Wednesday, January 16, 2024

With GitLens 14.7, we're kicking off 2024 with some bugfixes and some new features for Cloud Patches and Deep Links, and more.

Cloud Patch Collaboration ☁️

You can now add members of your GitKraken organization as collaborators on cloud patches you created or maintain as an admin. To invite a collaborator, click on one of your cloud patches in the Cloud Patches view to open its patch details, and then click on the Invite button. You can then select one or more members of your organization to add as collaborators on the patch. Once selected, you can choose a role for each collaborator, and click Update Patch when done to finish adding collaborators.

Cloud patches you've been invited to as a collaborator appear under the Shared with Me category in the Cloud Patches view.

You can now create (and use) deep links to files and code in GitLens. Create links to files using the new Copy Link to File and Copy Link to File at Revision... commands in the Copy As submenu of the editor context menu and in the Share submenu of files in GitLens views.

If you have code selected in an editor tab, you'll also have the option to link to the selected lines using the new Copy Link to Code command in the Copy As submenu of that tab's context menu.
Use or share these links to quickly and easily open the referenced file or code in an editor tab.

Thank you to our contributors

Shout-out to our awesome contributors for this release!

Added

  • Adds the ability to share Cloud Patches with specific members of your GitKraken organization
  • You can now share Cloud Patches exclusively with specific members of your organization by selecting Collaborators Only when viewing or creating a Cloud Patch
  • Click the Invite button at the bottom of the Patch Details view to add members of your organization to collaborate and click Update Patch to save your changes
  • Cloud Patch collaborators will see these Patches under the Shared with Me section of the Cloud Patches view
  • Adds support for deep links to files and code
  • Deep link format: https://gitkraken.dev/link/r/{repoId}/f/{filePath}?[url={remoteUrl}|path={repoPath}]&lines={lines}&ref={ref}
  • Adds Copy Link to File, Copy Link to File at Revision..., and Copy Link to Code commands to the Copy As submenu in the editor context menu and to the Share submenu of files in GitLens views
  • Adds the ability to choose multiple stashes to drop in the Git Command Palette's stash drop command — closes #3102
  • Adds a new prune subcommand to the Git Command Palette's branch command to easily delete local branches with missing upstreams
  • Adds a new Push Stash Snapshot confirmation option to the Git Command Palette's stash push command to save a stash without changing the working tree
  • Adds Copy to search results in the Search & Compare view to copy the search query to more easily share or paste queries into the Commit Graph
  • Adds a status bar indicator when blame annotations (inline, statusbar, file annotations, etc) are paused because the file has unsaved changes (dirty), with a tooltip explaining why and how to configure/change the behavior
  • Adds an experimental gitlens.experimental.allowAnnotationsWhenDirty setting to specify whether file annotations are allowed on files with unsaved changes (dirty) — closes #1988, #3016
  • Use the existing gitlens.advanced.blame.delayAfterEdit setting to control how long to wait (defaults to 5s) before the annotation will update while the file is still dirty, which only applies if the file is under the gitlens.advanced.sizeThresholdAfterEdit setting threshold (defaults to 5000 lines)
  • Adds a gitlens.fileAnnotations.dismissOnEscape setting to specify whether pressing the ESC key dismisses the active file annotations — closes #3016

Changed

  • Changes the commit search by file to allow some fuzziness by default — closes #3086
  • For example, if you enter file:readme.txt, we will treat it as file:**/readme.txt, or if you enter file:readme it will be treated as file:*readme*
  • Improves the Switch command to no longer fail when trying to switch to a branch that is linked to another worktree and instead offers to open the worktree
  • Changes branch/tag "tips" that are show on commits in many GitLens views to be truncated to 11 characters by default to avoid stealing to much real estate

Fixed

  • Fixes #3087 - Terminal executed commands fail if the GitLens terminal is closed
  • Fixes #2784 - Git stash push error
  • Fixes #2926 in more cases - "Open File at Revision" has incorrect editor label if revision contains path separator — thanks to PR #3060 by Ian Chamberlain (@ian-h-chamberlain)
  • Fixes #3066 - Editing a large file and switching away to another file without saving causes current line blame to disappear; thanks to PR #3067 by Brandon Cheng (@gluxon)
  • Fixes #3063 - Missing icons in GitLens Settings UI
  • Fixes issue with Switch command not honoring the confirmation setting
  • Fixes worktree delete from offering to delete main worktree (which isn't possible)
  • Fixes worktree delete on windows when the worktree's folder is missing

Removed

  • Removes the gitlens.experimental.nativeGit setting as it is now the default experience — closes #3055

Version 14.6

Wednesday, December 13, 2023

GitLens 14.6 marks our last release of 2023 and with it some great enhancements to Cloud Patches, Focus View and much more!

Cloud Patch Sharing Options ☁️

Users can now specify who can access shared Cloud Patches, choosing between anyone with a link or only members of your GitKraken organization with the link.

Coming soon is the ability to explicitly select individuals from your organization as collaborators. Cloud Patches explicitly shared to you, i.e. you are a collaborator, will appear in the Cloud Patches view under "Shared with Me".

Note: If you have multiple organizations, you can easily switch between them from the GitKraken Account view.

Focus View Timed Snoozing

The focus view now supports timed snoozing of items. Select a duration like 1 hour or 4 hours when snoozing a focus item and then that item will automatically move back when the time expires.

Experimental Multi-diff Editor

You can now open changes in VS Code's new multi-diff editor. This requires VS Code 1.85 or later with the multiDiffEditor.experimental.enabled and gitlens.experimental.openChangesInMultiDiffEditor settings enabled.

Commands using Multi-diff

  • Open Folder Changes with Revision... and Open Folder Changes with Branch or Tag... commands using the Command Palette as well as the Explorer and Source Control views
  • An inline Open All Changes command for commits, stashes, and comparisons in the views
  • Open All Changes and Open All Changes with Working Tree will use the new multi-diff editor when enabled

Note: Open All Changes, Individually and Open All Changes with Working Tree, Individually commands were added to provide access to the previous behavior.

Thank you to our contributors

Shout-out to our awesome contributor for this release!

Added

  • Adds the ability to specify who can access a Cloud Patch when creating it
  • Anyone with the link — allows anyone with the link and a GitKraken account to access the Cloud Patch
  • Members of my Org with the link — allows only members of your selected GitKraken organization with the link to access the Cloud Patch
  • (Coming soon to GitLens) Ability to explicitly share to specific members from your organization and add them as collaborators on a Cloud Patch
  • Cloud Patches that have been explicitly shared with you, i.e. you are a collaborator, now will appear in the Cloud Patches view under Shared with Me
  • Adds timed snoozing for items in the Focus View — choose from a selection of times when snoozing and the item will automatically move out of the snoozed tab when that time expires
  • Adds the ability to open folder changes — closes #3020
  • Adds Open Folder Changes with Revision... & Open Folder Changes with Branch or Tag... commands to the Command Palette and to the Explorer and Source Control views
  • Requires VS Code 1.85 or later and multiDiffEditor.experimental.enabled to be enabled
  • Adds last modified time of the file when showing blame annotations for uncommitted changes
  • Adds search results to the minimap tooltips on the Commit Graph
  • Adds support for Anthropic's Claude 2.1 model for GitLens' experimental AI features
  • Adds a status indicator when the upstream branch is missing in Commits view
  • Adds support for opening renamed/deleted files using the Open File at Revision... & Open File at Revision from... commands by showing a quick pick menu if the requested file doesn't exist in the selected revision — closes #708 thanks to PR #2825 by Victor Hallberg (@mogelbrod)
  • Adds an Open Changes submenu to comparisons in the Search & Compare view
  • Adds experimental gitlens.experimental.openChangesInMultiDiffEditor setting to specify whether to open multiple changes in VS Code's experimental multi-diff editor (single tab) or in individual diff editors (multiple tabs)
  • Adds an inline Open All Changes command to commits, stashes, and comparisons in the views
  • Changes Open All Changes & Open All Changes with Working Tree commands to use the new multi-diff editor when enabled
  • Adds Open All Changes, Individually & Open All Changes with Working Tree, Individually commands to provide access to the previous behavior
  • Requires VS Code 1.85 or later and multiDiffEditor.experimental.enabled to be enabled
  • Adds a confirmation prompt when attempting to undo a commit with uncommitted changes
  • Adds a [Show|Hide] Merge Commits toggle to the Contributors view
  • Adds Open in Integrated Terminal command to repositories in the views — closes #3053
  • Adds Open in Terminal & Open in Integrated Terminal commands to the upstream status in the Commits view
  • Adds the ability to choose an active GitKraken organization in the Account View for users with multiple GitKraken organizations.

Changed

  • Improves AI model choice selection for GitLens' experimental AI features
  • Improves performance when logging is enabled
  • Changes the contextual view title from GL to GitLens

Fixed

  • Fixes #2663 - Debounce bug: file blame isn't cleared when editing document while text in output window changes
  • Fixes #3050 - Opening revision of a renamed file is broken
  • Fixes #3019 - Commits Views not working
  • Fixes #3026 - Gitlens stopped working in sub-repositories
  • Fixes #2746 - Remove 'undo commit' command from gitlens inspect
  • Fixes #2482 - Unresponsive "commits" view and "branches" view update due to git log
  • Fixes duplicate entries in the Search & Compare view when adding a new comparison from outside the view and before the view has loaded
  • Fixes Load more in the File History view when the file has been renamed
  • Fixes broken Open Changed & Close Unchanged Files (gitlens.views.openOnlyChangedFiles) command in the views
  • Fixes issues with Contributors view updating when changing toggles
  • Fixes issues with Open [Previous] Changes with Working File command in comparisons
  • Fixes banner styling on the Commit Graph

Version 14.5

Monday, November 13, 2023

GitLens 14.5 features the all new Cloud Patches preview ☁️, which allows you to easily share changes with other developers by creating a Cloud Patch from your WIP, commit or stash and sharing the generated link with your teammates. Other notable enhancements include opening multiple tabs of Commit Graph & Focus.

Cloud Patches preview ☁️

Cloud Patches aim to shift developer collaboration earlier in the process for faster feedback, cleaner pull requests, and overcoming tricky code challenges as a team. Create Cloud Patches from working changes, commits, stashes, or comparisons — then share the patch URL with others to get feedback and iterate on the changes together. It is currently available across GitLens, GitKraken Desktop, and GitKraken CLI, with plans to add commenting and more capabilities soon.

Open Multiple Commit Graph & Focus Tabs

Open multiple instances of the Commit Graph, Focus, and Visual File History views, side-by-side, to look at multiple repositories at once or just different visualizations of the same repository.

Thank you to our contributors

Shout-out to all of our awesome contributors for this release!

Added

  • Adds a preview of Cloud Patches, an all-new ☁️ feature — engage in early collaboration before the pull request:
  • Share your work with others by creating a Cloud Patch from Working Changes, Commits, Stashes or Comparisons
  • View Cloud Patches from URLs shared to you and apply them to your working tree or to a new or existing branch
  • Manage your Cloud Patches from the new Cloud Patches view in the GitLens side bar
  • Adds a Share as Cloud Patch... command to the command palette and to the Share submenu in applicable GitLens views
  • Adds a gitlens.cloudPatches.enabled setting to specificy whether to enable Cloud Patches (defaults to true)
  • Adds support to open multiple instances of the Commit Graph, Focus, and Visual File History in the editor area
  • Adds a Split Commit Graph command to the Commit Graph tab context menu
  • Adds a gitlens.graph.allowMultiple setting to specify whether to allow opening multiple instances of the Commit Graph in the editor area
  • Adds a Split Focus command to the Focus tab context menu
  • Adds a gitlens.focus.allowMultiple setting to specify whether to allow opening multiple instances of the Focus in the editor area
  • Adds a Split Visual File History command to the Visual File History tab context menu
  • Adds a gitlens.visualHistory.allowMultiple setting to specify whether to allow opening multiple instances of the Visual File History in the editor area
  • Adds a Generate Commit Message (Experimental) button to the SCM input when supported (currently 1.84.0-insider only)
  • Adds a gitlens.ai.experimental.generateCommitMessage.enabled setting to specify whether to enable GitLens' experimental, AI-powered, on-demand commit message generation — closes #2652
  • Improves the experience of the Search Commits quick pick menu
  • Adds a stateful authors picker to make it much easier to search for commits by specific authors
  • Adds a file and folder picker to make it much easier to search for commits containing specific files or in specific folders
  • Adds ability to sort repositories in the views and quick pick menus — closes #2836 thanks to PR #2991
  • Adds a gitlens.sortRepositoriesBy setting to specify how repositories are sorted in quick pick menus and views by Aidos Kanapyanov (@aidoskanapyanov)
  • Adds a [Show|Hide] Merge Commits toggle to the Commits_ view — closes #1399 thanks to PR #1540 by Shashank Shastri (@Shashank-Shastri)
  • Adds a Filter Commits by Author... commands to the Commits view and comparisons context menus to filter commits in the Commits view by specific authors
  • Adds ability to publish to a remote branch to a specific commit using the Push to Commit command
  • Adds an Open Comparison on Remote command to comparisons in views
  • Adds a Share > Copy Link to Repository command on branches in the views
  • Adds Share > Copy Link to Branch and Share > Copy Link to Repository commands on the current branch status in the Commits view
  • Adds a Clear Reviewed Files command to comparisons to clear all reviewed files — closes #2987
  • Adds a Collapse command to many view nodes
  • Adds a gitlens.liveshare.enabled setting to specify whether to enable integration with Visual Studio Live Share

Changed

  • Improves accuracy, performance, and memory usage related to parsing diffs, used in Changes hovers, Changes file annotations, etc
  • Improves confirmation messaging in the Git Command Palette
  • Refines merge/rebase messaging when there is nothing to do — refs #1660
  • Improves view messaging while loading/discovering repositories
  • Honors VS Code's git.useForcePushWithLease and git.useForcePushIfIncludes settings when force pushing
  • Changes File Heatmap annotations to not color the entire line by default. Want it back, add line to the gitlens.heatmap.locations setting

Fixed

  • Fixes #2997 - "push to commit" pushes everything instead of up to the selected commit
  • Fixes #2615 - Source Control views disappear after opening a file beyond a symbolic link
  • Fixes #2443 - UNC-PATH: File History changes not displaying any changes when open
  • Fixes #2625 - full issue ref has escape characters that break hover links
  • Fixes #2987 - Unable to remove all marks on reviewed files with a single operation
  • Fixes #2923 - TypeError: Only absolute URLs are supported
  • Fixes #2926 - "Open File at Revision" has incorrect editor label if revision contains path separator
  • Fixes #2971 - [Regression] The branch column header text disappears when you have a hidden ref
  • Fixes #2814 - GitLens Inspect: "Files Changed" not following when switching between commits in File History
  • Fixes #2952 - Inline blame not working because of missing ignoreRevsFile
  • Fixes issue where Changes hovers and Changes file annotations sometimes weren't accurate
  • Fixes intermittent issue where inline blame and other revision-based editor features are unavailable when repository discovery takes a bit
  • Fixes intermittent issues where details sometimes get cleared/overwritten when opening the Commit Details view
  • Fixes issue when clicking on commits in the Visual File History to open the Commit Details view
  • Fixes issue opening stashes in the Commit Details view from the Stashes view
  • Fixes issue where GitHub/GitLab enriched autolinks could incorrectly point to the wrong repository
  • Fixes issue showing folder history in the File History view when there are uncommitted changes (staged or unstaged)
  • Fixes issue when pushing to a remote branch with different name than the local
  • Fixes tooltip styling/theming on the Commit Graph
  • Fixes issues staged files in repositories not "opened" (discovered) by the built-in Git extension

Version 14.4

Friday, October 13, 2023

GitLens 14.4 is here, featuring new enhancements to Focus View, the addition of Working Changes to Commit Details and Graph Details, and some performance improvements to Inline and Status Bar Blame.

Focus View Enhancements

Focus View now includes the ability to pin and snooze items. These options appear as clickable icons in the new snooze/pin column in the view. Pinned issues and pull requests will always show at the top of the list, while snoozed items will be hidden and moved to the new Snoozed section. To unsnooze an item, simply click on the Snoozed section header and select the unsnooze icon for that item in the pin/snooze column.

Working Changes Tab

Commit Details and Graph Details now include a separate Working Changes tab. This allows you to view your work-in-progress changes any time without losing context on your current selected change. The tab includes the ability to stage and unstage changes, open files to view changes, and open the changes in the Commit Graph and SCM view.

Inline and Status Bar Blame Performance Improvements

Inline blame and status bar blame now appear faster on hover. This performance improvement is especially notable when using connected remote integrations.

Added

  • Adds a Working Changes tab to the Commit Details and Graph Details views to show your working tree changes
  • Adds Stage Changes and Unstage Changes commands to files on the Working Changes tab
  • Adds a [Show|Hide] Merge Commits toggle to the File History view — closes #2104 & #2944
  • Adds a gitlens.advanced.fileHistoryShowMergeCommits setting to specify whether merge commits will be show in file histories
  • Adds deep link support for workspaces in the GitKraken Workspaces view
  • Deep link format: https://gitkraken.dev/link/workspaces/{workspaceId}
  • Adds a Share submenu with a Copy Link to Workspace command to workspaces in the GitKraken Workspaces view

Changed

  • Improves performance of inline blame, status bar blame, and hovers especially when working with remotes with connected integrations
  • Changes the File History view to follow renames and filters out merge commits by default — closes #2104 & #2944
  • Changes the File History view to allow following renames while showing history across all branches (which was a previous limitation of Git) — closes #2828
  • Changes to use our own implementation of fetch, push, and pull Git operations, rather than delegating to VS Code to avoid limitations especially with GitKraken Workspaces. Please report any issues and you can revert this (for now) by setting "gitlens.experimental.nativeGit" to "false" in your settings
  • Relaxes PR autolink detection for Azure DevOps to use PR instead of Merged PR — closes #2908
  • Changes wording on Reset Stored OpenAI Key command to Reset Stored AI Key to reflect support for other providers

Fixed

  • Fixes #2941 - Invalid Request when trying to generate a commit message using Anthropic API
  • Fixes #2940 - Can't use Azure OpenAI model because i can't save the openai key because of the verification
  • Fixes #2928 - Apply Changes should create new files when needed
  • Fixes #2896 - Repositories view stuck in loading state
  • Fixes #2460 - Gitlens Remote provider doesn't work properly in "Commit graph" view
  • Fixes issue with "View as [List|Tree]" toggle not working in the Commit Details view
  • Fixes an issue with deep links sometimes failing to properly resolve when a matching repository without the remote is found
  • Fixes an issue in the Commit Graph where commits not in the history of a merge commit were showing in the same column
  • Fixes Reset Stored AI Key command to work for the current provider
  • Fixes an issue with parsing some renames in log output

Version 14.3

Thursday, September 7, 2023

This release focuses on quality of life improvements to the Commit Graph, Search & Compare, and File History as well bug fixes around the deep links and viewing diffs.

Commit Graph Improvements

You can now have a Commit Graph in the bottom Panel and one in the Editor Area open at the same time. This enables viewing more than repo at a time or different areas of the same repo at the same time.

Additionally, you can also set a preference for which mode to use by default, which you can set from the gear icon on the Commit Graph or by adding gitlens.graph.layout in settings. GitLens: Show Commit Graph from the command palette will honor that preference.

Search & Compare Review Checkboxes

From the Search & Compare, you now have checkboxes next to each files to help keep track of files you've reviewed. This was an long sought after request by the community, you asked and we delivered!

Thank you to our contributors

Shout-out to our awesome contributor for this release!

Added

  • Adds checkboxes to files in the Search & Compare view to allow for tracking review progress — closes #836
  • Allows the Commit Graph to be open in the panel and in the editor area simultaneously
  • Adds an Open Changes button to commits in the file history quick pick menu — closes #2641 thanks to PR #2800 by Omar Ghazi (@omarfesal)

Changed

  • Changes the gitlens.graph.layout setting to be a default preference rather than a mode change

Fixed

  • Fixes #2885 - Folder History not show changed files of commit
  • Fixes issues with opening changes (diffs) of renamed files
  • Fixes issues with deep links including when opening VS Code from the deep link

Version 14.2

Friday, August 4, 2023

GitLens 14.2 arrives with a few hotly-requested improvements to the Focus View for even greater productivity in your daily workflow.

Focus View

The Focus View has been improved with a new unified experience and includes a few new features to help you navigate pull requests and issues.

Pull Requests and Issues have now been combined into a single view with tabs to quickly toggle between showing all items, pull requests, or issues only.

You can also click on a branch name to show the branch on the Commit Graph, and if you don't already have a remote configured for that branch you'll be guided to add it.

Furthermore, we've added a search bar to the Focus View to help you quickly find pull requests or issues by their title.

Thank you to our contributors

Shout-out to all of our awesome contributors for this release!

Added

  • Improves the Focus view experience
  • Unifies pull requests and issues into a single view
  • Adds tabs to switch between showing Pull Requests, Issues, or All
  • Adds a filter/search box to quickly find pull request or issues by title
  • Adds ability to click on a branch name to show the branch on the Commit Graph
  • Adds a new command Open Changed & Close Unchanged Files... to the command palette, the context menu of the Commit Graph work-in-progress (WIP) row, and the SCM group context menu to open all changed files and close all unchanged files.
  • Adds a new command Reset Current Branch to Tip... to branch context menus in the Commit Graph and in GitLens views to reset the current branch to the commit at the chosen branch's tip.

Changed

  • Changes Compact Graph Column Layout context menu command to Use Compact Graph Column for better clarity
  • Changes Default Graph Column Layout context menu command to Use Expanded Graph Column for better clarity
  • Improves remote parsing for better integration support for some edge cases

Fixed

  • Fixes #2823 - Handle stdout/stderr Buffers in shell run() — thanks to PR #2824 by Victor Hallberg (@mogelbrod)
  • Fixes issues with missing worktrees breaking the Worktrees view and Worktree quick pick menus

Version 14.1

Thursday, July 13, 2023

We're delighted to introduce GitLens 14.1. We've enhanced integration between GitKraken Cloud and VS Code workspaces. You can now link a GitKraken Cloud workspace and VS Code workspace and GitLens can automatically update your VS Code workspace when new repositories are added to its linked counterpart.
Additionally, we've added deep link support for comparisons in the Search & Compare view, coupled with a new Copy Link to Comparison command in a new Share submenu, streamlining review and collaboration.

We've also added support for Anthropic's new Claude 2 model for use with our experimental AI features. You can switch to it using the Switch AI Model command from the Command Palette.

Workspace Linking

When you create a VS Code workspace from a GitKraken Cloud workspace, the two are now linked. You can open a linked VS Code workspace from its cloud workspace using the new Open VS Code Workspace in New Window option (hold alt to open in the current window).

When repositories are added to a GitKraken Cloud workspace, you can automatically add those repositories to its linked VS Code workspace when that workspace is opened. You can choose to automatically add new repositories, be prompted to add them, or disable auto-adding repositories altogether for that workspace. You'll be prompted to choose your desired behavior when creating the VS Code workspace, but it can also be changed at any time via the Change Linked Workspace Auto-Add Behavior... context menu command on the Current Window item or its linked workspace in the GitKraken Workspaces view.

You can also manually add repositories to the VS Code workspace at any time using the new Add Repositories from Linked Workspace... context menu command.

You can now deep link directly into comparisons in the Search & Compare view. This includes comparisons between branches, tags, and commits. You can also copy a deep link to a comparison to your clipboard using the new Copy Link to Comparison context menu command on the Share submenu.

Thank you to our contributors

Shout-out to all of our awesome contributors for this release!

Added

  • Adds the ability to link a GitKraken Cloud workspace with an associated VS Code workspace
  • Adds ability to automatically add repositories to the current VS Code workspace that were added to its associated GitKraken Cloud workspace, if desired
  • Adds a Change Linked Workspace Auto-Add Behavior... context menu command on the Current Window and linked workspace to control the desired behavior
  • Adds an Add Repositories from Linked Workspace... context menu command on the Current Window item to trigger this manually
  • Adds a new Open VS Code Workspace command to open an existing VS Code workspace associated with a GitKraken Cloud workspace
  • Adds a highlight (green) to the linked GitKraken Cloud workspace when the current VS Code workspace is associated with it in the GitKraken Workspaces view
  • Adds deep link support for comparisons in the Search & Compare view
  • Deep link format: vscode://eamodio.gitlens/r/{repoId}/compare/{ref1}[..|...]{ref2}?[url={remoteUrl}|path={repoPath}]
  • Adds a Share submenu with a Copy Link to Comparison command to comparisions in the Search & Compare view
  • Adds support for Anthropic's Claude 2 AI model
  • Adds a progress notification while repositories are being added to a GitKraken Cloud workspace

Changed

  • Improves scrolling performance on the Commit Graph
  • Renames Convert to VS Code Workspace to Create VS Code Workspace for workspaces in the GitKraken Workspaces view to better reflect the behavior of the action
  • Hides Create VS Code Workspace and Locate All Repositories commands on empty workspaces in the GitKraken Workspaces view

Fixed

  • Fixes #2798 - Improve response from OpenAI if key used is tied to a free account
  • Fixes #2785 - Remote Provider Integration URL is broken — thanks to PR #2786 by Neil Ghosh (@neilghosh)
  • Fixes #2791 - Unable to use contributors link in README.md — thanks to PR #2792 by Leo Dan Peña (@leo9-py)
  • Fixes #2793 - Requesting username change in contributors README page — thanks to PR #2794 by Leo Dan Peña (@leo9-py)
  • Fixes some rendering issues when scrolling in the Commit Graph
  • Fixes an issue with some shared workspaces not showing up in the GitKraken Workspaces view when they should
  • Fixes an issue when adding repositories to a workspace in the GitKraken Workspaces view where the added repository would show as missing until refreshing the view

Version 14.0 — GitLens Reimagined

Wednesday, June 14, 2023

We're thrilled to announce the release of GitLens 14 with a reimagined GitLens experience! We restructured our views layout to better enhance productivity and focus by grouping views contextually, giving you easy access to the right information when you need it. The commit graph has been moved to the (bottom) panel, providing convenient and persistent access to the graph and its details. We've also rethought and rebuilt our Welcome and Walkthrough as well as the Home view to provide a friendlier onboarding experience.

The power of GitKraken Workspaces now in GitLens. Workspaces are an easy way to work with and manage multiple repositories and include the ability to convert to and from a VS Code workspace, with further improvements coming soon. Create workspaces just for yourself or share (coming soon to GitLens) them with your team for faster onboarding and better collaboration.

New Views layout

We've grouped views contextually and introduced GitLens Inspect, giving you easy access to the right information when you need it. We've moved some of our views from their previous home, in Source Control, into either the GitLens or the new GitLens Inspect side bar.

GitLens Inspect side bar

The all-new GitLens Inspect is like an x-ray or developer tools inspector into your code, which focuses on providing contextual information and insights to what you're actively working on.

Views include:

  • Commit Details
  • Line History
  • File History
  • Visual File History
  • Search & Compare

Pro tip: you can drag the entire GitLens Inspect Side Bar onto your secondary Side Bar, without needing to arrange views on-by-one.

GitLens side bar

We've re-focused this to be the home of GitKraken services (e.g. GitKraken Workspaces) as well as discovery, help, and support.

Views include:

  • Home view
  • GitKraken Workspaces
  • GitKraken Account

Source Control side bar

We've slimmed down this side bar to only contain views that are focused on your repositories.

Views include:

  • Commits
  • Branches
  • Remotes
  • Stashes
  • Tags
  • Worktrees
  • Contributors
  • Repositories (hidden by default)

(Bottom) Panel

The new home for the Commit Graph, providing convenient and easy access to the graph and the new Commit Graph Details view.

Views include:

  • Commit Graph
  • Commit Graph Details

Pro tip: You can toggle the Commit Graph between Panel and Editor layouts by clicking the "cog" icon on the upper right corner of the Graph view.
Pro tip 2: When the Commit Graph is in the Panel Layout, you can quickly toggle it via the new Toggle Commit Graph and Toggle Maximized Commit Graph commands.

Adopting the new views layout

Unless you opt into the new layout, which we recommend, your existing views will stay where they are. You can opt in at any time from Reset Views Layout in the Command Palette.

New Onboarding Experience

The rebuilt welcome goes beyond quick settings and now includes overviews of important features as well as bringing better visibility to the views and functionality GitLens offers. Along the same lines, we consolidated and streamlined our walkthroughs.

Also, we've made significant changes to the home view, with the help of your feedback, to refocus on quick access and discovery of many GitLens features.

☁️ GitKraken Workspaces

GitKraken Workspaces are a convenient way to group and manage multiple repositories. Cloud workspaces store the metadata of the grouped repositories and can be accessed across machines and GitKraken products. They can easily be imported into or created from VS Code workspaces.

Please note that while using cloud workspaces requires a free account, shared cloud workspaces, which are shared between GitKraken organizations and teams, require a trial or plan. Shared Workspaces functionality is coming soon to GitLens.

Workspaces can be accessed in the new GitKraken Workspaces view in the GitLens side bar.

Commit Graph Enhancements `PRO`

We’ve greatly improved the ease of access to the Commit Graph as well as additional change information and easy-to-use customization options.

New Home in (Bottom) Panel

The Commit Graph has moved into the (bottom) panel, providing convenient and persistent access to the graph and its details. If you prefer the Graph in the editor area, you can toggle between Panel and Editor layouts by clicking the "cog" icon on the upper right corner of the Graph view.

Minimap and Markers

The Minimap which shows an overview of commit activity, previously an experimental feature, is now on by default. You can now toggle between 'lines changed' and 'commits' in the minimap display.

With both the Minimap and the Commit Graph scrollbar, you can toggle specific markers on and off, including local branch, remote branch, stash, and tag markers. For the minimap, use the split minimap button, and for the scrollbar use the Scroll Markers submenu from the "cog" icon at the top of the scrollbar.

New Column and Column Layout

The Changes column, which shows the size of commit changes, is now visible by default. The column now also includes a count of the changed files, helping you quickly grasp the scale of each change.

Reset your columns between the Default and the new Compact set via the context menu on the graph column headers, making it easy to toggle into a more minimal experience.

Added

  • Adds an all-new Welcome experience to quickly get started with GitLens and discover features — even if you are familiar with GitLens, definitely check it out!
  • Adds a new streamlined Get Started with GitLens walkthrough
  • Adds an all-new Home view for quick access to GitLens features and GitKraken Account for managing your account
  • Adds a new reimagined views layout — see discussion #2721 for more details
  • Rearranges the GitLens views for greater focus and productivity, including the new GitLens Inspect and moved some of our views from Source Control into either GitLens or GitLens Inspect.
  • Adds a new GitLens Inspect activity bar icon focuses on providing contextual information and insights to what you're actively working on
  • Adds a Reset Views Layout command to reset all the GitLens views to the new default layout
  • Adds an all-new GitKraken Workspaces ☁️ feature as a side bar view, supporting interaction with local and cloud GitKraken workspaces, lists of repositories tied to your account.
  • Create, view, and manage repositories on GitKraken cloud workspaces, which are available with a GitKraken account across the range of GitKraken products
  • Automatically or manually link repositories in GitKraken cloud workspaces to matching repositories on your machine
  • Quickly create a GitKraken cloud workspace from the repositories in your current window
  • Open a GitKraken cloud workspace as a local, persisted, VS Code workspace file (further improvements coming soon)
  • Open a cloud workspace or repository in a new window (or your current window)
  • See your currently open repositories in the Current Window section
  • Explore and interact with any repository in a GitKraken cloud workspace, some actions are currently limited to repositories which are open in your current window — ones highlighted in green
  • (Coming soon) Share your GitKraken cloud workspaces with your team or organization
  • Adds new Commit Graph PRO features and improvements
  • Makes the Panel layout the default for easy access to the Commit Graph with a dedicated details view
  • Adds two new options to the graph header context menu
  • Reset Columns to Default Layout - resets column widths, ordering, visibility, and graph column mode to default settings
  • Reset Columns to Compact Layout - resets column widths, ordering, visibility, and graph column mode to compact settings
  • Adds a Toggle Commit Graph command to quickly toggle the graph on and off (requires the Panel layout)
  • Adds a Toggle Maximized Commit Graph command to maximize and restore the graph for a quick full screen experience (requires the Panel layout)
  • Enables the Minimap by default, as its no longer experimental, to provide a quick overview of of commit activity above the graph
  • Adds ability to toggle between showing commits vs lines changed in the minimap (note: choosing lines changed requires more computation)
  • Adds a legend and quick toggles for the markers shown on the minimap
  • Defers the loading of the minimap to avoid impacting graph performance and adds a loading progress indicator
  • Adds a gitlens.graph.minimap.enabled setting to specify whether to show the minimap
  • Adds a gitlens.graph.minimap.dataType setting to specify whether to show commits or lines changed in the minimap
  • Adds a gitlens.graph.minimap.additionalTypes setting to specify additional markers to show on the minimap
  • Makes the Changes column visible by default (previously hidden)
  • Defers the loading of the Changes column to avoid impacting graph performance and adds a loading progress indicator to the column header
  • Adds a changed file count in addition to the changed lines visualization
  • Improves the rendering of the changed line visualization and adds extra width to the bar for outlier changes so that they stand out a bit more
  • Adds an Open Repo on Remote button to left of the repo name in the graph header
  • Improves contextual help on the search input as you type
  • Improves tooltips on Branch/Tag icons to be more uniform and descriptive
  • Adds new context menu options to the Commit Graph Settings (cog, above the scrollbar) to toggle which scroll marker to show
  • Improves alignment of scroll markers on the scrollbar, and adds a gap between the last column and the scrollbar
  • Adds the ability to choose which AI provider, OpenAI or Anthropic, and AI model are used for GitLens' experimental AI features
  • Adds a Switch AI Model command to the command palette and from the Explain (AI) panel on the Commit Details view
  • Adds a gitlens.ai.experimental.provider setting to specify the AI provider to use (defaults to openai)
  • Adds a gitlens.ai.experimental.openai.model setting to specify the OpenAI model (defaults to gpt-3.5-turbo) — closes #2636 thanks to PR #2637 by Daniel Rodríguez (@sadasant)
  • Adds a gitlens.ai.experimental.anthropic.model setting to specify the Anthropic model (defaults to claude-v1)
  • Adds expanded deep link support
  • Adds cloning, adding a remote, and fetching from the target remote when resolving a deep link
  • Adds deep linking to a repository with direct file path support
  • Adds the automatic restoration of all GitLens webviews when you restart VS Code
  • Adds ability to control encoding for custom remote configuration — closes #2336
  • Improves performance and rendering of the Visual File History and optimizes it for usage in the side bars
  • Adds a Full history option to the Visual File History — closes #2690
  • Adds a loading progress indicator
  • Adds Reveal in File Explorer command to repositories
  • Adds Copy SHA command to stashes
  • Adds new icons for virtual repositories

Changed

  • Changes header on GitLens Settings to be consistent with the new Welcome experience
  • Reduces the visual noise of currently inaccessible PRO features in the side bars
  • Performance: Improves rendering of large commits on the Commit Details view
  • Performance: Defers possibly duplicate repo scans at startup and waits until repo discovery is complete before attempting to find other repos
  • Security: Disables Git access in Restricted Mode (untrusted)
  • Security: Avoids dynamic execution in string interpolation

Fixed

  • Fixes #2728 - Submodule commit graph will not open in the panel layout
  • Fixes #2734 - 🐛 File History: Browse ... not working
  • Fixes #2671 - Incorrect locale information provided GitLens
  • Fixes #2689 - GitLens hangs on github.dev on Safari
  • Fixes #2680 - Git path with spaces is not properly quoted in the command
  • Fixes #2677 - Merging branch produces path error
  • Fixes an issue with comparison commands on File/Line History views
  • Fixes an issue with stale state on many webviews when shown after being hidden
  • Fixes an issue with fetch/push/pull on the Commit Graph header
  • Fixes an issue where Branch / Tag items on the Commit Graph sometimes wouldn't expand on hover
  • Fixes an issue where some command were showing up on unsupported schemes
  • Fixes an issue where the file/line history views could break because of malformed URIs

Version 13.6

Thursday, May 11, 2023

GitLens 13.6 brings a range of enhancements and additions to the Commit Graph and refinements to our context menus. We've made improvements to the layout, condensing author names and column titles into avatars and icons when sized to minimums, and added flexibility of rearranging and moving columns as desired. This allows for a more streamlined and personalized GitLens experience. We have also updated the Commit Graph's toolbar to dynamically show a Push or Pull action, depending on a branch's state in relation to its upstream remote.

Context Menu Updates

To improve structure and findability of our menu options, we’ve made several changes to our context menus. Many Copy Remote URL commands, which were previously in a Copy As submenu, have been moved to a Share submenu within GitLens views, which aligns with VS Code menus. And once microsoft/vscode#176316 lands we will move the rest of the Copy Remote URL commands into the appropriate Share submenu. This reorganization consolidates related commands and makes it easier to locate and utilize them.

Similarly, the Copy SHA and Copy Message commands, previously nested in submenus, have been promoted to the root of the context menu. This elevates their visibility and enables quick access for performing actions on commits. Additionally, the Copy Relative Path command has been relocated to the root of the context menu. These adjustments enhance convenience when working with file paths.

Commit Graph Enhancements `PRO`

We’ve made it easier to customize your Commit Graph experience as well as improvements for better readability when in compact layouts.

Compact Graph Improvements

Previously unmovable columns within the Commit Graph can now be rearranged and customized according to your preferences. This flexibility enables you to arrange the columns in a way that best suits their workflow and priorities.

In addition, we have implemented a more compact layout by removing the commit icon when avatars are hidden. This optimization maximizes the utilization of screen space and results in a cleaner and more streamlined visual representation.

Moreover, the Author column now displays avatars instead of text when sized to its minimum width. That combined with the compact layout for the Graph column provide a nice compact experience with no loss of fidelity.

Column Headers

Commit Graph column headers have received dynamic behavior for enhanced readability. When the Commit Graph columns are compacted, the column headers seamlessly switch from displaying text to icons. This adaptation ensures that crucial information remains visible, even in constrained display settings.

Stash Improvements

We've added the ability to rename stashes. If you are like me and often stash changes in a rush with very poor names, e.g. "wip" and then kick yourself later for not providing a more descriptive name, the this feature is for you. You can now rename any stash at any time.

You can now search within stashes using the Commit Graph, the Search & Compare view, or the Search Commits command. This improvement facilitates efficient navigation and retrieval of specific stash entries.

Added

  • Adds the ability to rename stashes — closes #2538
  • Adds a new Rename Stash... command to the Stashes view
  • Adds new Commit Graph features and improvements
  • Adds a Push or Pull toolbar button depending the current branch being ahead or behind it's upstream
  • Adds support for the Commit Graph over Visual Studio Live Share sessions
  • Adds the ability to move all of the columns, including the ones that were previously unmovable
  • Automatically switches column headers from text to icons when the column's width is too small for the text to be useful
  • Automatically switches the Author column to shows avatars rather than text when the column is sized to its minimum width
  • Adds the ability to search stashes when using the commit search via the Commit Graph, Search & Compare view, or the Search Commits command
  • Adds an Open Visual File History command to the new File History submenu on existing context menus
  • Allows the Repositories view for virtual repositories
  • Honors the git.repositoryScanIgnoredFolders VS Code setting
  • Adds Share, Open Changes, and Open on Remote (Web) submenus to the new editor line numbers (gutter) context menu
  • Adds an Open Line Commit Details command to the Open Changes submenus on editor context menus
  • Adds an Open Changes submenu to the row context menu on the Commit Graph

Changed

  • Refines and reorders many of the GitLens context menus and additions to VS Code context menus
  • Moves Copy Remote * URL commands from the Copy As submenu into the Share submenu in GitLens views
  • Adds a Share submenu to Source Control items
  • Moves Copy SHA and Copy Message commands on commits from the Copy As submenu into the root of the context menu
  • Moves Copy Relative Path command on files from the Copy As submenu into the root of the context menu
  • Moves file history commands into a File History submenu
  • Moves Open * on Remote commands into Open on Remote (Web) submenu
  • Renames the Commit Changes submenu to Open Changes
  • Renames Show Commit command to Quick Show Commit and Show Line Commit command to Quick Show Line Commit for better clarity as it opens a quick pick menu
  • Changes the file icons shown in many GitLens views to use the file type's theme icon (by default) rather than the status icon
  • Adds a gitlens.views.commits.files.icon setting to specify how the Commits view will display file icons
  • Adds a gitlens.views.repositories.files.icon setting to specify how the Repositories view will display file icons
  • Adds a gitlens.views.branches.files.icon setting to specify how the Branches view will display file icons
  • Adds a gitlens.views.remotes.files.icon setting to specify how the Remotes view will display file icons
  • Adds a gitlens.views.stashes.files.icon setting to specify how the Stashes view will display file icons
  • Adds a gitlens.views.tags.files.icon setting to specify how the Tags view will display file icons
  • Adds a gitlens.views.worktrees.files.icon setting to specify how the Worktrees view will display file icons
  • Adds a gitlens.views.contributors.files.icon setting to specify how the Contributors view will display file icons
  • Adds a gitlens.views.searchAndCompare.files.icon setting to specify how the Search & Compare view will display file icons
  • Renames Delete Stash... command to Drop Stash... in the Stashes view
  • Removes the commit icon when hiding avatars in the Commits view to allow for a more compact layout
  • Limits Git CodeLens on docker files — closes #2153
  • Shows progress notification for deep links earlier in the process — closes #2662

Fixed

  • Fixes #2664 - Terminal run Git command can be "corrupted" if there is previous text waiting in the terminal
  • Fixes #2660 - Commands executed in the terminal fail to honor found Git path
  • Fixes #2654 - Toggle zen mode not working until you restart vscode
  • Fixes #2629 - When on VSCode web, add handling for failing repo discovery
  • Fixes many issues with using GitLens over Visual Studio Live Share sessions
  • Fixes mouse scrubbing issues with the minimap on the Commit Graph
  • Fixes Refresh Repository Access and Reset Repository Access Cache commands to always be available
  • Fixes state not being restored on the Home webview
  • Fixes getting the oldest unpushed commit when there is more than 1 remote
  • Fixes an issue with the quick input on the Git Command Palette unexpectedly going back to the previous step
  • Fixes GitLens access tooltip not being visible when hovering in the Commit Graph

Removed

  • Removes "Open Commit on Remote" command from the VS Code Timeline view as it can no longer be supported — see microsoft/vscode#177319

Version 13.5

Thursday, Apr 6, 2023

With 13.5, we've added the ability to switch to an alternate panel layout for the Commit Graph, which moves the Commit Graph into the bottom panel and adds a new Commit Graph Details view alongside on the right, for more convenient and persistent access. You can now also switch to a compact layout for the Graph column and shrink the Branch / Tag column to a single icon to reduce the space and allow you to focus on what you deem most important. You can now take action on your pull requests in the Focus View, with the new ability to create or switch branches or worktrees. We've also heard your feedback that the Commit Details view pinning was confusing and hard to work with, so 13.5 includes many improvements to make that experience better. We've also continued our quest to reduce the size and improve performance of GitLens and have shaved another ~7% off the GitLens bundle.

Commit Graph Layouts `PRO`

The new panel layout brings even more flexibility and customization options to GitLens. While using the panel layout, GitLens moves the Commit Graph into the bottom panel and adds a new Commit Graph Details view alongside on the right. If the layout in the bottom panel doesn't suit your needs you can move the Commit Graph around to other locations (side bar, secondary side bar, etc) to suit your preferences. Whether you prefer to have the Commit Graph in the editor or in a separate panel, GitLens makes it easy to switch and find the layout that works best for you.

To switch to the panel layout, simply click on the Commit Graph settings cog located at the top right of the Commit Graph. From there, select the "Switch Commit Graph to Panel Layout" option, and if you want to switch back follow the same steps and choose "Switch Commit Graph to Editor Layout".

Compact Graph Column Layout

With the new compact Graph column layout, GitLens provides a more streamlined and compact layout to reduce the space required to visualize the commit history and branch relationships.

To enable the new compact Graph Column layout, right click on the Graph column header, and select the "Compact Graph Column Layout" option. If you want to switch back follow the same steps and choose "Default Graph Column Layout".

Pull Requests on Local Branches

You can now see pull requests (PRs) for your local branch upstreams directly on the local branches themselves. You no longer have to hunt for the local branch's upstream on the Commit Graph to see the associated PR.

Publish Local Branches from Commit Graph

Publishing local branches directly from the Commit Graph is a nice productivity boost. You can quickly and easily publish your local changes without having to switch to the Branches view or use the command line.

Focus View Pull Request Actions `PRO`

The Focus View is no longer read-only! We've introduced new actions within Focus View, aimed at enhancing your workflow and productivity. You can now easily create a branch or worktree, or switch/open an existing one, for a PR directly from the Focus View page, streamlining the process of reviewing or contributing to pull requests. As a quick worktree refresher, creating a worktree from the PR will let you review or contribute to multiple PRs simultaneously without affecting your current branch and working tree.

Commit Details Interaction Improvements

We've heard your feedback on the Commit Details view and the confusion and difficulty with using the pinning feature. We updated the visual appearance of the pinned state, so its easier to know when Commit Details is pinned. Additionally, we've introduced navigation controls that enable you to move back and forth through the commits you've recently viewed, helping to avoid losing context as you navigate through your code.

Thank you to our contributors

Shout-out to all of our awesome contributors for this release!

Added

  • Adds the ability to switch to an alternate panel layout for the Commit Graph — closes #2602 and #2537
  • Adds a new context menu from the Commit Graph Settings (cog) to switch between the "Editor" and "Panel" layouts
  • Adds a gitlens.graph.layout setting to specify the layout of the Commit Graph
  • editor - Shows the Commit Graph in an editor tab
  • panel - Shows the Commit Graph in the bottom panel with an additional Commit Graph Details view alongside on the right
  • Adds new Commit Graph features and improvements
  • Adds a compact layout to the Graph column of the Commit Graph
  • Adds a context menu option to the header to toggle between the "Compact" and "Default" layouts — closes #2611
  • Shows pull request icons on local branches when their upstream branch is associated with a pull request
  • Adds tooltips to work-in-progress (WIP) and stash nodes
  • Adds a "Publish Branch" context menu action to local branches without an upstream branch — closes #2619
  • Lowers the minimum width of the "Branch / Tag" column
  • Adds actions to Focus View Pull Requests
  • Switch to or create a local branch
  • Create or open a worktree from the branch
  • Adds a Generate Commit Message (Experimental)... command to the SCM context menus

Changed

  • Reduces the size of the GitLens (desktop) bundle which reduces memory usage and improves startup time — ~7% smaller (1.21MB -> 1.13MB)
  • Consolidates the "extension" side of all the GitLens webviews/webview-views into a unified controller and code-splits each webview/webview-view into its own bundle
  • Allows for very minimal code to be loaded for each webview/webview-view until its used, so if you never use a webview you never "pay" the cost of loading it
  • Changes Open Associated Pull Request command to support opening associated pull requests with the current branch or the HEAD commit if no branch association was found — closes #2559
  • Improves the "pinning" of the Commit Details view
  • Avoids automatically pinning
  • Changes the pinned state to be much more apparent
  • Changes Commit Details to always open diffs in the same editor group as the currently active editor — closes #2537

Fixed

  • Fixes #2597 - Allow disabling "Open worktree for pull request via GitLens..." from repository context menu
  • Fixes #2612 - Clarify GitLens telemetry settings
  • Fixes #2583 - Regression with Open Worktree for Pull Request via GitLens... command
  • Fixes #2252 - "Copy As"/"Copy Remote File Url" copies %23 instead of # in case of Gitea — thanks to PR #2603 by WofWca (@WofWca)
  • Fixes #2582 - Visual File History background color when in a panel
  • Fixes #2609 - If you check out a branch that is hidden, GitLens should show the branch still
  • Fixes tooltips sometimes failing to show in Commit Graph rows when the Date column is hidden
  • Fixes #2595 - Error when stashing changes

Version 13.4

Thursday, Mar 16, 2023

With 13.4, we've introduced an experimental new AI feature to assist with writing commit messages, improved GitLens performance by reducing its size, made improvements to the PRO Commit Graph, and accepted community contributions as well as many bug fixes from community feedback.

AI-Generated Commit Messages (Experimental)

We’ve introduced a new experimental feature to assist with writing commit messages by leveraging OpenAI. To start, stage some changes you want to commit and generate a commit message for and then run the “Generate Commit Message (Experimental)” command from the Command Palette. From there you will be guided through the process of accepting to send the diff of your staged changes to OpenAI and the entry of your OpenAI key. Once completed, the generated commit message will be entered into the commit input box on the Source Control sidebar. You can also enter additional context about your changes in the commit box and those will also be sent to help generate a better message.

Additionally, you can customize the gitlens.experimental.generateCommitMessagePrompt setting to control the prompt used to structure and format the generated commit message. You could have it structure commit messages in the conventional commit style, or you can have fun with it and make your commit messages in the style of a pirate, Shakespeare, etc.

This is a very early peek into features and ideas that can leverage AI – look forward to much more in the near future!

GitLens Size Reduction

Over the last couple releases we’ve made significant progress on optimizing the footprint of GitLens. We’ve focused a lot on the bundle sizes to allow for faster start-up times of both the extension itself and all of our webviews. These optimizations also help reduce our memory usage. We are continually looking for opportunities to optimize and reduce our footprint so look for more progress in the future!

Here are some numbers:

  • GitLens desktop bundle has been reduced by ~37% from 1.91MB to 1.21MB
  • GitLens web bundle (for vscode.dev / github.dev) has been reduced by ~39% from 2.05MB to 1.24MB
  • GitLens Commit Graph webview has been reduced by ~27% from 1.03MB to 758KB and that is including the new minimap and rich scroll markers
  • GitLens Home view has been reduced by ~41% from 267KB to 160KB
  • GitLens Visual File History view has been reduced by ~9% from 508KB to 461KB

Commit Graph Enhancements `PRO`

Upstream Tracking

It's now possible to effortlessly keep track of upstreams of your local branches in the commit graph. The upstreams of visible local branches, along with their corresponding commit history, will be displayed in the graph even if other remote branches are filtered out from your settings.

We've also revised the wording of the remote filter setting to "Hide Remote-only Branches.

Graph Alignment

The graph column is now more left-aligned, making it easier to read and follow the history of a branch at a glance.

Branches and Tags on Remote Repositories

You can now see the tips of your branches and tags in the Commit Graph on remote repositories! Previously, opening a remote repository in the graph would show only the current branch. Currently, we are still limited to only showing commits for the current branch, so the included branches and tags are ones pointing to commits in the current branch’s commit history.

Sunsetting GitLens Insiders (Replaced with Pre-release)

We’ve deprecated the GitLens Insiders edition in favor of a Pre-release version which is directly supported inside VS Code and is much easier to opt-in to and out of. Existing users of GitLens Insiders should have been automatically migrated to the Pre-release version. The Pre-release version of GitLens is a nightly build of GitLens, just as the GitLens Insiders edition was.

To opt-in to the Pre-release edition, select GitLens from the extensions sidebar and press “Switch to Pre-Release Version”.

Thank you to our contributors

Shout-out to all of our awesome contributors for this release!

Added

  • Adds an experimental Generate Commit Message (Experimental) command to use OpenAI to generate a commit message for staged changes
  • Adds a gitlens.experimental.generateCommitMessagePrompt setting to specify the prompt to use to tell OpenAI how to structure or format the generated commit message — can have fun with it and make your commit messages in the style of a pirate, etc
  • Adds auto-detection for .git-blame-ignore-revs files and excludes the commits listed within from the blame annotations
  • Adds a Open Git Worktree... command to jump directly to opening a worktree in the Git Command Palette
  • Adds a Copy Relative Path context menu action for active editors and file nodes in sidebar views
  • Adds the ability to see branches and tags on remote repositories (e.g. GitHub) on the Commit Graph
  • Currently limited to only showing them for commits on the current branch, as we aren't yet able to show all commits on all branches

Changed

  • Improves the display of items in the Commit Graph
  • When showing local branches, we now always display the upstream branches in the minimap, scrollbar markers, and graph rows
  • When laying out lanes in the Graph column, we now bias to be left aligned when possible for an easier to read and compact graph visualization
  • Improves Open Worktree for Pull Request via GitLens... command to use the qualified remote branch name, e.g. owner/branch, when creating the worktree
  • Removes Insiders edition in favor of the pre-release edition
  • Reduces the size of the GitLens bundle which improves startup time
  • GitLens' extension bundle for desktop (node) is now ~24% smaller (1.58MB -> 1.21MB)
  • GitLens' extension bundle for web (vscode.dev/github.dev) is now ~6% smaller (1.32MB -> 1.24MB)

Fixed

  • Fixes #2550 - Related pull request disappears after refresh
  • Fixes #2549 - toggle code lens does not work with gitlens.codeLens.enabled == false
  • Fixes #2553 - Can't add remote url with git@ format
  • Fixes #2083, #2539 - Fix stashing staged changes — thanks to PR #2540 by Nafiur Rahman Khadem (@ShafinKhadem)
  • Fixes #1968 & #1027 - Fetch-> fatal: could not read Username — thanks to PR #2481 by Skyler Dawson (@foxwoods369)
  • Fixes #2495 - Cannot use GitLens Pro feature on public repo in some folders
  • Fixes #2530 - Error when creating worktrees in certain conditions
  • Fixed #2566 - hide context menu in output panel — thanks to PR #2568 by hahaaha (@hahaaha)
  • Fixes #2533 - Current Branch Only graph filter sometimes fails
  • Fixes #2504 - Graph header theme colors were referencing the titlebar color properties
  • Fixes #2527 - shows added files for Open All Changes
  • Fixes an issue where trial status can be shown rather than a purchased license
  • Fixes graph issue where scroll markers do not update until mouseover when changing the gitlens.graph.scrollMarkers.additionalTypes setting.

Version 13.3

Thursday, Feb 23, 2023

Supercharge your Git game with GitLens 13.3: the latest update to help you master Git like a pro. With 13.3 we’re introducing Workspace Focus View, Deep Linking Support, and Commit Graph Improvements featuring the new (experimental) minimap and changes column.

GitLens also just got a whole lot faster with the release of version 13.3! Thanks to some serious bundle slimming, the startup times have significantly improved.

  • GitLens' extension bundle for desktop (node) is now ~18% smaller
  • GitLens' extension bundle for web (vscode.dev/github.dev) is now ~37% smaller
  • GitLens' Commit Graph webview bundle is now ~31% smaller

Focus View (Preview) `PRO`

With the preview of GitLens Focus View, you can streamline your workflow and prioritize your tasks with ease. The Focus View feature gives you a comprehensive list of all your most important work across all your GitHub repos. No more jumping back and forth between multiple pages or repos - GitLens Focus View makes it simple and efficient to keep track of and manage your work progress.

The new Focus View will provide you with a summary of Pull Requests and Issues relevant to you for the repositories grouped in your Workspace.

  • My Pull Requests: shows all GitHub PRs opened by you, assigned to you, or awaiting your review
  • My Issues: shows all issues created by you, assigned to you, or that mention you.

Instead of hunting for these pieces of information separately, you can get a holistic view of what you’re working on.

*Note Focus View is currently in a Preview Only state, it is subject to change in the future.

Commit Graph improvements `PRO`

Minimap (Experimental)

Click the Toggle Minimap icon in the right corner of the Commit Graph top bar to toggle the Minimap on and off. As this is an experimental feature, it is off by default – and we would love to hear your feedback and suggestions.

The idea behind the Minimap is to provide a whole new dimension to the Commit Graph. You can quickly see the activity of the repo, see HEAD/upstream, branches (local and remote), and easily jump to them.

The green line showcases HEAD while search results are depicted by yellow lines. The highlighted region shows the Commit Graph area that is in view. Markers are arranged in two rows of stacked blocks:

  • In the upper row, the blue blocks signify remote branches, while the brown blocks refer to tags.
  • Within the lower row, the pink blocks denote stashes, and the blue blocks represent local branches.

We really want to hear your feedback - this is still a very early feature and we're currently still playing with colors, and additional features. To leave us feedback such as what do you think, is this useful, what does it have that you like, what is it missing, etc. reach out to us on the GitLens, GitHub Discussion board.

Changes column (lines added/deleted)

Reduce time and effort required to navigate through code changes, with the changes column in GitLens. The changes column provides a visual representation of changes made to files in each commit, with green bars indicating added lines and red bars indicating deleted lines.

This visual display allows you to quickly identify the extent of changes made to files across multiple commits, making it easier to pinpoint specific areas of code that have been modified.

You can toggle the Change Column by right clicking the graph header and clicking "Show Changes".

Scroll Markers (Rich scrollbar)

Scroll Markers adds a rich layer of information to the Commit Graph scrollbar. Now you can quickly find and jump to checked-out branches, selected rows, search results, as well as important points such as HEAD and refs. Similar to Overview Ruler in VS Code, Scroll Markers provide a visual indicator on the scrollbar.

Our intention with Scroll Markers is to save you time and effort by allowing you to quickly identify and jump to the relevant sections of your Git history. It's a powerful new addition to the Commit Graph to help streamline workflow.

Branch upstream status

The Commit Graph now shows the upstream status of local branches with an upstream. You'll be able to quickly identify when your local branch is out of sync with its upstream branch with the new indicator, which shows how many commits are ahead or behind your upstream branch.

You can also double-click on the upstream indicator, to pull or push the pending commits to bring your local branch back in sync with its upstream. This makes it easy to keep track of upstream changes to your local branches and keep them up to date.

Work In Progress Row improvements

With the latest Work In Progress Row improvements, with a single right click, you can access the WIP contextual menu. Giving you access to a range of useful options, including Stash All Changes, Open Details, and Open Source Control. These features allow you to more effectively manage your WIP.

Deep linking support

Deep linking provides you with the ability to easily share specific remote repositories, commits, branches, and tags by copying the link to your clipboard and pasting it into a Jira issue or a Slack conversation for example.

The link will then open in the Commit Graph and can be used to quickly access and review relevant artifacts. With deep linking support, you can improve collaboration and communication by seamless sharing of important information related to your Git repos.

Added

  • Adds new Commit Graph features and improvements
  • Adds a new experimental minimap of commit activity to the Commit Graph
  • Adds a new experimental Changes column visualizing commit changes
  • Adds markers to the Commit Graph scroll area indicating the location of the selected row, search results, current branch, upstream, and more
  • Adds the ability to show upstream (ahead/behind) status on local branches with an upstream
  • Adds a double-click action on the status to pull (when behind) or push (when ahead) pending changes
  • Adds context menu actions to Push, Pull, and Fetch the local branch
  • Adds a gitlens.graph.showUpstreamStatus setting to toggle upstream (ahead/behind) indicators on branches
  • Adds the ability to show any associated pull requests with branches
  • Adds a double-click action on the PR icon to open the PR in the browser
  • Adds context menu actions to Open Pull Request on Remote and Copy the PR URL
  • Adds a gitlens.graph.pullRequests.enabled setting to toggle PR icons — closes #2450
  • Adds a context menu to the WIP row — closes #2458
  • Adds a double-click action on commit rows to open the Commit Details view
  • Improves Author and Avatar tooltips to now also show the contributor's email address, if available
  • Improves Date tooltips to now always show both the absolute and relative date
  • Adds the ability to copy and share links directly to repositories, branches, commits, and tags in the Commit Graph
  • Adds context menu actions to copy direct links in the Share submenu
  • Improves the Worktree creation experience
  • Adds a prompt after the worktree is created to choose how to open the worktree
  • Adds a worktrees.openAfterCreate setting to specify how and when to open a worktree after it is created
  • Ensures new worktrees are created from the "main" repo, if already in a worktree
  • Adds a new remote command to the Git Command Palette to add, prune, and remove remotes
  • Adds a Open Worktree for Pull Request via GitLens... context menu command on pull requests in the GitHub Pull Requests and Issues extension's views
  • Opens an associated worktree, if one exists, otherwise it creates a new worktree for the pull request
  • Adds settings to control the format of commits in the GitLens views

Changed

  • Greatly reduces the size of many of GitLens' bundles which improves startup time
  • GitLens' extension bundle for desktop (node) is now ~18% smaller
  • GitLens' extension bundle for web (vscode.dev/github.dev) is now ~37% smaller
  • GitLens' Commit Graph webview bundle is now ~31% smaller
  • Changes the Contributors view to be shown by default on the GitLens sidebar

Removed

  • Removes the use of an external color library for the File Heatmap annotations and webview themes — reduces the bundled extension size

Fixed

  • Fixes #2355 - Search by changes stops working in version 13.x.x
  • Fixes #2473 - Commit graph status bar show wrong last fetched date
  • Fixes #2409 - Commit Graph Show Current Branch Only shows unrelated commits from other branches
  • Fixes an issue where pinning not being respected in Commit Details view
  • Fixes graph issue where search results that are merge commits are not highlighted when the gitlens.graph.dimMergeCommits setting is enabled
  • Fixes graph issue where rows with tags belonging to a hovered branch are not highlighted when the gitlens.graph.highlightRowsOnRefHover setting is enabled

Version 13.2

Tuesday, Dec 20th, 2022

Since the release of GitLens 13, we know how the power of GitLens Pro features like the Commit Graph, have been helping supercharge your dev workflow. That’s why we’re excited to present GitLens 13.2, with all new (and highly requested) Graph improvements like filtering, to quickly focus on what is most important to you. We've also streamlined the Commit Graph interface with a new header bar, providing context and quick access to switch between repositories or branches, and even fetch to keep up to date. Get ready to level up your Git game with GitLens 13.2!

Filtering

GitLens 13.2 introduces filtering , which allows you to display a subset of your graph’s information and helps you hone in on specific details of your graph that matter the most.

Filtering Capabilities

Use graph filtering in GitLens to get laser focused on the branch you're working on and its remote:

  • Only Show the Current Branch

  • Display only the branch that you’re currently working on and it’s remote. In order to focus your attention on the things landing in this branch, and then quickly unfilter to "zoom" back out and see everything in flight.

  • Hide Remote Branches

  • Hides commits from the graph view that are only on remote branches.

  • Hide Tags

  • Hides all tags that point to commit rows.

  • Hide Stashes

  • Hides all stash rows.

  • Dim Merge Commit Rows

  • Deemphasizes merge commit rows.

Graph UX Improvements

We've updated the user interface, so you can get to all your favorite features even faster. Now, you can access change repo, account status, and filtering from the top of the Commit Graph page.

Header Updates

By merging the contextual information from the footer into the header, including the new Branch Picker and Fetch Action we’ve made it easier for you to manage your branches and work more effectively.

  • Branch Picker

  • Save time, by easily selecting the branch you want from the drop down branch picker.

  • Fetch Action

  • Easily keep your local repo up-to-date and in sync with the fetch action.

Shortcut Keys

Using the new keyboard shortcuts, SHIFT+UP and SHIFT+DOWN on the Commit Graph helps you locate what you need more efficiently and effectively by staying within the branch and moving between graph rows. This can be particularly useful if you are working on a complex project with many branches.

Added

  • Adds many all-new Commit Graph features and improvements
  • Adds the ability to filter commits, branches, stashes, and tags
  • Adds a new Filter Graph dropdown button at the start of the search bar
  • Adds ability to quickly switch between Show All Local Branches and Show Current Branch Only branch filtering options
  • Show All Local Branches — displays all local branches (default)
  • Show Current Branch Only — displays only the current branch and it's upstream remote (if exists and Hide Remote Branches isn't enabled)
  • Adds ability to hide all remote branches, stashes, and tags
  • Adds the ability to dim (deemphasize) merge commits
  • Adds a new header bar to provide quick access to common actions
  • Shows the currently selected repository with the ability to switch repositories when clicked (if multiple repositories are open)
  • Shows the current branch with the ability to switch branches when clicked
  • Provides a fetch action which also shows the last fetched time
  • Also moves GitLens Pro feature status and feedback links to the top right
  • Adds new ability to reorder columns by dragging and dropping column headers (not all columns are reorderable)
  • Adds new keyboard shortcuts
  • Use shift+down arrow and shift+up arrow to move to the parent/child of the selected commit row
  • Holding the ctrl key with a commit row selected will highlight rows for that commit's branch
  • Adds new settings
  • Adds a gitlens.graph.dimMergeCommits setting to specify whether to dim (deemphasize) merge commit rows
  • Adds a gitlens.graph.scrollRowPadding setting to specify the number of rows from the edge at which the graph will scroll when using keyboard or search to change the selected row

Changed

  • In the Commit Graph, increases the time to highlight associated rows when hovering over a branch to 1s
  • Removes the status bar from the Commit Graph as it was replaced by the new header bar

Fixed

  • Fixes #2394 - Work in progress file diff compares working tree with working tree, instead of working tree with head
  • Fixes #2207 - Error when trying to push individual commit
  • Fixes #2301 - Create Worktree button doesn't work in certain cases
  • Fixes #2382 - commits disappearing from commit details view when they shouldn't
  • Fixes #2318 - GitLens need to login again after VS Code insiders upgrade every day
  • Fixes #2377 - Missing Azure Devops Icon
  • Fixes #2380 - Autolink fails with curly braces
  • Fixes #2362 - Visual File History becomes unavailable when the workspace contains private repo
  • Fixes #2381 - can't use scrollbar in 'Commit Graph' view
  • Fixes an issue where focusout hides toolbar actions for the graph
  • Fixes an issue where Switch to Another Branch... doesn't work in the Graph editor toolbar
  • Fixes graph issue with row highlighting/dimming sticking when the graph loses focus
  • Fixes graph issue with branches remaining hovered/extended when the mouse leaves the graph

Version 13.1

Thursday, November 17th, 2022

With GitLens 13, we released the power of GitLens Pro features like the Commit Graph, Visual File History, and Worktrees to ALL users on local and public repos. No account required. Learn more about the changes happening with GitLens in this article.

Commit Graph Enhancements

Search History

Find what you seek with ease! Quickly navigate through your search history by using the UP⇧ or DOWN⇩ arrow keys.

New Search Filter @me

Want to see only your commits? Search For @me to highlight only your commits.

Faster Interactive Rebase Editor

With GitLens 13.1, we overhauled the Interactive Rebase Editor. It is now dramatically faster, especially for large rebases. We also streamlined the user experience with a persistent header and footer to ensure you always have important context visible and can quickly start or abort the rebase. Also, anytime the commit author and committer are different, you will see both of their avatars.

Commit Details View Usage

Need additional details to complete your rebase more efficiently? Now, as you navigate commits, we show the selected commit details in the Commit Details view.

Commit Details View Improvements

Custom and basic provider-based autolinks are now shown in the Autolinks section.

Customizable Settings

You can now customize the Commit Details view from the GitLens Settings editor to personalize how it looks and behaves so you can focus on the most important details.

Terminal Links for commits in VS Code’s integrated terminal now use the Commit Details view to provide rich details about the selected commit.

GitLens Home View Updates

Keeping a home tidy is important! We’ve streamlined the Home view to make it even easier to get started with GitLens, learn about its features, and how to personalize your experience.

Added

  • Adds Commit Graph enhancements
  • Adds the ability to set keyboard shortcuts to commits and stashes on the Commit Graph — closes #2345 - Keyboard shortcuts can be applied to many of the gitlens.graph.* commands and should use gitlens:webview:graph:focus && !gitlens:webview:graph:inputFocus for their "When Expression" to only apply when the Commit Graph is focused - For example, add the following to your keybindings.json to allow Ctrl+C to copy the selected commit's SHA to the clipboard
    {
    "key": "ctrl+c",
    "command": "gitlens.graph.copySha",
    "when": "gitlens:webview:graph:focus && !gitlens:webview:graph:inputFocus"
    }
  • Automatically selects the HEAD commit in the Commit Graph when switching branches
  • Improves performance of updating the Commit Graph when the repository changes
  • Improves performance by avoiding unnecessary updates to the Commit Details view when selection changes
  • Adds a @me search filter to the search box
  • Adds history navigation to the search box in the Commit Graph
  • When the search field is focused, use the up arrow and down arrow to navigate through any previous searches that yielded results
  • Adds ability to reset to any commit in the Commit Graph and GitLens views — closes #2326
  • Adds Interactive Rebase Editor performance and UX improvements
  • Changes the header and footer to always be visible
  • Shows the Commit Details view on commit selection
  • Adds a gitlens.rebaseEditor.showDetailsView setting to specify when to show the Commit Details view for the selected row in the Interactive Rebase Editor
  • Adds full (multiline) commit message
  • Adds the f fixup shortcut key to UI
  • Consolidates the UI for author and committer information into a stack of avatars
  • Adds emoji support for commit messages — closes #1789
  • Ensures that large rebases show rich commit details
  • Adds Commit Details view improvements
  • Adds custom and non-rich integration-based autolinks and improves autolink display
  • Improves performance by avoiding unnecessary updates
  • Avoids "pinning" commits by default when opened from the Commit Graph, Visual File History, quick picks, etc
  • Adds a Open in Commit Graph button even when showing uncommitted changes
  • Adds new sections and settings to the GitLens Interactive Settings
  • Adds a new Commit Details view section
  • Adds a new Terminal Links section
  • Adds autolink configuration to the Hovers section
  • Adds a @me search filter to commit search in the Search & Compare view and quick pick
  • Adds product usage telemetry
  • Honors the overall VS Code telemetry settings and add a gitlens.telemetry.enabled setting opt-out specifically for GitLens

Changed

  • Changes the Home view to always be available and polishes the experience
  • Changes SHA terminal links to use the Commit Details view — closes #2320
  • Adds a gitlens.terminalLinks.showDetailsView setting to specify whether to show the Commit Details view when clicking on a commit link
  • Changes to uses VS Code as Git's core.editor for terminal run commands — closes #2134 thanks to PR #2135 by Nafiur Rahman Khadem @ShafinKhadem
  • Adds a gitlens.terminal.overrideGitEditor setting to specify whether to use VS Code as Git's core.editor for GitLens terminal commands
  • Polishes webview (Commit Graph, Interactive Rebase Editor, etc) scroll bars to match VS Code's style and behavior

Fixed

  • Fixes #2339 - Commit details "Autolinks" group shows wrong count
  • Fixes #2346 - Multiple cursors on the same line duplicate inline annotations; thanks to PR #2347 by Yonatan Greenfeld @YonatanGreenfeld
  • Fixes #2344 - copying abbreviated commit SHAs is not working
  • Fixes #2342 - Local remotes are incorrectly treated as private
  • Fixes #2052 - Interactive Rebase fails to start when using xonsh shell due to command quoting
  • Fixes #2141 - GitLens' rebase UI randomly fails loading interactive rebase when performed outside of VSC
  • Fixes #1732 - Phantom rebase-merge directory (rm -rf ".git/rebase-merge")
  • Fixes #1652 - Closing interactive rebase editor after "git rebase --edit" aborts rebase-in-progress
  • Fixes #1549 - Fetch does not work when local branch name differs from remote branch name
  • Fixes #2292 - Push button in BranchTrackingStatusNode of non-current branch does not trigger "Push force"
  • Fixes #1488 - Open Folder History not working with non-English language pack
  • Fixes #2303 - "Googlesource" gerrit only supports two levels of domain — thanks to PR #2304 by Matt Buckley @Mattadore
  • Fixes #2315 - Commit details secondary side bar banner doesn't stay dismissed
  • Fixes #2329 - Remember UI settings in Commit Details panel
  • Fixes #1606 - Adjusts capitalization of "URL" — thanks to PR #2341 by Dave Nicolson @dnicolson
  • Fixes issue where we weren't honoring the default gravatar style (gitlens.defaultGravatarsStyle) in certain cases
  • Fixes graph issue where stashes are sometimes assigned the wrong column
  • Fixes graph issue with commit rows being incorrectly hidden in some cases
  • Fixes graph issue with merge commits not being hidden correctly in some cases
  • Fixes some graph issues with hover on branch/tag labels

Version 13.0

Monday, October 17th, 2022

Find what you seek.

GitLens Pro Features for All on Local & Public Repos `PRO`

With GitLens 13.0, we are excited to bring the power of GitLens Pro features like the Commit Graph, Visual File History, and Worktrees to ALL users on local and public repos. No account required. Learn more about the changes happening with GitLens in this article.

Here’s how to get started with each of the GitLens Pro features with your local or public repos:

Commit Graph - Now out of Preview! `PRO`

We’re delighted to announce that the Commit Graph is out of Preview, and is full featured! This means you may now interact with the Commit Graph directly and take actions like:

  • Interact with branches, commits, tags and more with right-click context menus
  • Double click a branch to checkout a branch
  • Search and filter for commits
  • Get information about Pull Requests

Full context menu support

Interact with your branches, commits, and more! Context menus are now available when you right click on any branch, tag, commit, or author in the Commit Graph. You may even interact with the Commit Graph column headers to the author, date or SHA columns. So much power!

Context menu actions include but are not limited to:

  • Switch to Branch
  • Revert Commit
  • Switch to Commit
  • Create Branch
  • Merge
  • Rebase
  • Create Worktree
  • Create Pull Request

Find exactly what you are looking for with the rich search on the powerful new Commit Graph.

Whether searching for a specific commit, message, author, a changed file or files, or even a specific code change, the Commit Graph will highlight matching results across your entire repository. Use shortcut keys or the up/down arrows on the search bar to navigate the search results; F3 (also Cmd+G on macOS) goes to the next result from your selection while Shift+F3 ( also Shift+Cmd+G on macOS) goes to the previous. Additionally you can quickly jump to the first or last result, by holding Shift while clicking on the up/down arrows respectively – to make it easy to see when a file or change was introduced into the codebase.

Once you type search filtering criteria, use the arrow icons to move through each result.

PR information in form of icon

Wait, which branch has that PR?

If connected to one of the rich integrations with GitHub or GitLab, the Commit Graph will display a PR icon for any branch currently in PR. Right-click on the PR icon to open the PR on the GitHub or GitLab, or copy the URL.

Hiding remotes, branches or tags

Need to focus and have too many remotes or just want to curate how much is shown in your Commit Graph? Now you can hide entire remotes, or specific branches and tags. Hover over any branch or tag to access the “Hide” button or right-click to hide the whole remote, or just the local or remote branch, to help focus your Commit Graph.

All new home view

It’s a homecoming! Our GitLens home view has a new look, with quick links to our Getting Started guides, Integrations, Trial info, and Feature spotlights.

List or tree view in Commit Details View

The Commit Details View, which gives you contextual change info about your code, got a new toggle for List and Tree view.

To open the Commit Details view, open the command palette using Cmd+Shift+P and type: Show Commit Details view or navigate to the Commit Details view in the Side Bar.

Change Log

Added

  • PRO All GitLens Pro features on public and local repos are now available to everyone -- no account required!
  • We want to bring the power of GitLens Pro features to more people without any gates.
  • PRO Commit Graph is out of preview!
  • Rich search features to find exactly what you're looking for:
  • Powerful filters to search by commit, message, author, a changed file or files, or even a specific code change
  • Searches look at ALL commits in a repository, not just what's shown in the graph
  • PR support for connected rich integrations (GitHub/GitLab)
  • Contextual right-click menus with popular actions for commits, branches, tags, and authors
  • Personalization of your graph experience
  • Show and hide branches and columns
  • Settings UI for easy fine-grain control over advanced settings
  • Adds View as Tree option for changed files in the Commit Details view
  • Adds an Open in Commit Graph action to the hovers and commit quick pick menus

Changed

  • Updates the Home View with all new design and content
  • Changes the Show Commit action in the hovers to Show Details and opens the Commit Details view

Fixed

  • Fixes #2203 - Autolinks missing under commit details
  • Fixes #2230 - j and k are inverted in ascending rebase order
  • Fixes #2195 - Cannot open new files from commit details
  • Fixes Commit Details view showing incorrect diffs for certain commits
  • Fixes Commit Details view showing incorrect actions for uncommitted changes
  • Fixes prioritization of multiple PRs associated with the same commit to choose a merged PR over others
  • Fixes Graph not showing account banners when access is not allowed and trial banners were previously dismissed

Version 12.2

Tuesday, August 30th, 2022

The new Commit Graph 🎨 in GitLens 12.2 will fix all your commitment problems...in your code 🥁 👩‍💻

Commit Graph - Preview `PRO`

Users may now view the Commit Graph of their repository through GitLens.

This beloved feature from GitKraken Desktop helps visualize your repo commit history and give you information about branches, commits, and collaborators all in one view — making it easier to see contributions and help you make faster, more informed decisions.

To open the Commit Graph, open the command palette using the keyboard shortcut Cmd Shift P and type Show Commit Graph.

This will open a new tab and render your current repo’s commit history, where you may scroll through your history and resize any of the columns widths.

You may also access the Commit Graph by clicking this graph icon from the Source Control view in the Sidebar or Status Bar.

The Commit Graph is available to all users working on public repositories, and requires no account. Additionally, users with a paid GitLens Pro subscription can use the Commit Graph with private repos.

For those on vscode.dev or github.dev, this also means you can open the Commit Graph on a web browser.

The Commit Graph is in Preview mode, and we’d love to hear your feedback in the Commit Graph discussion on GitHub.

Commit Details View

GitLens 12.2 also ships with a Commit Details View, which gives you contextual change info about your code.

To open the Commit Details View, open the command palette using Cmd Shift P and this time type: Show Commit Details View or navigate to the Commit Details View in the Sidebar.

The Commit Details View updates as you move your cursor throughout the file with information about the commit that modified that line of code. Get quick information about the commit author, commit ID, links to Pull Requests, files modified in the commit, and more.

Click on a file to open the diff, and see what changed. You may also hover over the file name to access options like Open File, Open Changes with Working File, and Open Remote.

GitHub Enterprise Integration `PRO`

Next, GitLens Pro now offers a richer integration with GitHub Enterprise.

Once authenticated, GitLens will enrich GitHub autolinks in the hovers. You’ll see your GitHub Enterprise avatar, links to related pull requests, along with a footnote of the pull request or issue details.

You’ll see similar details from the Sidebar views for any commit or branch associated with a pull request or issue.

Single Sign On `PRO`

Single Sign On is here, providing GitLens Pro users with a more secure sign in method!

Requirements and configuration

Your GitKraken account may now initiate an Oauth authentication flow with the following supported Identity Providers (IdPs):

  • Azure Active Directory
  • Okta
  • Google Identity Platform
  • Ping Identity

Please note that your IdP will first need to be configured before setting up the connection in your GitKraken account. For assistance, please contact your IdP administrator or consult the IdP documentation for help.

Additional requirements: - Configurable only by GitKraken Owner or Admin of an organization - Subscribed to either the Teams or Enterprise plan

→ Documentation: How to set up SSO in GitKraken

Signing in with SSO

GitLens Pro users should see a new option to Sign in with SSO from the login screen.

After clicking Sign in with SSO, the SSO form will open and ask for an email address to use for SSO login. The app will then check the email and determine whether the email address belongs to a single IdP for SSO. When the email address is successfully identified, the user will be taken to that IdP to login.

Once authenticated, the user may use GitLens Pro

More improvements

Stash naming defaults

When applying or popping a stash, GitLens will default the commit message input to the stash message.

And when stashing changes, the stash name will now default to any entry in the commit message input.

Stats in comparisons

There are now stats about additions & deletions in files nodes in comparisons. To get these stats, navigate to the Search & Compare view in the Sidebar and create a comparison between commits.

Search for text in Interactive Rebase Editor

And users may now search for text on the Interactive Rebase Editor using Ctrl F.

Change Log

Added

  • Adds Commit Graph
  • Adds Commit Details View
  • Adds rich integration with GitHub Enterprise — closes #1210
  • Adds associated pull request to line annotations and hovers
    Pull requests on line annotation and hovers
  • Adds associated pull request to status bar blame
    Pull requests on status bar
  • Adds GitHub avatars
  • Adds associated pull requests to branches and commits in GitLens views
  • Adds rich autolinks for GitHub issues and merge requests, including titles, status, and authors
  • Adds rich support to Autolinked Issues and Pull Requests within comparisons to list autolinked GitHub issues and merge requests in commit messages
  • Adds new stash behaviors to use the Source Control (commit message) input box — closes #2081
  • When a stash is applied or popped and the Source Control input is empty, we will now update the Source Control input to the stash message
  • When stashing changes and the Source Control input is not empty, we will now default the stash message input to the Source Control input value
  • Adds the ability to search (Ctrl+F) for text on the Interactive Rebase Editor — closes #2050
  • Adds stats (additions & deletions) to files nodes in comparisons — closes #2078 thanks to help via PR #2079 by Nafiur Rahman Khadem (@ShafinKhadem)
  • Adds the ability to uniquely format uncommitted changes for the current line blame annotations — closes #1987
  • Adds a gitlens.currentLine.uncommittedChangesFormat setting to specify the uncommitted changes format of the current line blame annotation. NOTE: Setting this to an empty string will disable current line blame annotations for uncommitted changes
  • Adds variable expansion support to the gitlens.worktrees.defaultLocation setting
  • ${userHome} — the path of the user's home folder
  • ${workspaceFolder} — the path of the folder opened in VS Code containing the specified repository
  • ${workspaceFolderBasename} — the name of the folder opened in VS Code containing the specified repository without any slashes (/)
  • Adds owner avatars to remotes in the Remotes view for GitHub remotes

Changed

  • Greatly improves performance of many view interactions when connected to a rich integration and pull request details are enabled, including:
  • Showing and refreshing the Commits view
  • Expanding commits, branches, and worktrees
  • Remembers chosen filter on files nodes in comparisons when refreshing
  • Changes display of filtered state of files nodes in comparisons
  • Improves diff stat parsing performance and reduced memory usage
  • Disallows comparisons with the working tree on the right-side (left-side still works as expected) and disables swapping
  • Uses VS Code as core.editor in rebase — closes #2084 thanks to PR #2085 by Nafiur Rahman Khadem (@ShafinKhadem)

Fixed

  • Fixes #2156 - Reduce extension package size
  • Fixes #2136 - Search & Compare quickpick shouldn't select the mode text when opening
  • Fixes #1896 - Cannot read property 'fsPath' of undefined
  • Fixes #1550 - Push button in commit widget does not trigger "Push force" when ALT is pressed.
  • Fixes #1991 - Git lens status bar entry has an incomprehensible accessibility label
  • Fixes #2125 - "git log" command in version 12.x is very slow
  • Fixes #2121 - Typo in GitLens header — thanks to PR #2122 by Chase Knowlden (@ChaseKnowlden)
  • Fixes #2082 - GitLens Home view unreadable in certain themes
  • Fixes #2070 - Quoted HTML / JSX syntax is not escaped correctly
  • Fixes #2069 - Heatmap - incorrect behavior of gitlens.heatmap.fadeLines with gitlens.heatmap.ageThreshold
  • Fixes an issue where choosing "Hide Current Branch Pull Request" from the Commits view overflow menu wouldn't hide the PR node
  • Fixes an issue where stashes without a message aren't displayed properly
  • Fixes an issue where the Stashes view empty state isn't displayed properly when there are no stashes
  • Fixes typos via PR #2086 by stampyzfanz (@stampyzfanz), and PR #2043, PR #2040, PR #2042 by jogo- (@jogo-)

GitLens Security Information

URL: https://help.gitkraken.com/gitlens/gl-security/
Last updated: August 2025

Data Collection and Storage

The table below outlines the types of data GitLens collects, how it is secured during transfer, where it is stored, and how it is protected at rest.

Service Data Collected Secured in Transfer Storage Location Secured in Storage
Subscriptions Billing info: name, payment type (credit card, PayPal, ACH, etc.), last 4 digits of payment method, zip code, country, card type (Visa, Mastercard, etc.) Encrypted with TLS MongoDB Atlas Encrypted at rest (AES-256)
Launchpad URLs of issues and pull requests (for pin/snooze functionality only) Encrypted with TLS Postgres (RDS) Encrypted at rest (AES-256)
Cloud Patches Patch metadata (repo name/URL/provider/base branch, etc.) and patch content Encrypted with TLS Metadata in Postgres; patch content in AWS S3 Metadata encrypted at rest (AES-256); patch content encrypted with SSE-S3 (AES-256)
Cloud Workspaces Repository info: URL, provider, organization name, repository name Encrypted with TLS MongoDB Atlas Encrypted at rest (AES-256)

SOC 2 Compliance

GitKraken and its tools, including GitLens, are SOC 2 certified.
If you would like to request a copy of our SOC 2 report, please visit our Trust Center to begin the request process.

Please note: an MNDA must be signed before we can provide a copy of the report.

Note: SOC 2 reports are only available for Business and Enterprise customers.


GitLens Settings Overview

URL: https://help.gitkraken.com/gitlens/gitlens-settings/
Last updated: July 2025

Overview

GitLens interactive settings editor in VS Code

GitLens offers a powerful and easy-to-use interactive settings editor that helps you configure many features directly in Visual Studio Code.

To open the editor, run the GitLens: Open Settings command (gitlens.showSettingsPage) from the Command Palette.

GitLens is highly customizable—nearly every feature can be tailored to fit your workflow using the available settings.

Current Line Blame Settings

Use these settings to customize how GitLens displays blame annotations for the current line of code. These annotations help identify the last commit that modified a line, along with contextual details like date, author, and related pull requests.

Name
Description

gitlens.currentLine.dateFormat
Defines how absolute dates appear in current line blame annotations using the ${date} token. Refer to the Moment.js format guide.

gitlens.currentLine.enabled
Enables or disables current line blame annotations by default. Toggle annotations in any window with the Toggle Line Blame Annotations command (gitlens.toggleLineBlame).

gitlens.currentLine.format
Sets the display format for the annotation. See Commit Tokens for supported placeholders. Date format is managed by gitlens.currentLine.dateFormat.

gitlens.currentLine.pullRequests.enabled
Shows pull request info (if available) for the commit in the current line annotation. Requires a connected remote provider like GitHub.

gitlens.currentLine.scrollable
Determines if annotations can scroll into view when off-screen. Note: Setting this to false disables hover tooltips unless gitlens.hovers.currentLine.over is set to line.

gitlens.currentLine.uncommittedChangesFormat
Customizes annotation format for uncommitted changes. An empty string disables annotations for these changes.

gitlens.currentLine.fontFamily
Sets the font family for inline blame annotations.

gitlens.currentLine.fontSize
Sets the font size for inline blame annotations.

gitlens.currentLine.fontStyle
Sets the font style for inline blame annotations.

gitlens.currentLine.fontWeight
Sets the font weight for inline blame annotations.


Git CodeLens Settings

These settings control GitLens CodeLens overlays, which provide inline contextual information such as author and commit history directly in your code.

Name
Description

gitlens.codeLens.authors.command
Sets the command triggered when an authors CodeLens is clicked. Default is gitlens.toggleFileBlame. To disable click actions, set this to false.Available commands include:
gitlens.toggleFileBlame, gitlens.toggleFileHeatmap, gitlens.toggleFileChanges, gitlens.toggleFileChangesOnly, gitlens.diffWithPrevious, gitlens.revealCommitInView, gitlens.showCommitsInView, gitlens.showQuickCommitDetails, gitlens.showQuickCommitFileDetails, gitlens.showQuickFileHistory, gitlens.showQuickRepoHistory, gitlens.openCommitOnRemote, gitlens.copyRemoteCommitUrl, gitlens.openFileOnRemote, gitlens.copyRemoteFileUrl.

gitlens.codeLens.authors.enabled
Enables or disables the authors CodeLens. Displays the number of contributors and highlights the most active author for a file or block.

gitlens.codeLens.enabled
Globally enables or disables all GitLens CodeLens features. Use the Toggle Git CodeLens command (gitlens.toggleCodeLens) to turn this feature on or off for the current window.

gitlens.codeLens.includeSingleLineSymbols
Determines whether GitLens shows CodeLens for single-line symbols (e.g., one-line functions).

gitlens.codeLens.recentChange.command
Sets the command triggered when a recent change CodeLens is clicked. Default is gitlens.showQuickCommitFileDetails. To disable, set to false.Available commands mirror those listed under authors.command.

gitlens.codeLens.recentChange.enabled
Enables or disables the recent change CodeLens. Displays the author and timestamp of the most recent commit for the line or block.

gitlens.codeLens.scopes
Controls where Git CodeLens is displayed:
document – top of the file
containers – start of container symbols (e.g., classes, interfaces)
blocks – start of block symbols (e.g., functions, methods)

gitlens.codeLens.symbolScopes
Defines specific symbol types to include or exclude from CodeLens. Prefix a symbol with ! to exclude it. Uses SymbolKind values.


Status Bar Settings

These settings control how GitLens displays blame information in the status bar, including format, alignment, and click behavior.

Name
Description

gitlens.statusBar.alignment
Controls where the blame annotation appears in the status bar.left – aligns to the leftright – aligns to the right

gitlens.statusBar.command
Specifies the command executed when clicking the blame status bar item. Default is gitlens.toggleFileBlame. You can choose from a list of commands, such as:
gitlens.toggleFileBlame, gitlens.toggleFileHeatmap, gitlens.toggleFileChanges, gitlens.toggleFileChangesOnly, gitlens.diffWithPrevious, gitlens.revealCommitInView, gitlens.showCommitsInView, gitlens.showQuickCommitDetails, gitlens.showQuickCommitFileDetails, gitlens.showQuickFileHistory, gitlens.showQuickRepoHistory, gitlens.openCommitOnRemote, gitlens.copyRemoteCommitUrl, gitlens.openFileOnRemote, gitlens.copyRemoteFileUrl

gitlens.statusBar.dateFormat
Sets the date format using the ${date} token. For valid formats, see the Moment.js documentation.

gitlens.statusBar.enabled
Enables or disables blame information in the status bar.

gitlens.statusBar.format
Defines the display format of blame data in the status bar. Refer to Commit Tokens. Controlled alongside gitlens.statusBar.dateFormat.

gitlens.statusBar.pullRequests.enabled
Shows pull request details for the commit in the status bar, if available. Requires a connected remote (e.g., GitHub).

gitlens.statusBar.reduceFlicker
Reduces visual flicker by preventing blame info from clearing when switching lines.

gitlens.statusBar.tooltipFormat
Specifies the markdown format used in the hover tooltip over blame info. See Commit Tokens.


Hover Settings

Use these settings to control when and how GitLens displays hover popups that show commit details, line changes, avatars, and pull request information.

Name
Description

gitlens.hovers.annotations.changes
Enables a changes (diff) hover for all lines when blame annotations are shown.

gitlens.hovers.annotations.details
Enables a commit details hover for all lines when blame annotations are shown.

gitlens.hovers.annotations.enabled
Enables all hovers related to blame annotations.

gitlens.hovers.annotations.over
Controls when annotation hovers trigger:annotation – hover only on the annotationline – hover anywhere on the line

gitlens.hovers.avatars
Displays avatar images in hovers when enabled.

gitlens.hovers.avatarSize
Sets the avatar image size in hover popups.

gitlens.hovers.changesDiff
Controls the diff content shown in hovers:line – shows only changes to the linehunk – shows related changes (code hunk)

gitlens.hovers.currentLine.changes
Enables a changes (diff) hover for the current line.

gitlens.hovers.currentLine.details
Enables a commit details hover for the current line.

gitlens.hovers.currentLine.enabled
Enables all hover popups for the current line.

gitlens.hovers.currentLine.over
Controls when hovers appear on the current line:annotation – hover only on the annotationline – hover anywhere on the line

gitlens.hovers.detailsMarkdownFormat
Defines the markdown format used for commit details hovers. See Commit Tokens.

gitlens.hovers.enabled
Enables or disables all GitLens hovers.

gitlens.hovers.autolinks.enabled
Automatically links external resources mentioned in commit messages.

gitlens.hovers.autolinks.enhanced
Fetches enhanced details for autolinks using supported remote services (e.g., GitHub).

gitlens.hovers.pullRequests.enabled
Displays pull request information (if available) in hovers. Requires connection to a supported remote service.


View Settings

Name
Description

gitlens.views.defaultItemLimit
Specifies the default number of items to show in a view list. Use 0 for no limit.

gitlens.views.formats.commits.label
Specifies the format of commits in the views. See Commit Tokens in the GitLens docs.

gitlens.views.formats.commits.description
Specifies the description format of commits in the views. See Commit Tokens in the GitLens docs.

gitlens.views.formats.files.label
Specifies the format of a file in the views. See File Tokens in the GitLens docs.

gitlens.views.formats.files.description
Specifies the description format of a file in the views. See File Tokens in the GitLens docs.

gitlens.views.formats.stashes.label
Specifies the format of stashes in the views. See Commit Tokens in the GitLens docs.

gitlens.views.formats.stashes.description
Specifies the description format of stashes in the views. See Commit Tokens in the GitLens docs.

gitlens.views.formats.stashes.tooltip
Specifies the tooltip format of stashes in GitLens views.

gitlens.views.pageItemLimit
Specifies the number of items to show per page when paginating a view list. Use 0 for no limit.

gitlens.views.showRelativeDateMarkers
Specifies whether to show relative date markers (Less than a week ago, Over a week ago, Over a month ago, etc.) on revision histories in the views.

gitlens.views.commits.files.icon
Specifies how the Commits view displays file icons.

gitlens.views.repositories.files.icon
Specifies how the Repositories view displays file icons.

gitlens.views.branches.files.icon
Specifies how the Branches view displays file icons.

gitlens.views.formats.files.label
Specifies how the Remotes view displays file icons.

gitlens.views.stashes.files.icon
Specifies how the Stashes view displays file icons.

gitlens.views.tags.files.icon
Specifies how the Tags view displays file icons.

gitlens.views.worktrees.files.icon
Specifies how the Worktrees view displays file icons.

gitlens.views.contributors.files.icon
Specifies how the Contributors view displays file icons.

gitlens.views.searchAndCompare.files.icon
Specifies how the Search & Compare view displays file icons.

gitlens.views.collapseWorktreesWhenPossible
Specifies whether to collapse opened worktrees into a single repository in views when possible.

Gitlens.views.showCurrentBranchOnTo
Specifies whether the current branch is shown at the top of views.

gitlens.views.scm.grouped.default
Specifies the default view shown in the grouped GitLens view for new workspaces/folders (otherwise last selected view is remembered).

gitlens.views.scm.grouped.views
Specifies which views to show in the grouped GitLens view.


Commits View Settings

See also View Settings.

These settings control how the GitLens Commits view displays commit data, associated files, and pull request information.

Name
Description

gitlens.views.commits.avatars
Shows avatar images in place of commit or status icons in the Commits view.

gitlens.views.commits.files.compact
Flattens unnecessary file nesting when file layout is set to tree or auto.

gitlens.views.commits.files.layout
Controls how files are displayed:
auto – switches between tree and list based on the threshold
list – displays a flat file list
tree – displays a hierarchical file structure

gitlens.views.commits.files.threshold
Defines the threshold for switching between tree and list layouts when layout is set to auto.

gitlens.views.commits.pullRequests.enabled
Enables querying for pull requests associated with the current branch or commits. Requires a connected remote (e.g., GitHub).

gitlens.views.commits.pullRequests.showForBranches
Shows pull requests linked to the current branch in the Commits view. Requires a connected remote service.

gitlens.views.commits.pullRequests.showForCommits
Displays pull requests tied to individual commits in the Commits view. Requires a connected remote service.

gitlens.views.commits.reveal
Determines whether commits are revealed in the Commits view or the Repositories view.

gitlens.views.commits.showBranchComparison
Controls whether to display branch or working tree comparisons:
false – hides comparison section
branch – compares current branch to another reference
working – compares working tree to a selected reference


Repositories View Settings

See also View Settings.

These settings customize how repositories are displayed and interacted with in the GitLens Repositories view.

Name
Description

gitlens.views.repositories.avatars
Displays avatar images instead of icons in the Repositories view.

gitlens.views.repositories.autoRefresh
Automatically refreshes the view when the repository or filesystem changes.

gitlens.views.repositories.autoReveal
Auto-reveals repositories when opening files.

gitlens.views.repositories.branches.layout
Controls branch layout:
list – shows all branches in a list
tree – groups branches in a tree structure if names contain /

gitlens.views.repositories.branches.showBranchComparison
Displays comparison with a user-selected reference (branch, tag, etc.) under each branch.

gitlens.views.repositories.compact
Enables a compact display mode in the Repositories view.

gitlens.views.repositories.files.compact
Flattens unnecessary file nesting when file layout is set to tree or auto.

gitlens.views.repositories.files.layout
Controls file display layout:
auto – switches based on file count and nesting
list – flat file list
tree – hierarchical file view

gitlens.views.repositories.files.threshold
Sets the threshold for switching between tree and list layouts when layout is set to auto.

gitlens.views.repositories.includeWorkingTree
Includes working tree file status for each repository.

gitlens.views.repositories.showBranchComparison
Displays comparison between a selected reference and the current branch or working tree.

gitlens.views.repositories.showBranches
Shows branches for each repository.

itlens.views.repositories.showCommits
Displays commits from the current branch for each repository.

gitlens.views.repositories.showContributors
Shows contributors for each repository.

gitlens.views.repositories.showIncomingActivity
Displays experimental incoming activity for each repository.

gitlens.views.repositories.showRemotes
Shows configured remotes for each repository.

gitlens.views.repositories.showStashes
Displays stashes for each repository.

gitlens.views.repositories.showTags
Shows tags for each repository.

gitlens.views.repositories.showUpstreamStatus
Displays upstream tracking status of the current branch for each repository.


File History View Settings

See also View Settings.

These settings configure the behavior and display options for the GitLens File History view.

Name
Description

gitlens.views.fileHistory.avatars
Displays avatar images instead of status icons in the File History view.

gitlens.advanced.fileHistoryShowMergeCommits
Controls whether merge commits are shown in file history:show – includes merge commitshide – excludes merge commits


Line History View Settings

See also View Settings.

These settings configure the display behavior of the GitLens Line History view.

Name
Description

gitlens.views.lineHistory.avatars
Displays avatar images instead of status icons in the Line History view.


Branch View Settings

See also View Settings.

These settings configure the display and behavior of the GitLens Branches view.

Name
Description

gitlens.views.branches.avatars
Displays avatar images instead of commit or status icons in the Branches view.

gitlens.views.branches.branches.layout
Controls how branches are displayed:
list – shows branches as a list
tree – groups branches into a tree structure

gitlens.views.branches.files.compact
Flattens unnecessary file nesting when file layout is set to tree or auto.

gitlens.views.branches.files.layout
Controls file display layout:
auto – switches between tree and list based on the threshold
list – displays a flat list
tree – displays files hierarchically

gitlens.views.branches.files.threshold
Defines the threshold for switching between tree and list layouts when layout is set to auto.

gitlens.views.branches.pullRequests.enabled
Enables querying for pull requests associated with the current branch and commits. Requires a connected remote service.

gitlens.views.branches.pullRequests.showForBranches
Displays pull requests linked to the current branch in the Branches view. Requires a connected remote service.

gitlens.views.branches.pullRequests.showForCommits
Displays pull requests tied to individual commits. Requires a connected remote service.

gitlens.views.branches.reveal
Specifies whether branches are revealed in the Branches view or in the Repositories view.

gitlens.views.branches.showBranchComparison
Controls display of branch comparisons:
false – hides comparisons
branch – compares the current branch with a selected reference


Remotes View Settings

See also View Settings.

These settings define how branches, files, and pull requests appear in the GitLens Remotes view.

Name
Description

gitlens.views.remotes.avatars
Displays avatar images instead of commit or status icons in the Remotes view.

gitlens.views.remotes.branches.layout
Controls how branches are displayed:
list – shows branches in a flat list
tree – groups branches hierarchically

gitlens.views.remotes.files.compact
Flattens unnecessary file nesting when file layout is set to tree or auto.

gitlens.views.remotes.files.layout
Controls file display layout:
auto – switches between tree and list depending on nesting
list – flat file list
tree – hierarchical file view

gitlens.views.remotes.files.threshold
Defines the threshold for switching between tree and list layouts when layout is set to auto.

gitlens.views.remotes.pullRequests.enabled
Enables pull request queries for the current branch and commits. Requires a connected remote service.

gitlens.views.remotes.pullRequests.showForBranches
Displays pull requests associated with branches in the Remotes view. Requires a connected remote service.

gitlens.views.remotes.pullRequests.showForCommits
Displays pull requests tied to commits in the Remotes view. Requires a connected remote service.

gitlens.views.remotes.reveal
Determines whether remotes appear in the Remotes view or are shown in the Repositories view.

gitlens.views.remotes.showBranchComparison
Controls display of branch comparisons:
false – hides comparisons
branch – compares the current branch with a selected reference


Stashes View Settings

See also View Settings.

These settings control how files and stash entries are displayed in the GitLens Stashes view.

Name
Description

gitlens.views.stashes.files.compact
Flattens unnecessary file nesting in the Stashes view. Applies when file layout is set to tree or auto.

gitlens.views.stashes.files.layout
Controls file display layout:
auto – switches between tree and list layouts based on nesting
list – shows a flat list
tree – shows a hierarchical view

gitlens.views.stashes.files.threshold
Defines the threshold for switching between tree and list layouts when layout is set to auto.

gitlens.views.stashes.reveal
Determines whether stashes appear in the Stashes view or the Repositories view.


Tags View Settings

See also View Settings.

These settings control how Git tags and related files appear in the GitLens Tags view.

Name
Description

gitlens.views.tags.avatars
Displays avatar images instead of commit or status icons in the Tags view.

gitlens.views.tags.branches.layout
Controls tag layout:
list – displays tags as a flat list
tree – groups tags hierarchically

gitlens.views.tags.files.compact
Flattens unnecessary file nesting when layout is set to tree or auto.

gitlens.views.tags.files.layout
Controls file display layout:
auto – switches between tree and list layouts based on nesting
list – shows a flat list
tree – shows a hierarchical view

gitlens.views.tags.files.threshold
Defines the threshold for switching between tree and list layouts when layout is set to auto.

gitlens.views.tags.reveal
Determines whether tags are shown in the Tags view or revealed in the Repositories view.


Worktrees View Settings

See also View Settings.

These settings control how worktrees and related information appear in the GitLens Worktrees view.

Name
Description

gitlens.views.worktrees.avatars
Displays avatar images instead of commit or status icons in the Worktrees view.

gitlens.views.worktrees.files.compact
Flattens unnecessary file nesting. Applies only when layout is set to tree or auto.

gitlens.views.worktrees.files.layout
Controls how files are displayed:
auto – automatically switches between tree and list views based on the threshold
list – shows files in a flat list
tree – shows files hierarchically

gitlens.views.worktrees.files.threshold
Defines when to switch between tree and list layouts based on file count. Applies only when layout is auto.

gitlens.views.worktrees.pullRequests.enabled
Enables pull request queries for the current worktree branch and its commits. Requires a supported remote service.

gitlens.views.worktrees.pullRequests.showForBranches
Shows pull requests related to the current worktree branch. Requires a supported remote service.

gitlens.views.worktrees.pullRequests.showForCommits
Displays pull requests (if any) associated with commits in the Worktrees view. Requires a supported remote service.

gitlens.views.worktrees.reveal
Controls whether worktrees appear in the Worktrees view or default to the Repositories view.

gitlens.views.worktrees.showBranchComparison
Shows a comparison of the current branch with a user-selected reference:
false – hides comparisons
branch – compares with a selected reference (e.g., tag or branch)


Contributors View Settings

See also View Settings

Name
Description

gitlens.views.contributors.avatars
Specifies whether to show avatar images instead of commit (or status) icons in the Contributors view

gitlens.views.contributors.files.compact
Specifies whether to compact (flatten) unnecessary file nesting in the Contributors view. Only applies when gitlens.views.commits.files.layout is set to tree or auto

gitlens.views.contributors.files.layout
Specifies how the Contributors view will display filesauto - automatically switches between displaying files as a tree or list based on the gitlens.views.commits.files.threshold value and the number of files at each nesting levellist - displays files as a listtree - displays files as a tree

gitlens.views.contributors.files.threshold
Specifies when to switch between displaying files as a tree or list based on the number of files in a nesting level in the Contributors view. Only applies when gitlens.views.commits.files.layout is set to auto

gitlens.views.contributors.pullRequests.enabled
Specifies whether to query for pull requests associated with the current branch and commits in the Contributors view. Requires a connection to a supported remote service (e.g. GitHub)

gitlens.views.contributors.pullRequests.showForCommits
Specifies whether to show pull requests (if any) associated with the current branch in the Contributors view. Requires a connection to a supported remote service (e.g. GitHub)

gitlens.views.contributors.showAllBranches
Specifies whether to show commits from all branches in the Contributors view

gitlens.views.contributors.showStatistics
Specifies whether to show contributor statistics in the Contributors view. This can take a while to compute depending on the repository size


Search & Compare View Settings

See also View Settings.

These settings control the display options for files and avatars in the GitLens Search Commits and Compare views.

Name
Description

gitlens.views.compare.files.compact
Flattens unnecessary file nesting in the Compare view. Applies when layout is set to tree or auto.

gitlens.views.compare.files.layout
Controls file display in the Compare view:
auto – switches between tree and list based on nesting and threshold
list – shows files in a flat list
tree – shows files hierarchically

gitlens.views.compare.files.threshold
Determines when to switch between tree and list layouts based on the number of files in a nesting level. Applies only when layout is auto.

gitlens.views.compare.avatars
Shows avatar images instead of commit or status icons in the Compare view.

gitlens.views.search.files.compact
Flattens unnecessary file nesting in the Search Commits view. Applies when layout is set to tree or auto.

gitlens.views.search.files.layout
Controls file display in the Search Commits view:
auto – switches between tree and list based on nesting and threshold
list – shows files in a flat list
tree – shows files hierarchically

gitlens.views.search.avatars
Shows avatar images instead of commit or status icons in the Search Commits view.


File Blame Settings

Name
Description

gitlens.blame.avatars
Shows avatar images in file blame annotations.

gitlens.blame.compact
Compacts (deduplicates) adjacent matching blame annotations.

gitlens.blame.dateFormat
Formats absolute dates (e.g., using ${date}) in blame annotations. See the Moment.js documentation for valid formats.

gitlens.blame.format
Specifies the display format of blame annotations. See Commit Tokens. Date format is controlled by gitlens.blame.dateFormat.

gitlens.blame.heatmap.enabled
Enables a heatmap indicator in blame annotations.

gitlens.blame.heatmap.location
Determines heatmap indicator placement:left – left edge of annotationsright – right edge of annotations

gitlens.blame.highlight.enabled
Highlights lines related to the current line.

gitlens.blame.highlight.locations
Specifies where highlights appear:file – file indicatorline – full-line background highlightoverview – decoration in the overview ruler

gitlens.blame.ignoreWhitespace
Ignores whitespace differences when comparing revisions during blame operations.

gitlens.blame.separateLines
Shows line separators in blame annotations.

gitlens.blame.toggleMode
Determines toggle scope:file – toggles blame per filewindow – toggles blame for all files in the window

gitlens.blame.fontFamily
Sets font family for file blame annotations.

gitlens.blame.fontSize
Sets font size for file blame annotations.

gitlens.blame.fontWeight
Sets font weight for file blame annotations.

gitlens.blame.fontStyle
Sets font style for file blame annotations.


File Changes Settings

Name
Description

gitlens.changes.locations
Controls where file changes indicators appear:gutter – shows a file indicator in the gutteroverview – adds a decoration in the overview ruler (scroll bar)

gitlens.changes.toggleMode
Determines toggle scope for file changes annotations:file – toggles annotations per filewindow – toggles annotations for all files in the window


File Heatmap Settings

Name
Description

gitlens.heatmap.ageThreshold
Defines the age threshold in days for heatmap coloring. Changes older than this use gitlens.heatmap.coldColor, newer changes use gitlens.heatmap.hotColor.

gitlens.heatmap.coldColor
Base color for file heatmap annotations when changes are older than the age threshold (cold).

gitlens.heatmap.hotColor
Base color for file heatmap annotations when changes are newer than the age threshold (hot).

gitlens.heatmap.locations
Specifies where heatmap indicators appear:gutter – shows indicator in the gutteroverview – adds a decoration in the overview ruler (scroll bar)

gitlens.heatmap.toggleMode
Determines toggle scope for file heatmap annotations:file – toggles annotations per filewindow – toggles annotations for all files in the window


Git Command Palette Settings

Name
Description

gitlens.gitCommands.closeOnFocusOut
Determines whether the Git Commands Palette dismisses automatically when focus is lost. If disabled, press ESC to dismiss manually.

gitlens.gitCommands.search.matchAll
Controls whether commit message searches match all patterns or any pattern.

gitlens.gitCommands.search.matchCase
Enables case-sensitive matching for commit message searches.

gitlens.gitCommands.search.matchRegex
Enables regular expression matching for commit message searches.

gitlens.gitCommands.search.showResultsInSideBar
Controls where commit search results display: in the quick pick menu, the Side Bar, or context-dependent.

gitlens.gitCommands.skipConfirmations
Specifies which Git commands skip confirmation prompts. Format: git-command-name:(menu/command).

gitlens.gitCommands.sortBy
Specifies sorting order of commands in the Git Command Palette:name – alphabetically by command nameusage – by last used date


Name
Description

gitlens.terminalLinks.enabled
Enables terminal links—autolinks in the integrated terminal that provide quick access to details for commits, branches, tags, and more.


Remote Provider Integration Settings

Name
Description

gitlens.integrations.enabled
Enables rich integrations with supported remote services.

gitlens.remotes
Defines custom remote services to match Git remotes for detecting custom domains or supporting additional remote services.Supported types include:

GitHub
GitLab
Gerrit
GoogleSource
Gitea
AzureDevOps
Bitbucket
BitbucketServer
Custom

Examples:
"gitlens.remotes": [{ "domain": "git.corporate-url.com", "type": "GitHub" }]
"gitlens.remotes": [{ "regex": "ssh:\/\/(my\.company\.com):1234\/git\/(.+)", "type": "GitHub" }]
Custom example:
"gitlens.remotes": [{
"domain": "git.corporate-url.com",
"type": "Custom",
"name": "My Company",
"protocol": "https",
"urls": {
"repository": "https://git.corporate-url.com/${repo}\",
"branches": "https://git.corporate-url.com/${repo}/branches\",
"branch": "https://git.corporate-url.com/${repo}/commits/${branch}\",
"commit": "https://git.corporate-url.com/${repo}/commit/${id}\",
"file": "https://git.corporate-url.com/${repo}?path=${file}${line}\",
"fileInBranch": "https://git.corporate-url.com/${repo}/blob/${branch}/${file}${line}\",
"fileInCommit": "https://git.corporate-url.com/${repo}/blob/${id}/${file}${line}\",
"fileLine": "#L${line}",
"fileRange": "#L${start}-L${end}"
}
}]
Another custom example:
"gitlens.remotes": [{
"regex": "ssh:\/\/(my\.company\.com):1234\/git\/(.+)",
"type": "Custom",
"name": "My Company",
"protocol": "https",
"urls": {
"repository": "https://my.company.com/projects/${repoBase}/repos/${repoPath}\",
"branches": "https://my.company.com/projects/${repoBase}/repos/${repoPath}/branches\",
"branch": "https://my.company.com/projects/${repoBase}/repos/${repoPath}/commits/${branch}\",
"commit": "https://my.company.com/projects/${repoBase}/repos/${repoPath}/commit/${id}\",
"file": "https://my.company.com/projects/${repoBase}/repos/${repoPath}?path=${file}${line}\",
"fileInBranch": "https://my.company.com/projects/${repoBase}/repos/${repoPath}/blob/${branch}/${file}${line}\",
"fileInCommit": "https://my.company.com/projects/${repoBase}/repos/${repoPath}/blob/${id}/${file}${line}\",
"fileLine": "#L${line}",
"fileRange": "#L${start}-L${end}"
}
}]


Date & Time Settings

Name
Description

gitlens.defaultDateFormat
Specifies the default format for absolute dates. See the Moment.js documentation for valid format strings.

gitlens.defaultDateLocale
Specifies the locale for date formatting, using a BCP 47 language tag. Defaults to the VS Code locale. Use system to follow the current system locale or specify a locale like en-US (US English), en-GB (British English), de-DE (German), ja-JP (Japanese), etc.

gitlens.defaultDateShortFormat
Specifies the default format for short absolute dates. See the Moment.js documentation for valid format strings.

gitlens.defaultDateSource
Determines whether commit dates use the authored date or the committed date.

gitlens.defaultDateStyle
Specifies the default display style for dates.

gitlens.defaultTimeFormat
Specifies the default format for times. See the Moment.js documentation for valid format strings.


Name
Description

gitlens.menus
Defines which commands are added to specific menus.

gitlens.fileAnnotations.command
Controls the behavior of the file annotations button in the editor title:
null (default) – shows a menu to select which file annotations to toggle
blame – toggles file blame annotations
heatmap – toggles file heatmap annotations
changes – toggles file changes annotations


Keyboard Shortcut Settings

Name
Description

gitlens.keymap
Specifies the keymap used for GitLens shortcuts:
alternate – adds alternate shortcuts starting with Alt (⌥ on macOS)
chorded – adds chorded shortcuts starting with Ctrl+Shift+G (⌥⌘G on macOS)
none – disables all GitLens shortcut keys

gitlens.fileAnnotations.dismissOnEscape
Determines whether pressing ESC dismisses active file annotations.


Modes Settings

Name
Description

gitlens.mode.active
Specifies the currently active GitLens mode, if any.

gitlens.mode.statusBar.enabled
Enables display of the active GitLens mode in the status bar.

gitlens.mode.statusBar.alignment
Controls alignment of the active mode display in the status bar:
left – aligns left
right – aligns right

gitlens.modes
Defines user-configured GitLens modes.Example: Add heatmap annotations to a Reviewing mode:
"gitlens.modes": { "review": { "annotations": "heatmap" } }Example: Define a new Annotating mode with blame annotations:
"gitlens.modes": {
"annotate": {
"name": "Annotating",
"statusBarItemName": "Annotating",
"description": "for root cause analysis",
"annotations": "blame",
"codeLens": false,
"currentLine": false,
"hovers": true
}
}


Name
Description

gitlens.autolinks
Defines autolinks to external resources in commit messages. Use <num> as a placeholder for the reference number.Example for Jira issues:
JIRA-123 ⟶ https://jira.company.com/issue?query=123
"gitlens.autolinks": [{ "prefix": "JIRA-", "url": "https://jira.company.com/issue?query=<num>" }]


AI Settings - Preview

Name
Description

gitlens.ai.enabled
Specifies whether to enable GitLens' AI-powered features

gitlens.ai.experimental.composer.enabled
Specifies whether to enable the experimental version of the commit composer

gitlens.ai.model
Specifies the AI provider and model to use for GitLens' AI features. Should be formatted as provider:model(e.g. openai:gpt-4o or anthropic:claude-3-5-sonnet-latest, gitkraken for GitKraken AI provided models, or vscode for models provided by the VS Code extension API (e.g. Copilot)"
vscode
openai:gpt-4
openai:gpt-4o
xai:grok-beta
openai:gpt-4-32k
anthropic:claude-2
openai:gpt-4-turbo
openai:gpt-4o-mini
anthropic:claude-2.1
openai:gpt-3.5-turbo
google:gemini-1.0-pro
openai:gpt-3.5-turbo-16k
anthropic:claude-instant-1
openai:gpt-4-turbo-preview
google:gemini-1.5-pro-latest
anthropic:claude-3-opus-latest
google:gemini-1.5-flash-latest
anthropic:claude-3-opus-20240229
anthropic:claude-3-haiku-20240307
anthropic:claude-3-5-sonnet-latest
anthropic:claude-3-sonnet-20240229
anthropic:claude-3-5-sonnet-20240620
anthropic:claude-3-5-sonnet-20241022

gitlens.ai.gitkraken.model
Specifies the AI provider and model to use for GitLens' AI features. Should be formatted as provider:model(e.g. openai:gpt-4o or anthropic:claude-3-5-sonnet-latest, gitkraken for GitKraken AI provided models, or vscode for models provided by the VS Code extension API (e.g. Copilot)"

gitlens.ai.vscode.model
Specifies the VS Code provided model to use for GitLens' AI features, formatted as provider:model

gitlens.ai.ollama.url
Specifies the Ollama URL to use for access

gitlens.ai.openai.url
Specifies a custom URL to use for access to an OpenAI model.

gitlens.ai.azure.url
Specifies a custom URL to use for access to an Azure OpenAI model. Azure URLs should be in the following format: https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/chat/completions?api-version={api-version}

gitlens.ai.openaicompatible.url
Specifies a custom URL to use for access to an OpenAI-compatible model.

gitlens.ai.largePromptWarningThreshold
Specifies the threshold (in tokens) for when to show a warning about the prompt being too large

gitlens.ai.modelOptions.temperature
Specifies the temperature, a measure of output randomness, to use for the AI model. Higher values result in more randomness, e.g. creativity, while lower values are more deterministic

gitlens.ai.explainChanges.customInstructions
Specifies custom instructions to provide to the AI provider when generating a summary of changes

gitlens.ai.generateChangelog.customInstructions
Specifies custom instructions to provide to the AI provider when generating a changelog from a set of changes

gitlens.ai.generateCommits.customInstructions
Specifies custom instructions to provide to the AI provider when generating commits

gitlens.ai.generateStashMessage.customInstruction
Specifies custom instructions to provide to the AI provider when generating a stash message

gitlens.ai.generateCreateCloudPatch.customInstructions
Specifies custom instructions to provide to the AI provider when generating a cloud patch title and description

gitlens.ai.generateCreateCodeSuggest.customInstructions
Specifies custom instructions to provide to the AI provider when generating a code suggest title and description

gitlens.ai.generateCreatePullRequest.customInstructions
Specifies custom instructions to provide to the AI provider when generating a pull request title and description


Misc Settings

Name
Description

gitlens.defaultGravatarsStyle
Specifies the style of default (fallback) gravatar images:
identicon – geometric pattern
mp – cartoon-style silhouette (same for all emails)
monsterid – colorful monster faces
retro – 8-bit pixelated faces
robohash – robot faces with variations
wavatar – faces with different features and backgrounds

gitlens.liveshare.allowGuestAccess
Allows guest access to GitLens features during Visual Studio Live Share sessions.

gitlens.outputLevel
Controls the verbosity of output sent to the GitLens output channel.

gitlens.showWelcomeOnInstall
Shows the Welcome (Quick Setup) experience on first install.

gitlens.showWhatsNewAfterUpgrades
Shows the What's New notification after upgrading to new feature releases.

gitlens.sortBranchesBy
Determines how branches are sorted in quick pick menus and views.

gitlens.sortContributorsBy
Determines how contributors are sorted in quick pick menus and views.

gitlens.sortTagsBy
Determines how tags are sorted in quick pick menus and views.

gitlens.sortRepositoriesBy
Determines how repositories are sorted in quick pick menus and views.

gitlens.advanced.abbreviatedShaLength
Length of abbreviated commit SHAs.

gitlens.advanced.abbreviateShaOnCopy
Determines whether copied commit SHAs are abbreviated to the length of gitlens.advanced.abbreviatedShaLength.

gitlens.advanced.blame.customArguments
Additional arguments to pass to the git blame command.

gitlens.fileAnnotations.preserveWhileEditing
Allows file annotations on unsaved (dirty) files. The gitlens.advanced.blame.delayAfterEdit setting controls the delay before updating annotations, which applies only if the file size is under gitlens.advanced.sizeThresholdAfterEdit (default 5000 lines).

gitlens.advanced.blame.delayAfterEdit
Time (milliseconds) to wait before re-blaming an unsaved document after an edit. Use 0 to wait indefinitely.

gitlens.advanced.blame.sizeThresholdAfterEdit
Maximum document size (lines) to re-blame after an edit while still unsaved. Use 0 for no maximum.

gitlens.advanced.caching.enabled
Enables caching of git output (changing this is not recommended).

gitlens.advanced.commitOrdering
Ordering method for commits (default is reverse chronological by commit date):
date – reverse chronological by commit timestamp
author-date – reverse chronological by author timestamp
topo – reverse chronological but avoids mixing multiple lines of history

gitlens.advanced.externalDiffTool
Optional external diff tool for file comparisons (must be a configured Git difftool).

gitlens.advanced.externalDirectoryDiffTool
Optional external diff tool for directory comparisons (must be a configured Git difftool).

gitlens.advanced.fileHistoryFollowsRenames
Enables following file history through renames, affecting how merge commits display.

gitlens.advanced.fileHistoryShowAllBranches
Shows commits from all branches in file history views.

gitlens.advanced.maxListItems
Maximum number of items shown in lists. Use 0 for no limit.

gitlens.advanced.maxSearchItems
Maximum number of items shown in search results. Use 0 for no limit.

gitlens.advanced.messages
Specifies which messages to suppress.

gitlens.advanced.quickPick.closeOnFocusOut
Dismisses quick pick menus when focus is lost. If disabled, press ESC to dismiss manually.

gitlens.advanced.repositorySearchDepth
Depth (number of folders) to search for repositories.

gitlens.advanced.similarityThreshold
Percent similarity required for a deleted and added file pair to be considered a rename.

gitlens.strings.codeLens.unsavedChanges.recentChangeAndAuthors
String shown in place of both recent change and authors CodeLens when there are unsaved changes.

gitlens.strings.codeLens.unsavedChanges.recentChangeOnly
String shown in place of the recent change CodeLens when there are unsaved changes.

gitlens.strings.codeLens.unsavedChanges.authorsOnly
String shown in place of the authors CodeLens when there are unsaved changes.

gitlens.worktrees.defaultLocation
Path variables:
${userHome} – user's home directory
${workspaceFolder} – path of the opened folder in VS Code containing the repository
${workspaceFolderBasename} – name of the opened folder in VS Code without slashes

gitlens.visualHistory.allowMultiple
Allows opening multiple Visual File History instances in the editor area.

gitlens.liveshare.enabled
Enables integration with Visual Studio Live Share.

multiDiffEditor.experimental.enabled
Enables VS Code's experimental multi-diff editor (requires VS Code 1.85+).

gitlens.views.openChangesInMultiDiffEditor
Controls whether to open multiple changes in VS Code's multi-diff editor (single tab) or individual diff editors (multiple tabs). Requires multiDiffEditor.experimental.enabled and VS Code 1.85+.

gitlens.experimental.cloudIntegrations.enabled
Enables GitHub integration via GitKraken account cloud integration.


Themable Colors

GitLens defines a set of themable colors that can be provided by VS Code themes or customized by users via workbench.colorCustomizations.

Name
Description

gitlens.gutterBackgroundColor
Background color of file blame annotations in the gutter.

gitlens.gutterForegroundColor
Foreground color of file blame annotations in the gutter.

gitlens.gutterUncommittedForegroundColor
Foreground color for uncommitted lines in file blame annotations.

gitlens.trailingLineBackgroundColor
Background color of trailing blame annotations.

gitlens.trailingLineForegroundColor
Foreground color of trailing blame annotations.

gitlens.lineHighlightBackgroundColor
Background color for associated line highlights in blame annotations.

gitlens.lineHighlightOverviewRulerColor
Overview ruler color for associated line highlights in blame annotations.

gitlens.focus.allowMultiple
Allows opening multiple instances of the Focus feature in the editor area.


Commit Graph Settings

Name
Description

gitlens.graph.showUpstreamStatus
Enables or disables upstream (ahead/behind) indicators on branches.

gitlens.graph.pullRequests
Enables or disables pull request icons in the Commit Graph.

gitlens.graph.dimMergeCommits
Dims (deemphasizes) merge commit rows in the graph.

gitlens.graph.scrollRowPadding
Number of rows from the edge at which the graph scrolls when changing the selected row via keyboard or search.

gitlens.graph.experimental.location
Location where the Commit Graph is shown:
tab – in a tab in the editor area
view – in the side bar, draggable to side bar, secondary side bar, or panel locations

gitlens.graph.layout
Default layout for the Commit Graph. Options:
panel (default) – shows in a panel
editor – shows in the editor area.
Honored when opening the Commit Graph from the command palette.

gitlens.graph.allowMultiple
Allows opening multiple Commit Graph instances in the editor area.

gitlens.graph.sidebar.enabled
Shows or hides the sidebar in the Commit Graph.


Cloud Patches (Preview) Settings

Name
Description

gitlens.cloudPatches.enabled
Enables or disables Cloud Patches. Defaults to true.


Launchpad Settings

Name
Description

gitlens.launchpad.ignoredRepositories
List of repositories (in owner/name format) to ignore in Launchpad.

gitlens.launchpad.ignoredOrganizations
List of organizations or users to ignore in Launchpad.

gitlens.launchpad.staleThreshold
Number of days after which a pull request is considered stale and moved to the "Other" category.

gitlens.launchpad.indicator.enabled
Enables the Launchpad indicator in the status bar.

gitlens.launchpad.indicator.icon
Style of the Launchpad indicator icon.

gitlens.launchpad.indicator.label
Style of the Launchpad indicator label.

gitlens.launchpad.indicator.groups
Critical pull request categories to summarize in the indicator tooltip.

gitlens.launchpad.indicator.useColors
Enables color usage in the Launchpad indicator.

gitlens.launchpad.indicator.openInEditor
Opens the Launchpad in the editor when the indicator is clicked.

gitlens.launchpad.indicator.polling.enabled
Enables regular polling for pull request changes.

gitlens.launchpad.indicator.polling.interval
Polling interval in minutes for checking pull request changes.

gitlens.views.launchpad.enabled
(Experimental) Enables the experimental Launchpad view.

gitlens.launchpad.includedOrganizations
Organizations to include in Launchpad.


GitLens Streamline Collaboration

URL: https://help.gitkraken.com/gitlens/gl-streamline-collaboration/
Last updated: July 2025

 

Collaborating in a repository can be tricky—especially when you want to share work without flooding the remote with temporary commits or branches. Traditional pull request workflows also limit which files you can review or comment on—typically only those that have changed.

GitLens helps streamline collaboration through:

  • Cloud Patches – Share uncommitted code changes without pushing to a remote.
  • Code Suggest – Propose changes on any file, not just modified ones.

Cloud Patches `PRO`

Cloud Patches are Git patches that can be shared with anyone in your GitKraken organization. Teammates can apply them directly to their working directory—ideal for reviewing or collaborating on code before it’s committed.

To create a Cloud Patch:

  1. Make and save changes to any file.
  2. Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P).
  3. Run: GitLens: Share as Cloud Patch…
  4. Select teammates to share with.

Recipients will see the patch in the Cloud Patch sidebar and can apply it directly to their workspace.

Open the Cloud Patches View in GitLens

This feature is available with a GitLens Pro subscription or higher.

Code Suggest `PRO`

Code Suggest lets you propose edits to any file in a repository—regardless of whether the file was modified. You can submit these suggestions directly to another team member’s open pull request.

To create a Code Suggestion:

  1. Check out a branch that has an open pull request.
  2. Make and save changes to any file.
  3. Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P).
  4. Run: GitLens: Show Inspect View > Suggest Changes for PR.

The PR creator can:

  • Review your suggestions
  • Apply them to their working directory
  • Commit and push the changes to the open pull request

This feature is available with a GitLens Pro subscription or higher.


GitLens Support Terms and Conditions

URL: https://help.gitkraken.com/gitlens/gl-terms-and-conditions/
Our goal is to ensure you can use GitLens effortlessly and with minimal friction. In the unlikely event that you need to reach out to a human, refer to our current Terms and Conditions below.

You can always reach out to us by using the Contact support.


GitLens Support

  • Support requests for GitLens are to be submitted at Contact Support. Interactions with users submitting tickets are done primarily through emails, though other communication services such as phone calls, screenshare services might be used to deliver Support Services.

  • The following product plans are guaranteed support: Pro, Advanced, Business, and Enterprise.

  • Support Hours are 10:00 am to 10:00 pm, Monday to Friday, UTC. While users can submit support requests anytime, responses to requests and interactions with support are provided during Support Hours only. Below are the response times for each of our Plans during support hours.

PRO Advanced Business Enterprise
Response Time 3 Business Days 1 Business day 12 Hours 6 Hours
  • GitLens is available only for Visual Studio Code

  • While we try to get to everyone who reaches out, a response is not guaranteed to all users. This includes any users who are on Student and Community plans. We encourage all users to engage in our community and utilize our self servicefree resources. Additional Resources

Support Period

We will support Generally Available (GA) releases of products. Eligible code fixes and hot fixes are provided via a new release (Z) on top of the latest “Major release” and “minor release” branch. A major release is identified by a change in the first (X), minor release is identified by the second (Y) digit in the following versioning nomenclature: Version X.Y.Z.

As a best practice, we expect customers to stay at the current release in order to receive optimal support. Release updates for customers are provided regularly on the GitKraken Help Center for each GitKraken product. While we will provide troubleshooting assistance to GA products, we might ask customers to upgrade to the current release during the troubleshooting process in order for them to receive functionality enhancements, security updates, and code fixes.

End-of-Life

GitKraken will support a Major release for a period of at least 12 (twelve) months from the major release, excluding minor and patch releases (eg version 9.Y.Z will be eligible for support for 12 month period from when the 9.0.x version was released). However, while troubleshooting customer issues, a customer may be asked to upgrade to the current release.

GitKraken’s end-of-life policy provides that GitKraken will provide customers with at least sixty (60) days’ prior notice before discontinuing any product. After the End of Life Period expires, GitKraken will no longer be obligated to provide support services for the terminated software.

End of Life (EoL) process

The decision to retire or deprecate features follows a rigorous process, including understanding the demand, use, impact of feature retirement, and, most importantly, customer feedback. Our goal is to invest resources in areas that will add the most value for the most customers. GitKraken is committed to being clear, transparent, and proactive when interacting with our customers, especially about changes to our products.

To that end, we will do our best to follow these guidelines when retiring functionality:

  • Advance notice: For the EoL of major features or products, we will attempt to notify customers at least 60 (sixty) days in advance.
  • Viable alternatives: GitKraken will strive to provide viable alternatives to our customers when retiring functionality. These may be alternative offerings from GitKraken or recommended alternatives from 3rd party providers. Where possible and appropriate, GitKraken will automatically migrate customers to alternatives for retired functionality.
  • Continued support: GitKraken commits to providing continued support for functionality until its retirement date.

We may need to accelerate the timeline for EoL of functionality in extenuating circumstances, such as essential changes necessary to protect th