Skip to main content

Overview

Issue triaging is the process of reviewing, organizing, and prioritizing issues in the VS Code repository. This guide explains how the VS Code team manages issues and how contributors can help with the triaging process.
While primarily aimed at maintainers and regular contributors, understanding the triaging process helps all contributors know what to expect when they file issues or submit pull requests.

Issue Lifecycle

Every issue goes through a series of stages from creation to resolution:
1

Issue Created

A user reports a bug or requests a feature using the issue template.
2

Initial Triage

Team reviews the issue to:
  • Verify it’s in the correct repository
  • Check for duplicates
  • Add appropriate labels
  • Request more information if needed
3

Investigation

If it’s a bug:
  • Reproduce the issue
  • Identify root cause
  • Assess severity and impact
4

Prioritization

Determine when to address:
  • Current milestone
  • Future milestone
  • Backlog
5

Resolution

Issue is addressed through:
  • Code fix (via PR)
  • Documentation update
  • Working as designed explanation
  • Won’t fix decision
6

Closure

Issue is closed with appropriate reason and milestone.

Issue Labels

VS Code uses a comprehensive labeling system to categorize and track issues:

Type Labels

bug - Something isn’t working correctlyBugs are prioritized based on:
  • Severity (data loss, crashes, functional issues)
  • Impact (number of users affected)
  • Workaround availability

Area Labels

Indicates which part of VS Code is affected:
  • editor - Text editor core
  • editor-autoclosing - Auto-closing of brackets/quotes
  • editor-code-actions - Quick fixes and refactorings
  • editor-color-picker - Color picker widget
  • editor-find - Find and replace
  • editor-folding - Code folding
  • editor-hover - Hover tooltips
  • intellisense - Code completion
  • minimap - Minimap view
  • workbench - VS Code UI shell
  • workbench-cli - Command line interface
  • workbench-debug - Debug functionality
  • workbench-editor-grid - Editor layout
  • workbench-extensions - Extension management
  • workbench-files - File explorer
  • workbench-integrated-terminal - Built-in terminal
  • workbench-search - Search functionality
  • workbench-settings - Settings UI
  • workbench-tabs - Editor tabs
  • languages-basic - Basic language support
  • languages-diagnostics - Error/warning squiggles
  • typescript - TypeScript/JavaScript
  • json - JSON support
  • markdown - Markdown support
  • extensions - Extension API
  • extension-host - Extension runtime
  • api - Extension API
  • electron - Electron shell
  • keybindings - Keyboard shortcuts
  • themes - Color themes
  • L10N - Localization/translations
  • performance - Performance issues
  • accessibility - Accessibility

Status Labels

info-needed - More information required from reporter
Issues automatically close after 7 days if no response is provided.

Priority Labels

important - High priority, should be addressed soonIssues affecting many users or core functionality.
help-wanted - Team welcomes community contributions
Great issues for external contributors to tackle!
good-first-issue - Suitable for first-time contributorsRelatively simple issues that are well-defined and don’t require deep codebase knowledge.

Automated Issue Management

VS Code uses GitHub Actions to help manage the large volume of issues:

Automated Actions

Auto-closes issues marked info-needed after 7 days with no response.
Issue closed due to no response to request for information.
Please reopen if you can provide the requested details.
If you believe the bot made a mistake, open a new issue explaining the situation and referencing the affected issue.

Feature Request Pipeline

Feature requests follow a specific process to ensure community input:
1

1. Under Discussion

New feature request is opened and labeled feature-request.Community can:
  • Vote with 👍 reactions
  • Discuss use cases
  • Propose alternatives
2

2. Team Review

After sufficient discussion, team reviews:
  • Alignment with VS Code vision
  • Feasibility
  • Community interest
  • Potential implementation approach
3

3. Backlog or Planning

If approved:
  • Added to backlog
  • May be assigned to a milestone
  • Team or community can implement
If not approved:
  • Closed with explanation
  • May suggest alternatives
4

4. Implementation

Once scheduled:
  • Issue assigned to milestone
  • Work begins (team or contributor)
  • PR submitted and reviewed
5

5. Shipped

Feature ships in VS Code release:
  • Issue closed and referenced in release notes
  • Community notified
Upvote feature requests with 👍 reactions on the original post, not with comments. This helps the team gauge interest more accurately.

How to Help with Triaging

Community members can help with issue triaging:

Reproducing Issues

Help confirm bugs by:
  1. Following reproduction steps in the issue
  2. Testing on your system (note your OS/version)
  3. Commenting with results:
    I can confirm this issue on:
    - VS Code: 1.85.0
    - OS: macOS 14.1
    - Extensions: [list relevant extensions]
    
    [Additional details or observations]
    
  4. Providing additional info like screenshots or videos

Identifying Duplicates

Before filing an issue (or after you spot a new one):
  1. Search existing issues for similar problems
  2. Check closed issues - might have been fixed or rejected
  3. Comment with links if you find duplicates:
    This appears to be a duplicate of #12345
    
  4. Don’t close or label - let maintainers confirm

Providing Additional Context

If you encounter the same issue:
  1. Add your use case - different perspectives help
  2. Share workarounds if you’ve found any
  3. Provide code samples that demonstrate the issue
  4. Note related issues that might be connected
Avoid “+1” comments. Use 👍 reactions instead.

Answering Questions

If you know the answer to someone’s question:
  1. Provide clear answers with examples
  2. Link to relevant docs or issues
  3. Suggest workarounds if no direct solution exists
  4. Direct to Stack Overflow for general questions
Helping other users is one of the most valuable contributions you can make!

Issue Tracking Workflow

For Reporters

What to expect when you file an issue:
1

Submission

You submit an issue using the appropriate template.
2

Bot Analysis

Automated system:
  • Checks for similar issues
  • May request additional info
  • Suggests related documentation
3

Team Triage

Team member reviews:
  • Adds labels
  • Asks clarifying questions
  • Assigns to area owner
4

Investigation

If it’s a bug:
  • Team attempts to reproduce
  • May request more details
  • Identifies root cause
5

Resolution

Issue is resolved through:
  • Fix in upcoming release
  • Explanation (working as designed)
  • Won’t fix with reasoning
Be patient - the team manages thousands of issues. Response times vary based on severity and impact.

For Contributors

Looking for issues to work on?
Filter for good-first-issue label:View Good First IssuesThese are:
  • Well-defined
  • Limited scope
  • Don’t require deep codebase knowledge

Best Practices for Issue Reporters

Writing Effective Bug Reports

The template exists for a reason - it ensures you provide all necessary information:
  • VS Code version
  • Operating system
  • Reproduction steps
  • Expected vs actual behavior
Don’t combine multiple unrelated bugs or feature requests:✅ Good: “File explorer crashes when renaming folders with special characters”❌ Bad: “File explorer crashes, terminal font is wrong, and I’d like a new theme”
Before creating a new issue:
Simplify the reproduction case:
// Good - minimal example
const x: string = 123; // Type error not shown

// Bad - complex example with irrelevant code
[100 lines of unrelated code]
const x: string = 123; // Type error not shown
[100 more lines]
For UI issues, include:
  • Screenshots showing the problem
  • GIFs/videos demonstrating the issue
  • Before/after comparisons
Use built-in screen recording (Windows: Win+G, macOS: Cmd+Shift+5)

Responding to Triage

When team members request information:
1

Respond Promptly

Provide requested information within 7 days to prevent auto-closure.
2

Be Thorough

Answer all questions in the request, not just some.
3

Format Clearly

Use code blocks, screenshots, and clear explanations.
4

Stay Subscribed

Don’t unsubscribe from your own issues - you may need to provide more info.

Understanding Issue Closure

Issues may be closed for various reasons:
Issue resolved in a merged PR.Check the linked PR and milestone to see when the fix will ship.
Closed doesn’t mean rejected. Many issues are closed as duplicates of other open issues, or are closed when fixed and scheduled for a future release.

Resources

Issue Tracking Wiki

Detailed issue workflow

Feedback Channels

Where to provide feedback

Related Projects

VS Code ecosystem repos

How to Contribute

Getting started guide

Questions?

If you have questions about issue triaging:
Helping with issue triaging is a valuable way to contribute to VS Code, even if you don’t write code. Every issue that’s properly labeled, confirmed, or closed as a duplicate helps the team focus on building new features and fixing bugs.