Skip to content
| Marketplace
Sign in
Visual Studio Code>SCM Providers>Azure Pull Request ToolkitNew to Visual Studio Code? Get it now.
Azure Pull Request Toolkit

Azure Pull Request Toolkit

Preview

windowslucker

|
1 install
| (0) | Free
Review, create and manage Azure DevOps pull requests (Services and Server) without leaving VS Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Azure Pull Request Toolkit

Review, create and manage Azure DevOps pull requests without leaving VS Code. Works with Azure DevOps Services and Azure DevOps Server 2019 or later, with several organizations, accounts and repositories at once.

  • Browse pull requests with your own queries across every repository in the workspace.
  • Review with real diffs, comment on any line of either side, vote, and track what you have viewed.
  • Complete, auto-complete, abandon, retarget and edit pull requests; see policies, builds and work items.
  • Create pull requests from your branch with templates, reviewers and work items.
  • Get notified about reviews, comments, votes and builds.
  • Optional AI help through the language models available in VS Code.

Getting started

  1. Install the extension and open a folder with a clone of an Azure DevOps repository.
  2. Open the Azure Pull Requests view in the activity bar.
  3. Click Sign in to {organization} in the view (or the status bar item) and choose how to sign in (see Signing in).

Your repositories appear with their pull requests. Click a pull request to open it.

Needs VS Code 1.97 or later.

Features

Pull Requests view

  • Organization › repository › query › pull request, with each PR's changed files and commits. Other groupings: by organization, by query, or flat (azurePrToolkit.groupBy).
  • Queries (azurePrToolkit.queries). Defaults: Waiting for my review, Assigned to my teams, Created by me, All active, Completed (recent). Filters: status, creator and reviewer (@me, @myTeams), branches, draft, labels, your vote and text. Each query shows top pull requests; Load more… fetches the next ones.
  • Repositories come from the Git extension and a scan of each workspace folder (azurePrToolkit.discovery.scanDepth). Pin Repository or Project shows repositories or whole projects you have not cloned.
  • Open in Browser and Copy Link on repositories, pull requests, files and commits.

Pull request page

Click a pull request to open its page. The Review view loads alongside.

  • Title and description (both editable), status, author, branches (Change target).
  • Complete…: the merge types your branch policies allow, commit message, delete the source branch, complete work items, and override policies with a reason (if you are allowed to). Set auto-complete… / Cancel auto-complete, Publish / Mark as draft, Abandon / Reactivate.
  • Your vote, and reviewers with their votes. Add required or optional reviewers, remove optional ones.
  • Policies with their state. Build policies link to the build, open its logs in an editor and can be re-queued. Status checks from other services.
  • Merge conflicts, with Checkout to resolve locally.
  • Linked work items and labels, which you can add and remove.
  • Activity: pushes, votes and other events, PR-level discussion (comment, reply, set status), and file comments that open the diff at their line.

Reviewing

  • Diffs. Click a file in the Review view for its diff, or Review All Files for the multi-diff editor. Files are read from Azure DevOps; nothing needs to be checked out.
  • Iterations. Compare Iterations… switches between Base ↔ latest, Changes since my last review and any pair of iterations (azurePrToolkit.review.defaultCompare).
  • Comments. Comment on any line of either side, or on a whole file (comment icon in the editor title). Reply, edit and delete your comments, like comments, and Resolve, Reactivate or set any of the six thread statuses. Resolve writes azurePrToolkit.comments.resolveStatus. PR-level discussion and comments on files outside the compared range are listed in the Review view.
  • Viewed. Tick files as viewed. The mark is kept locally and cleared when a new push changes the file. azurePrToolkit.review.closeViewedFile closes the diff when you tick it.
  • Vote from the Review view title or a pull request's context menu.
  • Local copies. Some viewers (3D models, images, …) need a real file. Open Local Copy writes the file and the other files of its folder at that commit to a cache folder and opens it, so references such as model.gltf → model.bin work. Download File… saves one file.

Suggestions

Select lines on the right side of a diff and choose Suggest Change from the context menu. Edit the lines in the editor that opens, then click Post Suggestion. The comment contains a ```suggestion block, as in the web UI.

Apply Suggestion on such a comment edits your local file when the branch is checked out. Otherwise it shows a preview and, after you confirm, commits the change to the source branch. It is refused when the branch moved since you loaded the review, and for binary, Git LFS and non-UTF-8 files. Line endings and byte order marks are kept. The thread is then resolved.

Checkout

Checkout (PR page, PR context menu, Review view) fetches the source branch into your clone and switches to it, creating a tracking branch when needed. You are warned about uncommitted changes first. While the branch stays checked out, the right side of diffs for the latest iteration is your local file, so IntelliSense, navigation and edits work, and comments on it are posted normally.

Creating pull requests

Create Pull Request is in the Pull Requests view title, on repository rows, in the Source Control view title and in the command palette. After you push a branch that has no pull request, a notification offers to create one (azurePrToolkit.create.promptAfterPush).

  • Source is your current branch; target is azurePrToolkit.create.defaultTarget or the repository's default branch. An open PR from the same branch is linked. Push appears when the branch is not on the server or has unpushed commits.
  • Title comes from a single commit's subject, or from the branch name.
  • Description comes from the pull request template on the target branch, found like Azure DevOps does (.azuredevops/, .vsts/, docs/, root; branch-specific templates first). Other templates can be picked from a list.
  • Reviewers start from azurePrToolkit.create.defaultReviewers (! makes one required). Work items mentioned as AB#123 or #123 in the branch name or commits are suggested. Labels, draft and auto-complete.
  • The commits and changed files of the pull request are shown next to the form (based on the merge base Azure DevOps reports); Changes on a commit opens its diff through VS Code's Git integration.

Notifications

Every azurePrToolkit.notifications.interval seconds (default 120; four times less often while VS Code is in the background) the extension checks for pull requests assigned to you or your teams, others' comments on your pull requests and those you review, votes and finished builds on your pull requests, and your pull requests completing, being abandoned or getting conflicts. You get a badge on the Pull Requests view and one notification per check. Choose the kinds with azurePrToolkit.notifications.events.

Mentions and images

In the comment box, @ suggests people, # work items (by number or title) and ! pull requests. Mentions show as names. Images attached to the pull request are loaded on the PR page with your credentials; images from other sites are shown as links and not loaded.

AI assist (optional)

Uses a language model available in VS Code, such as GitHub Copilot. Hidden when there is none or azurePrToolkit.ai.enabled is off. The AI only suggests text. It never posts comments, votes, commits or changes anything; every such step is your own click.

AI review of a pull request. Review with AI on the PR page, or Review Pull Request with AI in the Review view title, sends every changed file (its diff and new content, plus the PR title and description) to the model after you confirm. Review This File with AI in a diff's editor title reviews one file.

  • Findings are marked in the diffs: a gutter icon, a highlighted line and a short hint. Hover shows the explanation and, when the AI proposes a fix, the change as a diff.
  • From the hover, the lightbulb, or the AI findings group in the Review view:
    • Create Comment from AI Finding opens a comment on those lines, in edit mode and prefilled with the AI's text (a proposed fix becomes a ```suggestion block). Change it as you like, then Post Comment, or Discard Draft.
    • Preview AI Change shows the file with the fix applied, in a diff; nothing is written.
    • Dismiss AI Finding removes it.
  • Add your team's rules with azurePrToolkit.ai.reviewInstructions. azurePrToolkit.ai.reviewMaxFiles (default 100) limits how many files one review sends. Binary files, files over 400 KB and deleted files are skipped.

Other commands: Summarize with AI on the PR page, and Write with AI in the Create form.

Signing in

The extension never opens a sign-in dialog by itself. When an organization needs credentials, the view shows Sign in to {organization} and a status bar item appears.

Account type Works with Notes
Microsoft Entra Services VS Code's built-in Microsoft sign-in. The organization's tenant is detected, so guest accounts work.
Personal access token Services and Server Kept in VS Code's secret storage. Scopes: Code (Read & write); Build (Read & execute) for logs and re-queue; Work Items (Read & write) to link work items; Identity (Read) to find reviewers.
Azure CLI Services az account get-access-token. Needs a trusted workspace.

Each organization uses one account. It is chosen automatically when one of your accounts works; change it with Choose Account for Organization. Azure PR: Manage Accounts adds and removes accounts and can list an account's organizations and projects to pin.

Azure DevOps Server

Add each server:

"azurePrToolkit.servers": [
  { "url": "https://ado.contoso.com/tfs", "collection": "DefaultCollection" }
]

Sign in with a personal access token. The API version is detected (7.1 down to 5.0); set apiVersion to skip detection. Remotes that look like an unconfigured server are listed in the view with a link to this setting. Features the server does not support are hidden.

Settings

Setting Default Description
azurePrToolkit.queries 5 queries Named queries shown under each repository
azurePrToolkit.groupBy repo Grouping of the Pull Requests view: repo, org, query or flat
azurePrToolkit.discovery.scanDepth 2 Folder levels below each workspace folder scanned for repositories
azurePrToolkit.discovery.exclude ["**/node_modules"] Folders the scan skips
azurePrToolkit.pinned [] Repository or project URLs to show without a clone
azurePrToolkit.servers [] Azure DevOps Server instances
azurePrToolkit.review.defaultCompare base base (all changes) or sinceLastReview
azurePrToolkit.review.closeViewedFile false Close the diff when a file is marked viewed
azurePrToolkit.review.openAllInMultiDiff false Open all files in the multi-diff editor when a review starts
azurePrToolkit.comments.resolveStatus fixed Status written by Resolve
azurePrToolkit.comments.showSystemEvents true Show votes, pushes and other events in the activity
azurePrToolkit.complete.defaultMergeStrategy squash Merge type preselected when completing
azurePrToolkit.complete.deleteSourceBranch true Preselect deleting the source branch
azurePrToolkit.complete.transitionWorkItems true Preselect completing work items
azurePrToolkit.create.defaultTarget "" Target branch for new pull requests (per folder); empty uses the default branch
azurePrToolkit.create.defaultReviewers [] Reviewers for new pull requests (per folder); ! makes one required
azurePrToolkit.create.promptAfterPush true Offer to create a pull request after a push
azurePrToolkit.notifications.enabled true Background checks and notifications
azurePrToolkit.notifications.interval 120 Seconds between checks (at least 60)
azurePrToolkit.notifications.events all on assigned, comments, votes, builds, statusChanges
azurePrToolkit.ai.enabled true AI commands (still hidden without a language model)
azurePrToolkit.ai.model "" Chat model id for AI features; set it with Azure PR: Choose AI Model (empty: the first model VS Code offers)
azurePrToolkit.ai.reviewInstructions "" Team review guidelines added to every AI review request
azurePrToolkit.ai.reviewMaxFiles 100 Most files one AI review sends to the model

Privacy and security

  • No telemetry. The extension collects and sends no usage data.
  • Requests go only to your Azure DevOps organizations and servers. With AI assist, the content listed for each command goes to the language model you use in VS Code, and only when you run the command. AI output is shown as suggestions; it is never posted or applied without your action, and links in it cannot run commands.
  • Credentials are sent only to the organization's own host and never follow redirects. Personal access tokens are kept in VS Code's secret storage. Tokens are removed from the log and from error messages.
  • Text from pull requests is treated as untrusted: comments, hovers and pages show it without HTML, scripts or command links, and pages load no remote content.

Please report security problems as described in SECURITY.md.

Troubleshooting

  • Azure PR: Show Log shows every request (without tokens) and errors.
  • A repository is missing. Check that its remote points to Azure DevOps. For a server, add it to azurePrToolkit.servers. Increase azurePrToolkit.discovery.scanDepth for deeply nested clones.
  • "Sign in" keeps appearing. Run Choose Account for Organization and pick an account that has access, or add a personal access token with the scopes above.
  • Behind a proxy or with a self-signed certificate. The extension uses VS Code's network settings (http.proxy, system certificates, http.proxyStrictSSL).

Known limitations

  • "Viewed" marks are kept in VS Code and are not synced with the web UI.
  • Azure DevOps Server works with personal access tokens only (no Windows authentication yet).
  • Local copies include the files of the same folder, not sub-folders.
  • The multi-diff editor can be slow with very large pull requests; you are asked before opening more than 300 files at once.

Feedback and issues

Report bugs and ideas at github.com/windowslucker1121/azure-pr-toolkit-issues. Please include the extension and VS Code versions and the relevant lines from the Azure Pull Request Toolkit output channel (remove anything confidential).

License

Proprietary, free to use: see LICENSE. Bundled open-source components are listed in ThirdPartyNotices.txt.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft