copilot

Subscribe to all “copilot” posts via RSS or follow GitHub Changelog on Twitter to stay updated on everything we ship.

~ cd github-changelog
~/github-changelog|main git log main
showing all changes successfully

Summary

Starting Tuesday, February 18th, 2025, we will be updating our retention policy so that the last_activity_at field will only be actively stored by GitHub for 90 days. Previously, this contents of this field were retained indefinitely.

What’s Changing

  • Old Policy: Unlimited retention of the last_activity_at value.
  • New Policy: A rolling 90-day retention period. If your data’s last_activity_at exceeds 90 days, its value will be set to nil.

Expected Impact

The vast majority of our users will see little or no impact because the last_activity_at field should always display the most recent activity date.

Only users with no new activity within a 90-day window will have their last_activity_at value replaced by nil. In practice this means that on the changeover date, users whose last activity with Copilot took place prior to 11/20/2024 will have the value for their last_activity_at replaced on a rolling-forward basis.

Detail

Clarifying the behavior of last_activity_at in the context of the current changes:

  1. Assigning a Seat: When you assign a seat to a user, the last_activity value for that seat will be nil until the user interacts with it for the first time. This is true even if the user had previous activity from a different seat assignment in another organization.
  2. Removing a Seat: When you remove a seat from a user, the last_activity data for that user is set to nil in the revoking org. Their data is unaffected for other admins who have granted that user a seat in other orgs, when pulled for those orgs.

  3. Reassigning a User to Seat: If you remove a seat from a user and later assign a new seat to the same user, the last_activity value for the new seat will again be nil until the user’s next interaction, regardless of whether the seat was previously assigned to them.

  4. Deleting a User: If you delete a user, all associated last_activity data for that user is immediately deleted.

  5. Determining Dormancy: When retrieving activity data for a seat, you can use the created_at and last_activity values to determine dormancy. For example, if created_at is more than 30 days ago and last_activity is either more than 30 days ago or nil, the seat may considered dormant.

  6. Activity Data for Assigned Seats: When retrieving last_activity data for assigned seats, you will receive a nil value if the assignee’s most recent activity record is older than 90 days.

Note: Behavior of the data will remain consistent with the Activity Report, available in Admin UI.

Why We’re Making This Change

Our external data surfaces must be quality first. Retaining data of this volume for multi-year retention periods increases storage and backup overhead significantly, as well as the cost and complexity of quality checks. A time-bound retention policy allows us to maintain efficiency while still offering relevant, up-to-date information. This will allow us to further improve the resilience of the data that is returned by the endpoint, while limiting the impact only to very old records.

Next Steps

You don’t need to take any action if you rely on the last_activity_at field for current activity records.

However, if for any reason you have workflows or reports that depend on usage dates for active seats that have been dormant for 90 or more days, please be aware that these values will become nil for records older than 90 days, for dates on or before November 20th, 2024, as of Tuesday, February 18th, 2025. While exceptionally rare, we encourage you to store API responses for cases where this will become problematic.

See more

This week’s Copilot Workspace updates are focused on improvements to navigation and file management. As ever, drop your feedback into this discussion.

Simpler file tree navigation

When folders don’t have any direct file children but only have other folders as children, we now combine those into one folder to reduce the amount of nesting in the file tree.

In addition, when you open the file tree and have generated files, we now show Changed files as the default viewing mode.

combine paths with single child

Delete a file from the actions menu

By clicking on the ellipses in a file, you’re now able to delete a file directly from the actions menu of Copilot Workspace.

delete file navigation

Opening files now opens them in an ephemeral tab

When you click a file in the tree, a new ephemeral tab is opened. When you double-click a file in the tree, it opens as a new regular tab. This aligns with the experience of most other IDEs and keeps your open tab list to just the ones you need.

Forwarded ports are easier to access

Now, when a command action uses port forwarding, a globe icon is added next to the command row, allowing you to view a live preview of the running port.

port forwarding button example

Improved screen layout in pull requests for smaller devices

Now, when working on smaller screens, the commit panel and suggestions pane will close as necessary, to better fit within your screen.

We want to hear from you

Please drop any and all feedback in our GitHub Discussion. We appreciate any and all feedback you have!

See more

On March 31, 2025, GitHub Copilot Extensions will require an updated header format for agent requests. Both updated and previous versions of the request headers will be supported until then. These headers denote requests that come from GitHub and enable your extension to communicate with GitHub.

Updated headers:
X-GitHub-Public-Key-Identifier
X-GitHub-Public-Key-Signature

Previous headers, to be deprecated on March 31, 2025:
Github-Public-Key-Identifier
Github-Public-Key-Signature

Please update your relevant checks to the correct headers by March 31, 2025 for a consistent experience and to avoid breaking changes. To learn more, visit this page.

See more

The ability to ask Copilot about Actions job failures is now Generally Available.

Simply press “Explain Error” from the pull request merge box or the Actions job page to chat with Copilot about why a job failed, and get tailored guidance on how to resolve the issue.

To get started, in the pull request merge box, select “More actions” for a failing check, and then “Explain Error” to get help. Or, on the job page for the failed job, hit the same button next to the search bar.

Image of Explain Error in the merge box of a PR

Copilot can analyze one job at a time. Each time it’s used, it consumes a chat message. See the Copilot subscriptions page for more information on chat allowances for each Copilot plan.

We’d love to hear your feedback! Do drop it in the discussion in the GitHub Community.

See more

Happy new year! We’ve got fresh Copilot Workspace updates for you this week, including the ability to add a new file directly to the file tree and reduced latency in the terminal.

Adding new files from file tree

You can now add a new file directly to the file tree, rather than having to modify the plan.

photo of adding a new file from the file tree

Error toggling

We’ve enabled an option to toggle errors on and off within your editor. This will allow you to hide errors when you’re not actively working on them.

gif of error toggling

Improved codespace creation

Now when you create a codespace, your codespace will be created in the region closest to you. This will improve the latency of your connection, providing a smoother experience while editing and using the terminal.

Accessibility improvements

Screen readers will now announce when suggestions are applied.

Bug fixes

Fixed a design regression where there was no border between the editor and the file.

We want to hear your feedback

Please drop your feedback in our GitHub Discussion. We appreciate any and all feedback you have!

See more

We are excited to announce that all paying Copilot customers can now use the technical preview of GitHub Copilot Workspace.

hero image for the copilot workspace technical preview

Copilot Workspace is a Copilot-native development environment designed to help you with everyday tasks, from idea to merge.

Starting from a GitHub Issue or natural language task, you can work with Copilot Workspace to iterate on solving your problem. Together, you can:

  • Brainstorm your ideas: Ask Copilot questions about how your codebase currently works, and explore ideas for how to solve your task.
  • Plan your changes: Leverage Copilot Workspace to generate a comprehensive plan for your code change, surfacing relevant code and describing the changes necessary in each file to achieve your goal.
  • Implement and validate: Let Copilot Workspace propose code changes that you can iterate on and refine in natural language or code. You can even build, run, and test the code directly within Copilot Workspace with a fully functional compute environment provided by GitHub Codespaces before creating a pull request.

Everything that GitHub Copilot Workspace proposes – from the plan to the code – is fully editable, allowing you to rapidly iterate until you’re confident in the change.

To find out more, check out the blog that first launched Copilot Workspace to the world.

Getting Started

Sign up for the technical preview by logging into Copilot Workspace. Please note that Enterprise Managed Users are not eligible for the technical preview.

Once you have access, check out the user manual, or these 5 helpful tips and tricks for getting the most out of Copilot Workspace.

Organization administrators can enable members to use Copilot Workspace with repositories owned by their organization by approving the Copilot Workspace OAuth app for the organization. OAuth app restrictions are enabled by default when new organizations are created, so unless you’ve changed this setting, members of your organization will not have access to Copilot Workspace on organization-owned repositories by default. To enable Copilot Workspace for your organization’s repositories:

You can share any questions, concerns, or ideas in this discussion post. We can’t wait to see what you build!

See more

Welcome to another week of Copilot Workspace updates! We have a bunch this week, so let’s jump right in! 🎉

Copilot Workspace

Handling large files

Workspace will now inform you when a file is too large to be displayed, and link you to view the file in the repo editor.

"image of file too large with correct warning"

Copying the branch name

Now when selecting a branch, you’ll be able to copy the branch name to your clipboard. You’ll will see a check mark after successfully copying the branch name.

Improvements to the diff editor

  • The scrolling experience has been improved, allowing you to scroll through all your files at once instead of each file individually.
  • We’ve enabled collapsing regions outside the diff, and are showing 3 lines of context padding the diff.
  • We’ve enabled word wrapping within the editor.

Bug fixes

  • Empty files now display correctly
  • Fixed a bug during plan creation that was causing Copilot Workspace to crash
  • No longer does renaming the spec question include a scroll bar
  • Fixed an issue where renamed files did not update all references across the plan, tabs, and editor. Now when you rename a file you will see that name change reflected everywhere.

Copilot Workspace for PRs

New file path auto-populating

Adding new files will auto-populate the path, making it easier to add new files to your repository.

Individual file resets

You can now reset individual files, rather than having to reset the state of all changes.

Hiding trailing whitespace

We’ve enabled an option for you to hide whitespace when viewing a diff.
showing trailing whitespace and then hiding it

Add indication when suggestion cannot be applied

We now alert you when a suggestion can’t be applied.
photo-of-improved-file-handler

Accessibility improvements

Accessibility continues to be core to the GitHub experience. Over the upcoming changelogs we’ll be highlighting improvements to our accessibility experience.

  • User operating system specific hints on keyboard shortcuts are enabled
  • A missing checkbox label on commit dialog has been added
  • Screen reader feedback on suggestions are now applied

Bug fixes

  • Copilot Workspace now informs users if a file is too large to be viewed
  • Changing files is enabled when focusing on a suggestion
  • Suggestions that would be applied to files you have removed are now deleted

Providing Feedback

Please give feedback in our GitHub Discussion. We appreciate any and all feedback you have!

See more

OpenAI’s brand new o1 model is now available in Copilot Chat for Copilot Pro, Business and Enterprise subscribers.

The new o1 model replaces o1-preview, and offers even better performance in complex tasks.

To try it, just pick o1 (Preview) from the model picker in Visual Studio Code or in the full-screen, immersive Copilot Chat experience at github.com/copilot.

Picking the o1 model in Copilot Chat in Visual Studio Code

Access to the o1 model is currently in public preview, so if you’re a Copilot Business or Copilot Enterprise subscriber, an administrator must enable access to the o1 family of models before o1 shows up in the model picker.

Support for o1 is coming soon to Visual Studio, and we’re working to bring the model picker to the JetBrains IDEs.

OpenAI o1 is also available in GitHub Models – to learn more, check out the changelog.

See more

Free Tier Support for GitHub Copilot Now Available on JetBrains IDEs

We’re excited to introduce the Free Tier for GitHub Copilot, now available for JetBrains IDEs! Starting today, you can enable GitHub Copilot in your JetBrains IDE with just a GitHub account—no trials or subscriptions required.

What’s included in the Free Tier?

The Free Tier provides everything you need to get started with GitHub Copilot:
* 2000 code completions/month
* 50 chat requests/month
* 64k context window for a seamless development experience

If you reach the limits, you can explore additional tiers to continue using GitHub Copilot’s powerful features.

Why it matters

GitHub Copilot in JetBrains IDEs empowers you to write code faster, focus on creative problem-solving, and enhance productivity—all with an AI assistant right in your IDE. With the Free Tier, more developers than ever can access these tools and start improving their workflows today.

Get started

We’d love for you to try the GitHub Copilot Plugin for JetBrains IDEs and share your thoughts. Your feedback plays a crucial role in helping us improve the product.

Join the discussion

Connect with the developer community in the GitHub Community Discussion to share your experiences, ask questions, and provide feedback.

See more

GitHub Copilot Free

With the new GitHub Copilot Free plan, anyone can experiment with GitHub Copilot in Visual Studio Code and on GitHub! By simply signing in with your personal GitHub account, you will have access to 2000 Code Completions and 50 chat messages per month!

Here are a few things to try out today:

  • Accelerate your development with code completion
  • Execute edits across multiple files with Copilot Edits
  • Choose the model that works best for you, starting with Anthropic’s Claude 3.5 Sonnet
  • Access the Copilot Extensions to customize your development experience

To get started, visit our immersive experience and learn more in our announcement blog.

Stay tuned for updates as we work to continually enhance your developer experience and be sure to share feedback in Discussions.

See more

Screenshot of GitHub Copilot Chat immersive mode

Elevate your coding skills with our redesigned Copilot Chat, now featuring a dedicated home on GitHub.

What’s new in Copilot Chat on GitHub:

  • Immersive chat experience at github.com/copilot: Copilot is now just one click away, offering a seamless and immersive chat directly on GitHub.
  • Smarter and faster responses: Whether you’re brainstorming, problem-solving, or just exploring ideas, Copilot’s answers are sharper, richer, and more naturally attuned to your needs.
  • Real-time interaction with your codebase: Ask questions and get immediate answers about your codebase, helping you understand how things work faster than ever.
  • Generate and refine code effortlessly: Use conversational prompts to create and refine code snippets or entire files. Iterate seamlessly until you achieve the desired outcome.
  • Navigate GitHub with natural language: Summarize issues and pull requests, retrieve specific information, and explore repositories without navigating through the UI.
  • Leverage a variety of models: Choose from different AI models to get the best results based on your specific use case.
  • Find and return to previous chats: Easily revisit past conversations, keep track of important insights, code iterations and decision-making processes by accessing your entire conversation history whenever you need it.

Expanded capabilities across your entire codebase

As part of this update, we’ve removed limits on how many repositories you can index. Now, you can enjoy the full capabilities of Copilot Chat across your entire codebase, whether you’re working on multiple projects or a large monolith.


Your feedback helps us continue to improve. Let us know what you think using the in-product feedback option or pop it into the GitHub Community at any time.

See more

New REST API endpoints for code scanning allow you to request the generation of Copilot Autofix for code scanning alerts. These endpoints also provide the Autofix generation status, along with metadata and AI-generated descriptions for the fixes, and enable you to apply Autofix to a branch. This functionality can be particularly useful for addressing security vulnerabilities programmatically and for tracking the status of alerts with Copilot Autofixes in your system.

To generate Copilot Autofix, call the POST /repos/{owner}/{repo}/code-scanning/alerts/{number}/autofix endpoint.
Additionally, you can retrieve the Autofix and commit it by using the GET /repos/{owner}/{repo}/code-scanning/alerts/{number}/autofix endpoint followed by POST /repos/{owner}/{repo}/code-scanning/alerts/{number}/autofix/commits.

For more information, see: About Copilot Autofix for CodeQL code scanning. If you have feedback for Copilot Autofix for code scanning, please join the discussion here.

See more

A list of the GitHub Copilot updates in the November VS Code release.

In the latest Visual Studio Code release, you will find a suite of enhancements to GitHub Copilot, designed to make your coding and debugging experience in VS Code more productive and efficient. These features are now available for you to try out in the latest version of Visual Studio Code.

More relevant suggestions with extra options to add context

To give you suggestions and edits, Copilot collects information from your codebase. To give you even more specific and relevant responses, you can provide additional context to guide and focus Copilot. In this release, we’ve added more ways to add context for Copilot Chat and Copilot Edits.

You can now add symbols to the context to provide very detailed and specific context. Drag and drop a symbol from the Outline view or editor breadcrumb in the Chat view, or reference a symbol by typing #sym in the chat input field.

You can also add folders to the context to provide a broader context. Drag and drop a folder from the Explorer view into the Chat view to add all files in that folder to the context.

More efficient multi-file editing

With Copilot Edits (preview), you can get edit suggestions across multiple files in your project. We’ve made several enhancements to Copilot Edits to make the experience more efficient and easier to use.

  • Editor overlay controls: The overlay controls in the editor enable you to quickly navigate between suggested edits, review, and apply them. As Copilot Edits is generating edits, the overlay controls will show a progress indicator.

  • Move chat conversation to Copilot Edits: You might use Copilot Chat to explore ideas for making code changes. Instead of applying individual code blocks from chat, you can now move the chat session to Copilot Edits to apply all code suggestions from the session.

    Edit with Copilot showing for a chat exchange.

  • Working set: For large codebases, it can be hard to add the right files to the working set. VS Code can now suggest relevant files to add to the working set, so you get the most relevant edits across your project. And to make adding to the working even more efficient, drag files from the Explorer view or Search view to add them to the working set.

  • Restore edit sessions: Copilot Edits now saves and restores your edit session across VS Code restarts, so you can continue where you left off.

Kickstart debugging with copilot-debug

Setting up a debugging environment can be challenging, especially when you’re working with a new codebase or project. With the new copilot-debug terminal command, you can ask Copilot to generate a launch configuration for you based on your project’s setup. And if your project needs a compilation step before debugging, Copilot can generate a task for that too.

Customize commit-message generation

Setting: github.copilot.chat.commitMessageGeneration.instructions

Copilot can help you generate commit messages based on the changes you’ve made. In this release, we added support for custom instructions when generating a commit message. For example, if your commit messages need to follow a specific format, you can describe this in the custom instructions.

Use the github.copilot.chat.commitMessageGeneration.instructions setting to either specify the custom instructions directly, or to specify a file from your workspace that contains the custom instructions. These instructions are appended to the prompt that is used to generate the commit message. Get more information on how to use custom instructions.

See more

context passing example

GitHub Copilot Extensions can now access local context in your editor and github.com to provide you with richer and more tailored responses.

As a developer, you can benefit from context passing when interacting with extensions. Passing context to extensions will continue to maintain security through permission controls set by your administrators and content exclusion rules.

Available contexts by development environment

Environment client.file client.selection github.repository github.current-url Additional contexts
Visual Studio Code ✔️ ✔️ ✔️ X Repository owner and branch
Visual Studio ✔️ ✔️ ✔️ X Repository owner and branch
github.com X X ✔️ ✔️ Repository information and other GitHub resources
GitHub Mobile X X X ✔️ X
JetBrains IDEs X X X X X

Local context is not passed to extensions by default.

Requirements for developers

  • Access to GitHub Copilot Extensions
  • Admin authorization to install on organization-owned repos

Requirements for builders

  • Explicit requests to receive editor context, configured in your GitHub app settings
  • Update your APIs to handle new reference types and account for certain references only being available in certain contexts

Connect with our community in our Discussion Forum, or relay your feedback here.

See more

As you may have seen in Discord a few weeks ago, Copilot Workspace is graduating! It is a very exciting time, and also a time of change. So before getting into the product changes from this week, we want to highlight a few logistical changes, because everyone loves logistics 💪

Changelog location: All future Copilot Workspace changelogs will be posted here, rather than in the user manual repository. Since you’re already reading this week’s changelog here, you’re ahead of the curve. Great work!

How to provide feedback: We are also transitioning from the current Discord to a GitHub Discussion as the primary place for feedback and discussions around Copilot Workspace. We will still be available in Discord, but posting in the discussion will ensure we see your feedback sooner.

Okay, now onto the product updates for this week! 🎉

Image Preview Support

Building on recent improvements to file and image support, you can now preview images directly in the Workspace editor. Selecting an image from the file tree will now display a full preview of the image, letting you open a preview tab directly within the editor.

copilot workspace with a rendered image in the open tab

Simplifying the Experience

Since our last changes dropped we have invested time into streamlining the Workspace experience, saving you clicks, headaches, and frustration.

Reducing Action Button Clicks

We updated the primary action button such that secondary actions available in the dropdown no longer require a second click of the primary button – when you select an action it will immediately take effect.

the copilot workspace primary action button dropdown

Consolidating the Plan Action Buttons

We have also consolidated plan action buttons like Regenerate and Add File to a kebab menu.

Before:
the previous copilot workspace planning experience

After:
the updated planning experience with actions under a kebab menu

VS Code Extension Updates

  • Stale View Fix: Resolved an issue where stale view states were retained in certain views.
  • Push to Branch / PR Creation Fix: Fixed failures when merging into an existing branch with updates to the same files.
  • Binary Detection Fix: Addressed a false positive issue where folders were incorrectly flagged as binary after session syncing stopped.
  • Enhanced Session List: Sessions now appear earlier in their lifecycle in the session list, supporting the new brainstorming feature in VS Code.
  • Error Message Visibility: Resolved cases where certain error messages did not display.
See more