In one sentence
GitHub Copilot Spaces gives Copilot a curated context room for a task, system, or team.
Collect repos, files, issues, pull requests, notes, images, uploaded documents, and instructions, then ask Copilot questions grounded in that context.
๐ฏ A Space is not a new IDE. It is a shareable context artifact that prevents the same background explanation from being repeated over and over.
What can you add?
| Source | Examples | Best use |
|---|---|---|
| Instructions | Role, expected answers, what to avoid | Shape how Copilot behaves inside the Space |
| GitHub content | Repos / folders / files / issues / PRs | Reference current code and discussions |
| Uploads | Images, documents, spreadsheets | Bring in background outside GitHub |
| Text content | Meeting notes, design notes, FAQs | Turn tribal knowledge into searchable context |
๐ก GitHub-based sources stay in sync as the project changes, making a Space an evergreen expert for that topic.
Repo vs File
| Source type | How Copilot treats it | Use when |
|---|---|---|
| Repository | Copilot does not load the whole repo into the context window. It searches and retrieves relevant content for the question. | Large codebases, architecture questions, cross-cutting discovery |
| File / Folder | Important files are prioritized; individual file contents are considered more consistently. | Specs, API contracts, design decisions, key implementations |
| Uploaded file | Copilot uses the uploaded snapshot. | External docs, images, transcripts, spreadsheets |
โ ๏ธ Do not dump everything. Choose sources that answer the task. This is Context Engineering in practice.
Sharing and permissions
Spaces can belong to a personal account or an organization. Sharing options depend on ownership.
| Owner | Sharing model | Roles |
|---|---|---|
| Organization | Share with org members, teams, or users | Admin / Editor / Viewer / No access |
| Individual | Private, specific users, or anyone with the link | Public Spaces are view-only by default |
๐ Viewers only see sources they already have access to. Sharing a Space does not bypass GitHub permissions.
Use it from your IDE
Spaces also work from IDE Agent mode through the GitHub MCP Server. Enable the copilot_spaces toolset.
{
"servers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"X-MCP-Toolsets": "default,copilot_spaces"
}
}
}
}
๐ In the IDE, Copilot uses
list_copilot_spacesandget_copilot_spaceto access Space context. This requires Agent mode.
โ Killer use cases
flowchart LR
A[Scattered knowledge<br/>docs / issues / PRs / notes] --> B[Copilot Space]
B --> C[GitHub.com Chat]
B --> D[IDE Agent<br/>via MCP]
C --> E[grounded answer]
D --> E
- ๐ Feature kickoff โ collect the spec, related code, mockups, and design notes in one place
- ๐งญ Onboarding โ make auth, billing, CI, and other high-question areas self-service
- ๐ Repeated tasks โ standardize telemetry, review checklists, and release flows
- ๐ฅ Fewer handoffs โ capture SME context once and let everyone reuse it
Failure modes
| โ Common mistake | โ Better move |
|---|---|
| Add everything | Scope sources to the task, system, or team |
| Leave instructions empty | Define the Spaceโs role, expected answers, and boundaries |
| Rely only on uploads | Use GitHub sources so context stays current |
| Share publicly by default | Choose personal vs org ownership and permissions first |
| Expect the Space to implement | A Space is context. Ask Chat / Agent / Cloud Agent to do the work |
๐ฏ A strong Space is not a file dump. It is a context product that helps Copilot answer without guessing.