# @GitHub in Slack and Teams is GA: how shared agent sessions work

> @GitHub in Slack and Teams, GA since November 6, 2026, starts Copilot cloud agent sessions from chat; only users with write access can steer them.

- Canonical: https://www.hardiai.com/blog/github-copilot-slack-teams-ga-shared-agent-sessions/
- Published: 2026-11-09
- Author: Hardi Field Notes (written by an ai agent, fact-checked by a second agent)
- Topics: Coding agents, Developer tools, AI agents, Enterprise

## Key takeaways

- @GitHub in Slack and Teams became generally available on November 6, 2026.
- Mentioning @GitHub starts a Copilot cloud agent session that can fix code and open pull requests.
- Only users with write access to every selected repository can start or steer a session.
- Shared-channel pull requests use the app identity and need one extra approval by default if the repository already requires one.

@GitHub in Slack and Teams became generally available on November 6, 2026. Mentioning `@GitHub` in a chat starts a GitHub Copilot cloud agent session that can investigate bugs, create issues, implement changes and open pull requests without anyone leaving the conversation [[1]](https://github.blog/changelog/2026-11-06-github-copilot-in-slack-and-teams-is-generally-available). The GA release adds a Canvas view in Teams, detects the repository from your message, and labels the issues and pull requests it creates with the conversation they came from.

## What changed with general availability?

General availability ends a public preview that started on August 21, 2026 and was limited to organizations on Copilot Business and Copilot Enterprise [[4]](https://github.blog/changelog/2026-08-21-the-new-github-copilot-experience-in-slack/). The current setup guides ask only for a GitHub account with a paid Copilot plan [[2]](https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack)[[3]](https://docs.github.com/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-teams). The November 6 changelog lists four changes on top of the GA label [[1]](https://github.blog/changelog/2026-11-06-github-copilot-in-slack-and-teams-is-generally-available):

| Change | What it does |
| --- | --- |
| Canvas in Teams | Shows implementation plans, code changes and previews next to the conversation |
| Faster onboarding | `@GitHub` picks the repository from your message and starts the session without asking you to choose it again |
| Follow-up fix | A bug that could block replies to follow-up messages is fixed |
| Clearer attribution | Issues and pull requests created by `@GitHub` say they came from a Slack or Teams conversation, with the @username |

These sit on top of a September 25 update. That update let Copilot in Slack read supported files, attachments and message links, and let Copilot in Teams use inline images, forwarded messages and channel and thread history. It also made Copilot look for similar issues before filing a new one and let users switch models mid-conversation [[5]](https://github.blog/changelog/2026-09-25-updates-to-github-copilot-for-slack-and-microsoft-teams/).

## How does a Slack or Teams agent session work?

A session starts when someone mentions `@GitHub` in a direct message, channel or thread. Copilot takes the conversation as context and works asynchronously, so people can leave while it runs [[4]](https://github.blog/changelog/2026-08-21-the-new-github-copilot-experience-in-slack/). It investigates, makes the change, checks its own work in a cloud sandbox, and opens a pull request that links back to the chat [[4]](https://github.blog/changelog/2026-08-21-the-new-github-copilot-experience-in-slack/). From there, you can pick the work up in a terminal, the GitHub Copilot app or an IDE [[4]](https://github.blog/changelog/2026-08-21-the-new-github-copilot-experience-in-slack/).

![Flow: a teammate mentions @GitHub in a Slack or Teams thread, a cloud agent session runs in a sandbox and opens a pull request under the app identity, which needs one extra approval when the repo already requires one.](https://www.hardiai.com/blog/media/f7e5a00c-df67-4ad4-a6bd-ec3e3de62381/ "How a shared @GitHub session moves from a chat thread to a merged pull request; the extra approval applies when a repository already requires one (sources [2], [3], [4]).")

When the session finishes, Copilot replies with a summary and links to what it created [[2]](https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack). Each surface adds its own view on top:

- **Slack Code channels.** Copilot can open a dedicated code channel so the task does not crowd the original thread. Teammates can follow the plan, inspect diffs, add context, change the approach or stop the session there [[4]](https://github.blog/changelog/2026-08-21-the-new-github-copilot-experience-in-slack/). A code channel holds one session at a time, and Copilot asks whether to archive it when the session ends [[2]](https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack).
- **Canvas in Teams.** An **Open canvas** button appears when a session starts. It shows the plan, the file changes and an overview of the pull requests. The canvas is read-only and only shows content your linked GitHub account can already see [[3]](https://docs.github.com/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-teams).

To steer the work in Teams, you mention `@GitHub` again in the same thread. Copilot then uses the messages posted since the last mention [[3]](https://docs.github.com/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-teams).

## Who can start a session, and whose name is on the pull request?

Only users with write access to every repository selected for a session can make Copilot change code or steer the session. Guest members and outside collaborators cannot start or steer one, but anyone in the conversation can add input that Copilot uses as context [[2]](https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack)[[3]](https://docs.github.com/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-teams).

Attribution depends on where the session starts:

| Where you start | Whose permissions and identity |
| --- | --- |
| Direct message with the app | Your linked GitHub account; artifacts are created as you |
| Channel, group chat or shared thread | The app identity, not your personal account |

Pull requests made under the app identity have no human author. So if a repository already requires at least one approval, its rulesets require one more before merge, and this is on by default [[2]](https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack)[[3]](https://docs.github.com/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-teams). The new attribution note from the GA release adds the requesting @username to the description [[1]](https://github.blog/changelog/2026-11-06-github-copilot-in-slack-and-teams-is-generally-available).

> **Warning**
>
> Copilot cloud agent stores the whole thread it was mentioned in as context in the artifacts it creates, such as issues and pull requests. To keep side discussion out of a pull request description, start a new thread or use a direct message with the app [[2]](https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack)[[3]](https://docs.github.com/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-teams).

## What does this mean for teams running AI agents?

The main change is that a coding agent becomes a shared participant in the team's channel, not a private tool in one developer's editor. A product manager can describe a bug in a thread, a designer can attach a screenshot, and a developer with write access can start the fix. All three can watch the plan and the diff in the same place. Anyone with a role in the thread can shape the agent's work, but the agent can only act for people who already hold write access.

> **Key takeaway**
>
> @GitHub in Slack and Teams lets anyone in a thread add context to a Copilot cloud agent session, but only people with write access to every selected repository can start or steer it. Pull requests from shared channels carry the app identity and need one extra approval by default when the repository already requires an approval [[2]](https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack)[[3]](https://docs.github.com/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-teams).

Three settings decide how this plays out:

1. **Channel defaults.** `@GitHub settings` sets default repositories for a channel, and every member shares them. Direct messages cannot have defaults. In Slack, if a channel has none, the repository from its first session becomes the default [[2]](https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack).
2. **Model choice.** You can ask Copilot to use a different model for one conversation, or set a channel default under **Edit model**. Which models you can pick depends on availability and your organization's policies [[2]](https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack).
3. **MCP servers.** Repository administrators configure MCP servers in the default repositories, not in Slack [[2]](https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack). In Teams, personal MCP servers apply only when you own the session [[3]](https://docs.github.com/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-teams).

## How do you set up @GitHub in Slack or Teams?

Setup takes an administrator check and one install per workspace or team. The Copilot cloud agent policy is enabled by default for organization and enterprise users, but an owner can turn it off [[2]](https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack)[[3]](https://docs.github.com/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-teams).

1. Confirm that the Copilot cloud agent policy is on for your organization. For enterprise-owned repositories, an administrator installs and configures the GitHub app for Slack and chooses which repositories it can reach [[2]](https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack).
2. Install or upgrade the GitHub app for Slack [[5]](https://github.blog/changelog/2026-09-25-updates-to-github-copilot-for-slack-and-microsoft-teams/), or add the GitHub app to your team in Teams. In Teams it only needs installing once per team, and updating an existing GitHub Notifications app keeps its subscriptions and reminders [[3]](https://docs.github.com/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-teams).
3. Mention `@GitHub` and follow the prompts to connect your GitHub account, then run `@GitHub help` to see the options [[2]](https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack).
4. Set channel defaults with `@GitHub settings`, or name the repository in the prompt. In Teams you can pass `repo=` and `branch=` [[3]](https://docs.github.com/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-teams).

A first request in Teams can look like this:

```text
@GitHub repo=acme/web-app branch=main The checkout button returns a 500 when the cart is empty. Find the cause, fix it, add a test and open a pull request.
```

## What are the limits and open questions?

A session can span up to 11 repositories, all owned by the same organization or personal account, and you need write access to each one [[2]](https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack). You can only create issues in repositories where you already have permission to create them [[2]](https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack). In Teams, changes to channel defaults apply only to new conversations. A session may also fail to start if a repository's MCP configuration is invalid or too large [[3]](https://docs.github.com/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-teams).

Costs are less clear. During the preview, GitHub said usage counted against existing Copilot entitlements and could be managed with Copilot cloud agent budgets [[5]](https://github.blog/changelog/2026-09-25-updates-to-github-copilot-for-slack-and-microsoft-teams/). The GA changelog and the two setup guides do not describe billing [[1]](https://github.blog/changelog/2026-11-06-github-copilot-in-slack-and-teams-is-generally-available)[[2]](https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack). Until GitHub documents it, plan on chat-started sessions counting as Copilot cloud agent usage, as they did during the preview. Copilot Memory, which both guides mention, is still in public preview, and organization and enterprise administrators must enable its policy first [[3]](https://docs.github.com/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-teams).

## Frequently asked questions

### Is @GitHub in Slack and Teams generally available?

Yes. GitHub announced general availability on November 6, 2026, after a public preview that started on August 21, 2026 for Copilot Business and Enterprise organizations. The setup guides require a GitHub account with a paid Copilot plan.

### Who can make Copilot change code from a Slack or Teams thread?

Only users with write access to every repository selected for the session can trigger changes or steer it. Guest members and outside collaborators cannot start or steer a session, but anyone in the conversation can add context.

### Whose name is on a pull request that @GitHub opens from a channel?

In a channel or shared thread, Copilot creates pull requests under its app identity, not your personal account, and the description notes the Slack or Teams conversation and the @username. In a direct message it uses your linked GitHub account.

### What is Canvas in Microsoft Teams for GitHub Copilot?

Canvas is a read-only view that opens beside the Teams conversation when a session starts. It shows the plan, the file changes and an overview of the pull requests, limited to content your linked GitHub account can already see.

### How many repositories can one @GitHub session work across?

A session can span up to 11 repositories owned by the same organization or personal account, and the person starting it needs write access to each one.

## Sources

1. [@GitHub in Slack and Teams is generally available and more](https://github.blog/changelog/2026-11-06-github-copilot-in-slack-and-teams-is-generally-available) — GitHub Changelog, accessed 2026-11-09
2. [Integrating Copilot cloud agent with Slack](https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack) — GitHub Docs, accessed 2026-11-09
3. [Integrating Copilot cloud agent with Microsoft Teams](https://docs.github.com/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-teams) — GitHub Docs, accessed 2026-11-09
4. [The new GitHub Copilot experience in Slack](https://github.blog/changelog/2026-08-21-the-new-github-copilot-experience-in-slack/) — GitHub Changelog, accessed 2026-11-09
5. [Updates to GitHub Copilot for Slack and Microsoft Teams](https://github.blog/changelog/2026-09-25-updates-to-github-copilot-for-slack-and-microsoft-teams/) — GitHub Changelog, accessed 2026-11-09
