From 849f661436dd536fb86fdc7f0148067ab18355c8 Mon Sep 17 00:00:00 2001 From: Justin Alex <1155821+jusuchin85@users.noreply.github.com> Date: Fri, 22 May 2026 10:16:22 +1000 Subject: [PATCH 1/6] [Improvement] Remove documentation for broken FG PAT URL prefill feature (#61353) --- .../managing-your-personal-access-tokens.md | 154 ------------------ 1 file changed, 154 deletions(-) diff --git a/content/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens.md b/content/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens.md index a38f8124df53..adeb3a25ec27 100644 --- a/content/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens.md +++ b/content/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens.md @@ -117,160 +117,6 @@ For more information about best practices, see [AUTOTITLE](/rest/overview/keepin If you selected an organization as the resource owner and the organization requires approval for {% data variables.product.pat_v2 %}s, then your token will be marked as `pending` until it is reviewed by an organization administrator. Your token will only be able to read public resources until it is approved. If you are an owner of the organization, your request is automatically approved. For more information, see [AUTOTITLE](/organizations/managing-programmatic-access-to-your-organization/reviewing-and-revoking-personal-access-tokens-in-your-organization). -### Pre-filling {% data variables.product.pat_v2 %} details using URL parameters - -You can share templates for a {% data variables.product.pat_v2 %} via links. Storing token details this way makes it easier to automate workflows and improve your developer experience by directing users to token creation with relevant fields already completed. - -Each supported field can be set using a specific query parameter. All parameters are optional and validated by the token generation form to ensure that the combinations of permissions and resource owner makes sense. - -An example URL template is shown here, with line breaks for legibility: - -```http copy -https://github.com/settings/personal-access-tokens/new - ?name=Repo-reading+token - &description=Just+contents:read - &target_name=octodemo - &expires_in=45 - &contents=read -``` - -Try the URL to create a token with `contents:read` and `metadata:read`, with the given name and description and an expiration date 45 days in the future. You'll see an error message indicating `Cannot find the specified resource owner: octodemo` because you're not a member of the `octodemo` organization. - -Below are some example URLs that generate the tokens we see most often: - -* [Read repo contents](https://github.com/settings/personal-access-tokens/new?name=Repo-reading+token&description=Just+contents:read&contents=read) -* [Push access to repos](https://github.com/settings/personal-access-tokens/new?name=Repo-writing+token&description=Just+contents:write&contents=write) -* [GitHub Models access](https://github.com/settings/personal-access-tokens/new?name=GitHub+Models+token&description=Used%20to%20call%20GitHub%20Models%20APIs%20to%20easily%20run%20LLMs%3A%20https%3A%2F%2Fdocs.github.com%2Fgithub-models%2Fquickstart%23step-2-make-an-api-call&user_models=read) -* [Update code and open a PR](https://github.com/settings/personal-access-tokens/new?name=Core-loop+token&description=Write%20code%20and%20push%20it%20to%20main%21%20Includes%20permission%20to%20edit%20workflow%20files%20for%20Actions%20-%20remove%20%60workflows%3Awrite%60%20if%20you%20don%27t%20need%20to%20do%20that&contents=write&pull_requests=write&workflows=write) -* [Manage Copilot licenses in an organization](https://github.com/settings/personal-access-tokens/new?name=Core-loop+token&description=Enable%20or%20disable%20copilot%20access%20for%20users%20with%20the%20Seat%20Management%20APIs%3A%20https%3A%2F%2Fdocs.github.com%2Frest%2Fcopilot%2Fcopilot-user-management%0ABe%20sure%20to%20select%20an%20organization%20for%20your%20resource%20owner%20below%21&organization_copilot_seat_management=write) -* [Make Copilot requests](https://github.com/settings/personal-access-tokens/new?name=Copilot+requests+token&description=Make%20Copilot%20API%20requests%20on%20behalf%20of%20the%20user%2C%20consuming%20premium%20requests%3A%20https%3A%2F%2Fdocs.github.com%2Fcopilot%2Fconcepts%2Fbilling%2Fcopilot-requests&user_copilot_requests=read) - -#### Supported Query Parameters - -To create your own token template, follow the query parameter details provided in this table: - -| Parameter | Type | Example Value | Valid Values | Description | -|----------------|--------|------------------|--------------|-----------------------| -| `name` | string | `Deploy%20Bot` | ≤ 40 characters, URL-encoded | Pre-fills the token’s display name. | -| `description` | string | `Used+for+deployments` | ≤ 1024 chars, URL-encoded | Pre-fills the description for the token. | -| `target_name` | string | `octodemo` | User or organization slug | Sets the token's resource target. This is the owner of the repositories that the token will be able to access. If not provided, defaults to the current user's account. | -| `expires_in` | integer| `30` or `none` | Integer between 1 and 366, or `none` | Days until expiration or `none` for non-expiring. If not provided, the default is 30 days, or less if the target has a token lifetime policy set. | -| `` | string | `contents=read` | A series of permission and access levels. | The permissions the token should have. Permissions can be set to `read`, `write`, or `admin`, but not every permission supports each of those levels. | - -#### Permissions - -Each supported permission is set using its name as a query parameter, with the value specifying the desired access level. Valid access levels are `read`, `write`, and `admin`. Some permissions only support `read`, some only support `write`, and only a few have `admin`. Use as many permissions as needed, in the form `&contents=read&pull_requests=write&...`. - -You do not need to include both `read` and `write` for a permission in your URL—`write` always includes `read`, and `admin` always includes `write`. - -##### Account Permissions - -Account permissions are only used when the current user is set as the resource owner. - -| Parameter name | Display name | Access levels | -|---|---|---| -| `blocking` | Block another user | `read`, `write` | -| `codespaces_user_secrets` | Codespaces user secrets | `read`, `write` | -| `copilot_messages` | Copilot Chat | `read` | -| `copilot_editor_context` | Copilot Editor Context | `read` | -| `copilot_requests` | Copilot requests | `write` | -| `emails` | Email addresses | `read`, `write` | -| `user_events` | Events | `read` | -| `followers` | Followers | `read`, `write` | -| `gpg_keys` | GPG keys | `read`, `write` | -| `gists` | Gists | `write` | -| `keys` | Git SSH keys | `read`, `write` | -| `interaction_limits` | Interaction limits | `read`, `write` | -| `knowledge_bases` | Knowledge bases | `read`, `write` | -| `user_models` | Models | `read` | -| `plan` | Plan | `read` | -| `private_repository_invitations` | Private repository invitations | `read` | -| `profile` | Profile | `write` | -| `git_signing_ssh_public_keys` | SSH signing keys | `read`, `write` | -| `starring` | Starring | `read`, `write` | -| `watching` | Watching | `read`, `write` | - -{% ifversion copilot %} - -> [!NOTE] -> The `copilot_requests` permission enables making {% data variables.product.prodname_copilot_short %} requests for the given user, which count towards the user's premium request allowance or are charged to overage billing if the allowance is exceeded. For more information about {% data variables.product.prodname_copilot_short %} requests and billing, see [AUTOTITLE](/copilot/concepts/billing/copilot-requests). - -{% endif %} -##### Repository Permissions - -Repository permissions work for both user and organization resource owners. - -| Parameter name | Display name | Access levels | -|---|---|---| -| `actions` | Actions | `read`, `write` | -| `administration` | Administration | `read`, `write` | -| {% ifversion artifact-metadata %} | -| `artifact_metadata` | Artifact Metadata | `read`, `write` | -| {% endif %} | -| `attestations` | Attestations | `read`, `write` | -| {% ifversion code-quality %} | -| `code_quality` | Code quality | `read`, `write` | -| {% endif %} | -| `security_events` | Code scanning alerts | `read`, `write` | -| `codespaces` | Codespaces | `read`, `write` | -| `codespaces_lifecycle_admin` | Codespaces lifecycle admin | `read`, `write` | -| `codespaces_metadata` | Codespaces metadata | `read` | -| `codespaces_secrets` | Codespaces secrets | `write` | -| `statuses` | Commit statuses | `read`, `write` | -| `contents` | Contents | `read`, `write` | -| `repository_custom_properties` | Custom properties | `read`, `write` | -| `vulnerability_alerts` | Dependabot alerts | `read`, `write` | -| `dependabot_secrets` | Dependabot secrets | `read`, `write` | -| `deployments` | Deployments | `read`, `write` | -| `discussions` | Discussions | `read`, `write` | -| `environments` | Environments | `read`, `write` | -| `issues` | Issues | `read`, `write` | -| `merge_queues` | Merge queues | `read`, `write` | -| `metadata` | Metadata | `read` | -| `pages` | Pages | `read`, `write` | -| `pull_requests` | Pull requests | `read`, `write` | -| `repository_advisories` | Repository security advisories | `read`, `write` | -| `secret_scanning_alerts` | Secret scanning alerts | `read`, `write` | -| `secrets` | Secrets | `read`, `write` | -| `actions_variables` | Variables | `read`, `write` | -| `repository_hooks` | Webhooks | `read`, `write` | -| `workflows` | Workflows | `write` | - -##### Organization Permissions - -Organization permissions can only be used if the resource owner is an organization. - -| Parameter name | Display name | Access levels | -|---|---|---| -| `organization_api_insights` | API Insights | `read` | -| `organization_administration` | Administration | `read`, `write` | -| `organization_user_blocking` | Blocking users | `read`, `write` | -| `organization_campaigns` | Campaigns | `read`, `write` | -| `organization_custom_org_roles` | Custom organization roles | `read`, `write` | -| `organization_custom_properties` | Custom repository properties | `read`, `write`, `admin` | -| `organization_custom_roles` | Custom repository roles | `read`, `write` | -| `organization_events` | Events | `read` | -| `organization_copilot_seat_management` | GitHub Copilot Business | `read`, `write` | -| `issue_types` | Issue Types | `read`, `write` | -| `organization_knowledge_bases` | Knowledge bases | `read`, `write` | -| `members` | Members | `read`, `write` | -| `organization_models` | Models | `read` | -| `organization_network_configurations` | Network configurations | `read`, `write` | -| `organization_announcement_banners` | Organization announcement banners | `read`, `write` | -| `organization_codespaces` | Organization codespaces | `read`, `write` | -| `organization_codespaces_secrets` | Organization codespaces secrets | `read`, `write` | -| `organization_codespaces_settings` | Organization codespaces settings | `read`, `write` | -| `organization_dependabot_secrets` | Organization dependabot secrets | `read`, `write` | -| `organization_code_scanning_dismissal_requests` | Code scanning dismissal requests | `read`, `write` | -| `organization_private_registries` | Private registries | `read`, `write` | -| `organization_plan` | Plan | `read` | -| `organization_projects` | Projects | `read`, `write`, `admin` | -| `organization_secrets` | Secrets | `read`, `write` | -| `organization_self_hosted_runners` | Self-hosted runners | `read`, `write` | -| `team_discussions` | Team discussions | `read`, `write` | -| `organization_actions_variables` | Variables | `read`, `write` | -| `organization_hooks` | Webhooks | `read`, `write` | - ## Creating a {% data variables.product.pat_v1 %} > [!NOTE] From ec7cc2dec8d6f88c576101b3f950309413b5d30f Mon Sep 17 00:00:00 2001 From: Sunbrye Ly <56200261+sunbrye@users.noreply.github.com> Date: Thu, 21 May 2026 17:38:19 -0700 Subject: [PATCH 2/6] Manual sync of Copilot SDK docs (#61250) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../copilot-sdk/agent-loop-architecture.png | Bin 0 -> 33000 bytes .../copilot-sdk/agent-loop-event-flow.png | Bin 0 -> 55086 bytes .../copilot-sdk/agent-loop-tool-use-loop.png | Bin 0 -> 17856 bytes .../copilot-sdk/bundled-cli-architecture.png | Bin 0 -> 12516 bytes .../bundled-cli-authentication-strategies.png | Bin 106937 -> 32773 bytes .../authenticate-copilot-sdk.md | 6 +- .../integrations/microsoft-agent-framework.md | 4 +- .../copilot-sdk/sdk-getting-started.md | 183 ++++++++++++++- .../set-up-copilot-sdk/bundled-cli.md | 217 ++++-------------- .../choosing-a-setup-path.md | 14 +- .../set-up-copilot-sdk/github-oauth.md | 6 +- .../troubleshooting/debug-copilot-sdk.md | 2 +- .../sdk-and-cli-compatibility.md | 8 +- .../copilot-sdk/use-copilot-sdk/agent-loop.md | 132 +++++++++++ .../use-copilot-sdk/custom-agents.md | 113 ++++++++- .../copilot-sdk/use-copilot-sdk/index.md | 2 + .../use-copilot-sdk/remote-sessions.md | 70 ++++++ 17 files changed, 556 insertions(+), 201 deletions(-) create mode 100644 assets/images/help/copilot/copilot-sdk/agent-loop-architecture.png create mode 100644 assets/images/help/copilot/copilot-sdk/agent-loop-event-flow.png create mode 100644 assets/images/help/copilot/copilot-sdk/agent-loop-tool-use-loop.png create mode 100644 assets/images/help/copilot/copilot-sdk/bundled-cli-architecture.png create mode 100644 content/copilot/how-tos/copilot-sdk/use-copilot-sdk/agent-loop.md create mode 100644 content/copilot/how-tos/copilot-sdk/use-copilot-sdk/remote-sessions.md diff --git a/assets/images/help/copilot/copilot-sdk/agent-loop-architecture.png b/assets/images/help/copilot/copilot-sdk/agent-loop-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..ed60ea09d6d981ae2e067c685c3073a4226f71be GIT binary patch literal 33000 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 JS?83{1OWZ{K0W{d literal 0 HcmV?d00001 diff --git a/assets/images/help/copilot/copilot-sdk/bundled-cli-architecture.png b/assets/images/help/copilot/copilot-sdk/bundled-cli-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..20e37f37d830d54dc465e2e5ba4a4229c7bcf45d GIT binary patch literal 12516 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�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 literal 106937 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

K7sv-M(sM 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 iD#gG3lK [!NOTE] -> MAF integration packages are available for .NET and Python. For TypeScript and Go, use the {% data variables.copilot.copilot_sdk_short %} directly—the standard SDK APIs provide tool calling, streaming, and custom agents. +> MAF integration packages are available for .NET and Python. For TypeScript, Go, and Java, use the {% data variables.copilot.copilot_sdk_short %} directly—the standard SDK APIs provide tool calling, streaming, and custom agents. ## Prerequisites @@ -317,5 +317,7 @@ catch (AgentException ex) ## Further reading * [AUTOTITLE](/copilot/how-tos/copilot-sdk/sdk-getting-started) +* [AUTOTITLE](/copilot/how-tos/copilot-sdk/use-copilot-sdk/custom-agents) +* [AUTOTITLE](/copilot/how-tos/copilot-sdk/use-copilot-sdk/custom-skills) * [Microsoft Agent Framework documentation](https://learn.microsoft.com/en-us/agent-framework/agents/providers/github-copilot) * [Blog: Build AI Agents with GitHub Copilot SDK and Microsoft Agent Framework](https://devblogs.microsoft.com/semantic-kernel/build-ai-agents-with-github-copilot-sdk-and-microsoft-agent-framework/) diff --git a/content/copilot/how-tos/copilot-sdk/sdk-getting-started.md b/content/copilot/how-tos/copilot-sdk/sdk-getting-started.md index 02a12f23189f..00968124b058 100644 --- a/content/copilot/how-tos/copilot-sdk/sdk-getting-started.md +++ b/content/copilot/how-tos/copilot-sdk/sdk-getting-started.md @@ -144,4 +144,185 @@ unsubscribeIdle(); ## Next steps -To continue getting started with {% data variables.copilot.copilot_sdk_short %}, see [Build Your First Copilot-Powered App](https://github.com/github/copilot-sdk/blob/main/docs/getting-started.md#step-4-add-a-custom-tool) in the `github/copilot-sdk` repository. +### Add a custom tool + +Give {% data variables.product.prodname_copilot_short %} the ability to call your code by defining a custom tool. Here's a weather lookup tool: + +```typescript copy +import { CopilotClient, defineTool } from "@github/copilot-sdk"; + +// Define a tool that Copilot can call +const getWeather = defineTool("get_weather", { + description: "Get the current weather for a city", + parameters: { + type: "object", + properties: { + city: { type: "string", description: "The city name" }, + }, + required: ["city"], + }, + handler: async (args: { city: string }) => { + const { city } = args; + // In a real app, you'd call a weather API here + const conditions = ["sunny", "cloudy", "rainy", "partly cloudy"]; + const temp = Math.floor(Math.random() * 30) + 50; + const condition = conditions[Math.floor(Math.random() * conditions.length)]; + return { city, temperature: `${temp}°F`, condition }; + }, +}); + +const client = new CopilotClient(); +const session = await client.createSession({ + model: "gpt-4.1", + streaming: true, + tools: [getWeather], +}); + +session.on("assistant.message_delta", (event) => { + process.stdout.write(event.data.deltaContent); +}); + +session.on("session.idle", () => { + console.log(); // New line when done +}); + +await session.sendAndWait({ + prompt: "What's the weather like in Seattle and Tokyo?", +}); + +await client.stop(); +process.exit(0); +``` + +For examples in Python, Go, .NET, and Rust, see [Getting started](https://github.com/github/copilot-sdk/blob/main/docs/getting-started.md#step-4-add-a-custom-tool) in the `github/copilot-sdk` repository. {% data reusables.copilot.copilot-sdk.java-sdk-link %} + +When you define a tool, you're telling {% data variables.product.prodname_copilot_short %}: + +1. **What the tool does** (description) +1. **What parameters it needs** (schema) +1. **What code to run** (handler) + +{% data variables.product.prodname_copilot_short %} decides when to call your tool based on the user's question. When it does, the {% data variables.copilot.copilot_sdk_short %} runs your handler function and sends the result back to {% data variables.product.prodname_copilot_short %}, which incorporates it into the response. + +### Build an interactive assistant + +Combine everything into an interactive chat assistant: + +```typescript copy +import { CopilotClient, defineTool } from "@github/copilot-sdk"; +import * as readline from "readline"; + +const getWeather = defineTool("get_weather", { + description: "Get the current weather for a city", + parameters: { + type: "object", + properties: { + city: { type: "string", description: "The city name" }, + }, + required: ["city"], + }, + handler: async ({ city }) => { + const conditions = ["sunny", "cloudy", "rainy", "partly cloudy"]; + const temp = Math.floor(Math.random() * 30) + 50; + const condition = conditions[Math.floor(Math.random() * conditions.length)]; + return { city, temperature: `${temp}°F`, condition }; + }, +}); + +const client = new CopilotClient(); +const session = await client.createSession({ + model: "gpt-4.1", + streaming: true, + tools: [getWeather], +}); + +session.on("assistant.message_delta", (event) => { + process.stdout.write(event.data.deltaContent); +}); + +const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, +}); + +console.log("Weather Assistant (type 'exit' to quit)"); +console.log(" Try: 'What's the weather in Paris?'\n"); + +const prompt = () => { + rl.question("You: ", async (input) => { + if (input.toLowerCase() === "exit") { + await client.stop(); + rl.close(); + return; + } + + process.stdout.write("Assistant: "); + await session.sendAndWait({ prompt: input }); + console.log("\n"); + prompt(); + }); +}; + +prompt(); +``` + +Run with: + +```bash copy +npx tsx weather-assistant.ts +``` + +For examples in Python, Go, .NET, and Rust, see [Getting started](https://github.com/github/copilot-sdk/blob/main/docs/getting-started.md#step-5-build-an-interactive-assistant) in the `github/copilot-sdk` repository. {% data reusables.copilot.copilot-sdk.java-sdk-link %} + +### Connect to MCP servers + +MCP (Model Context Protocol) servers provide pre-built tools. Connect to {% data variables.product.github %}'s MCP server to give {% data variables.product.prodname_copilot_short %} access to repositories, issues, and pull requests: + +```typescript copy +const session = await client.createSession({ + mcpServers: { + github: { + type: "http", + url: "https://api.githubcopilot.com/mcp/", + }, + }, +}); +``` + +For more information, see [AUTOTITLE](/copilot/how-tos/copilot-sdk/use-copilot-sdk/mcp-servers). + +### Create custom agents + +Define specialized AI personas for specific tasks: + +```typescript copy +const session = await client.createSession({ + customAgents: [{ + name: "pr-reviewer", + displayName: "PR Reviewer", + description: "Reviews pull requests for best practices", + prompt: "You are an expert code reviewer. Focus on security, performance, and maintainability.", + }], +}); +``` + +For more information, see [AUTOTITLE](/copilot/how-tos/copilot-sdk/use-copilot-sdk/custom-agents). + +### Customize the system message + +Control the AI's behavior and personality by appending instructions: + +```typescript copy +const session = await client.createSession({ + systemMessage: { + content: "You are a helpful assistant for our engineering team. Always be concise.", + }, +}); +``` + +### Further reading + +* [AUTOTITLE](/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/choosing-a-setup-path) +* [AUTOTITLE](/copilot/how-tos/copilot-sdk/use-copilot-sdk/agent-loop) +* [Connecting to an external CLI server](https://github.com/github/copilot-sdk/blob/main/docs/getting-started.md#connecting-to-an-external-cli-server) in the `github/copilot-sdk` repository +* [Telemetry and observability](https://github.com/github/copilot-sdk/blob/main/docs/getting-started.md#telemetry-and-observability) in the `github/copilot-sdk` repository diff --git a/content/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/bundled-cli.md b/content/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/bundled-cli.md index ffaaf4d55b52..b87dd151d108 100644 --- a/content/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/bundled-cli.md +++ b/content/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/bundled-cli.md @@ -1,50 +1,39 @@ --- -title: Using a bundled CLI with Copilot SDK +title: Default setup (bundled CLI) shortTitle: Bundled CLI -intro: Package {% data variables.copilot.copilot_cli_short %} alongside your application so that users do not need to install or configure anything separately. +intro: 'The Node.js, Python, and .NET SDKs include {% data variables.copilot.copilot_cli_short %} as a dependency—your app ships with everything it needs, with no extra installation or configuration required.' product: '{% data reusables.gated-features.copilot-sdk %}' versions: feature: copilot contentType: how-tos --- -{% data reusables.copilot.copilot-sdk.release-state-note %} +{% data reusables.copilot.copilot-sdk.technical-preview-note %} -Ship {% data variables.copilot.copilot_cli_short %} as part of your application so your users can get started with no additional setup. - -**Best for:** Desktop apps, standalone tools, Electron apps, and distributable CLI utilities. +**Best for:** Most applications—desktop apps, standalone tools, CLI utilities, prototypes, and more. ## How it works -Instead of relying on a globally installed CLI, you include the CLI binary in your application bundle. The SDK points to your bundled copy via the `cliPath` option. Key characteristics are: - -* The CLI binary ships with your app—no separate install is needed. -* You control the exact CLI version your app uses. -* Users authenticate through your app, environment variables, or BYOK. -* Sessions are managed per user on their machine. +When you install the {% data variables.copilot.copilot_sdk_short %}, {% data variables.copilot.copilot_cli_short %} is included automatically. The {% data variables.copilot.copilot_sdk_short %} starts it as a child process and communicates over stdio. There's nothing extra to configure. -## Setup +![Diagram showing how the SDK client includes the Copilot CLI binary and makes API calls to GitHub Copilot.](/assets/images/help/copilot/copilot-sdk/bundled-cli-architecture.png) -### Step 1: Include the CLI in your project +**Key characteristics:** -The CLI is distributed as part of the `@github/copilot` npm package. - -```shell -npm install @github/copilot -``` +* {% data variables.copilot.copilot_cli_short %} is included with the {% data variables.copilot.copilot_sdk_short %}—no separate install needed +* The {% data variables.copilot.copilot_sdk_short %} manages the CLI version to ensure compatibility +* Users authenticate through your app (or use env vars / BYOK) +* Sessions are managed per user on their machine -### Step 2: Point the SDK to your bundled CLI +> [!NOTE] +> The Go and Java SDKs do not bundle {% data variables.copilot.copilot_cli_short %}. You must install the CLI separately or set `cliPath` to point to an existing binary. See [AUTOTITLE](/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/local-cli) for details. -#### Node.js / TypeScript +## Quick start ```typescript import { CopilotClient } from "@github/copilot-sdk"; -import path from "path"; -const client = new CopilotClient({ - // Point to the CLI binary in your app bundle - cliPath: path.join(__dirname, "vendor", "copilot"), -}); +const client = new CopilotClient(); const session = await client.createSession({ model: "gpt-4.1" }); const response = await session.sendAndWait({ prompt: "Hello!" }); @@ -53,96 +42,41 @@ console.log(response?.data.content); await client.stop(); ``` -#### Python - -```python -from copilot import CopilotClient, PermissionHandler -from pathlib import Path - -client = CopilotClient({ - "cli_path": str(Path(__file__).parent / "vendor" / "copilot"), -}) -await client.start() - -session = await client.create_session(on_permission_request=PermissionHandler.approve_all, model="gpt-4.1") -response = await session.send_and_wait({"prompt": "Hello!"}) -print(response.data.content) - -await client.stop() -``` - -#### Go - -```golang -client := copilot.NewClient(&copilot.ClientOptions{ - CLIPath: "./vendor/copilot", -}) -if err := client.Start(ctx); err != nil { - log.Fatal(err) -} -defer client.Stop() - -session, _ := client.CreateSession(ctx, &copilot.SessionConfig{Model: "gpt-4.1"}) -response, _ := session.SendAndWait(ctx, copilot.MessageOptions{Prompt: "Hello!"}) -fmt.Println(*response.Data.Content) -``` - -#### .NET - -```csharp -var client = new CopilotClient(new CopilotClientOptions -{ - CliPath = Path.Combine(AppContext.BaseDirectory, "vendor", "copilot"), -}); - -await using var session = await client.CreateSessionAsync( - new SessionConfig { Model = "gpt-4.1" }); - -var response = await session.SendAndWaitAsync( - new MessageOptions { Prompt = "Hello!" }); -Console.WriteLine(response?.Data.Content); -``` +For examples in Python, Go, .NET, and Java, see [Default setup](https://github.com/github/copilot-sdk/blob/main/docs/setup/bundled-cli.md#quick-start) in the `github/copilot-sdk` repository. {% data reusables.copilot.copilot-sdk.java-sdk-link %} ## Authentication strategies -When bundling the CLI, you need to decide how your users will authenticate. The following diagram illustrates common patterns. +You need to decide how your users will authenticate. Here are the common patterns: -![Diagram showing authentication strategy options for a bundled CLI deployment.](/assets/images/help/copilot/copilot-sdk/bundled-cli-authentication-strategies.png) +![Diagram showing authentication options for a bundled CLI: signed-in credentials, app-provided token, or BYOK.](/assets/images/help/copilot/copilot-sdk/bundled-cli-authentication-strategies.png) -### Option A: User's signed-in credentials (simplest) +### Option A: user's signed-in credentials (simplest) -The user signs in to the CLI once, and your bundled app uses those credentials. No extra code needed—this is the default behavior. +The user signs in to {% data variables.copilot.copilot_cli_short %} once, and your app uses those credentials. No extra code needed—this is the default behavior. ```typescript -const client = new CopilotClient({ - cliPath: path.join(__dirname, "vendor", "copilot"), - // Default: uses signed-in user credentials -}); +const client = new CopilotClient(); +// Default: uses signed-in user credentials ``` -### Option B: Token via environment variable +### Option B: token via environment variable -Set a token programmatically or instruct users to set one before starting your app: +Ship your app with instructions to set a token, or set it programmatically: ```typescript const client = new CopilotClient({ - cliPath: path.join(__dirname, "vendor", "copilot"), env: { - COPILOT_GITHUB_TOKEN: getUserToken(), + COPILOT_GITHUB_TOKEN: getUserToken(), // Your app provides the token }, }); ``` -Replace `getUserToken()` with the logic in your app that retrieves the user's {% data variables.product.github %} OAuth token. +### Option C: BYOK (no {% data variables.product.github %} auth needed) -### Option C: BYOK (no {% data variables.product.github %} authentication needed) - -If you manage your own model provider keys, users don't need {% data variables.product.github %} accounts: +If you manage your own model provider keys, users don't need {% data variables.product.github %} accounts at all: ```typescript -const client = new CopilotClient({ - cliPath: path.join(__dirname, "vendor", "copilot"), -}); +const client = new CopilotClient(); const session = await client.createSession({ model: "gpt-4.1", @@ -154,14 +88,14 @@ const session = await client.createSession({ }); ``` +See [AUTOTITLE](/copilot/how-tos/copilot-sdk/authenticate-copilot-sdk/bring-your-own-key) for full details. + ## Session management -Bundled apps typically want named sessions so users can resume conversations: +Apps typically want named sessions so users can resume conversations: ```typescript -const client = new CopilotClient({ - cliPath: path.join(__dirname, "vendor", "copilot"), -}); +const client = new CopilotClient(); // Create a session tied to the user's project const sessionId = `project-${projectName}`; @@ -170,86 +104,23 @@ const session = await client.createSession({ model: "gpt-4.1", }); -// Resume the session in a later run +// User closes app... +// Later, resume where they left off const resumed = await client.resumeSession(sessionId); ``` -Session state is stored at `~/.copilot/session-state/SESSION-ID/`, where `SESSION-ID` is the session ID you provided. - -## Distribution patterns - -### Desktop app (Electron, Tauri) - -Include the CLI binary in your app's resources directory: - -```typescript -import { app } from "electron"; -import path from "path"; - -const cliPath = path.join( - app.isPackaged ? process.resourcesPath : __dirname, - "copilot" -); - -const client = new CopilotClient({ cliPath }); -``` - -### CLI tool - -For distributable CLI tools, resolve the path relative to your binary: - -```typescript -import { fileURLToPath } from "url"; -import path from "path"; - -const __dirname = path.dirname(fileURLToPath(import.meta.url)); -const cliPath = path.join(__dirname, "..", "vendor", "copilot"); - -const client = new CopilotClient({ cliPath }); -``` - -## Platform-specific binaries - -When distributing for multiple platforms, include the correct binary for each target: - -```text -my-app/ -├── vendor/ -│ ├── copilot-darwin-arm64 # macOS Apple Silicon -│ ├── copilot-darwin-x64 # macOS Intel -│ ├── copilot-linux-x64 # Linux x64 -│ └── copilot-win-x64.exe # Windows x64 -└── src/ - └── index.ts -``` - -```typescript -import os from "os"; - -function getCLIPath(): string { - const platform = process.platform; // "darwin", "linux", "win32" - const arch = os.arch(); // "arm64", "x64" - const ext = platform === "win32" ? ".exe" : ""; - const name = `copilot-${platform}-${arch}${ext}`; - return path.join(__dirname, "vendor", name); -} - -const client = new CopilotClient({ - cliPath: getCLIPath(), -}); -``` +Session state persists at `~/.copilot/session-state/{sessionId}/`. -## Limitations +## When to move on -| Limitation | Details | -|---|---| -| **Bundle size** | The CLI binary adds to your app's distribution size. | -| **Updates** | You manage CLI version updates in your release cycle. | -| **Platform builds** | Separate binaries are needed for each OS/architecture. | -| **Single user** | Each bundled CLI instance serves one user. | +| Need | Next guide | +|------|-----------| +| Users signing in with {% data variables.product.github %} accounts | [AUTOTITLE](/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/github-oauth) | +| Run on a server instead of user machines | [AUTOTITLE](/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/backend-services) | +| Use your own model keys | [AUTOTITLE](/copilot/how-tos/copilot-sdk/authenticate-copilot-sdk/bring-your-own-key) | ## Next steps -* For users signing in with {% data variables.product.github %} accounts, see [AUTOTITLE](/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/github-oauth). -* To run on a server instead of user machines, see [AUTOTITLE](/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/backend-services). -* For installation and your first message, see [AUTOTITLE](/copilot/how-tos/copilot-sdk/sdk-getting-started). +* [AUTOTITLE](/copilot/how-tos/copilot-sdk/authenticate-copilot-sdk/bring-your-own-key) +* [AUTOTITLE](/copilot/how-tos/copilot-sdk/use-copilot-sdk/session-persistence) +* [AUTOTITLE](/copilot/how-tos/copilot-sdk/sdk-getting-started) diff --git a/content/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/choosing-a-setup-path.md b/content/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/choosing-a-setup-path.md index 797b84b0d8a2..4fc995c92c04 100644 --- a/content/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/choosing-a-setup-path.md +++ b/content/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/choosing-a-setup-path.md @@ -22,8 +22,8 @@ You're building a personal assistant, side project, or experimental app. You wan **Start with:** -1. [AUTOTITLE](/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/local-cli)—use the CLI already signed in on your machine. -1. [AUTOTITLE](/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/bundled-cli)—package everything into a standalone app. +1. [AUTOTITLE](/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/bundled-cli)—the SDK includes the CLI automatically—just install and go. +1. [AUTOTITLE](/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/local-cli)—use your own CLI binary or running instance (advanced). ### Internal app developer @@ -72,8 +72,8 @@ Use this table to find the right guide based on what you need to do. | What you need | Guide | |---|---| -| Simplest possible setup | [AUTOTITLE](/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/local-cli) | -| Ship a standalone app with Copilot | [AUTOTITLE](/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/bundled-cli) | +| Getting started quickly | [AUTOTITLE](/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/bundled-cli) | +| Use your own CLI binary or server | [AUTOTITLE](/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/local-cli) | | Users sign in with {% data variables.product.github %} | [AUTOTITLE](/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/github-oauth) | | Use your own model keys (OpenAI, Azure, etc.) | [BYOK](https://github.com/github/copilot-sdk/blob/main/docs/auth/byok.md) in the `github/copilot-sdk` repository | | Azure BYOK with Managed Identity (no API keys) | [AUTOTITLE](/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/azure-managed-identity) | @@ -84,13 +84,11 @@ Use this table to find the right guide based on what you need to do. All guides assume you have: -* **{% data variables.copilot.copilot_cli_short %}** installed. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli). -* **One of the SDKs** installed: +* **One of the SDKs** installed (Node.js, Python, and .NET SDKs include {% data variables.copilot.copilot_cli_short %} automatically): * Node.js: `npm install @github/copilot-sdk` * Python: `pip install github-copilot-sdk` - * Go: `go get github.com/github/copilot-sdk/go` + * Go: `go get github.com/github/copilot-sdk/go` (requires separate CLI installation) * .NET: `dotnet add package GitHub.Copilot.SDK` - * Java: See the [`github/copilot-sdk-java`](https://github.com/github/copilot-sdk-java) repository for Maven/Gradle setup If you're new to the {% data variables.copilot.copilot_sdk %}, start with [AUTOTITLE](/copilot/how-tos/copilot-sdk/sdk-getting-started) first, then return here for production configuration. diff --git a/content/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/github-oauth.md b/content/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/github-oauth.md index 2f57944e05ae..c973e12b1228 100644 --- a/content/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/github-oauth.md +++ b/content/copilot/how-tos/copilot-sdk/set-up-copilot-sdk/github-oauth.md @@ -74,7 +74,7 @@ import { CopilotClient } from "@github/copilot-sdk"; // Create a client for an authenticated user function createClientForUser(userToken: string): CopilotClient { return new CopilotClient({ - githubToken: userToken, + gitHubToken: userToken, useLoggedInUser: false, // Don't fall back to CLI sign-in }); } @@ -196,7 +196,7 @@ For {% data variables.enterprise.prodname_managed_users %}, the flow is identica ```typescript // No special SDK configuration needed for EMU const client = new CopilotClient({ - githubToken: emuUserToken, + gitHubToken: emuUserToken, useLoggedInUser: false, }); ``` @@ -246,7 +246,7 @@ const clients = new Map(); function getClientForUser(userId: string, token: string): CopilotClient { if (!clients.has(userId)) { clients.set(userId, new CopilotClient({ - githubToken: token, + gitHubToken: token, useLoggedInUser: false, })); } diff --git a/content/copilot/how-tos/copilot-sdk/troubleshooting/debug-copilot-sdk.md b/content/copilot/how-tos/copilot-sdk/troubleshooting/debug-copilot-sdk.md index 3e4af8632131..78aa6a80ed9c 100644 --- a/content/copilot/how-tos/copilot-sdk/troubleshooting/debug-copilot-sdk.md +++ b/content/copilot/how-tos/copilot-sdk/troubleshooting/debug-copilot-sdk.md @@ -78,7 +78,7 @@ For Python and Go, which do not currently support passing extra CLI arguments, r ```typescript copy const client = new CopilotClient({ - githubToken: process.env.GITHUB_TOKEN, + gitHubToken: process.env.GITHUB_TOKEN, }); ``` diff --git a/content/copilot/how-tos/copilot-sdk/troubleshooting/sdk-and-cli-compatibility.md b/content/copilot/how-tos/copilot-sdk/troubleshooting/sdk-and-cli-compatibility.md index c83b556c9cbc..9970a992ebe5 100644 --- a/content/copilot/how-tos/copilot-sdk/troubleshooting/sdk-and-cli-compatibility.md +++ b/content/copilot/how-tos/copilot-sdk/troubleshooting/sdk-and-cli-compatibility.md @@ -61,7 +61,7 @@ contentType: how-tos | Create workspace file | `session.rpc.workspace.createFile()` | Create file in workspace | | **Authentication** | | | | Get auth status | `getAuthStatus()` | Check login state | -| Use token | `githubToken` option | Programmatic auth | +| Use token | `gitHubToken` option | Programmatic auth | | **Connectivity** | | | | Ping | `client.ping()` | Health check with server timestamp | | Get server status | `client.getStatus()` | Protocol version and server info | @@ -92,7 +92,9 @@ contentType: how-tos | **Experimental** | | | | Agent management | `session.rpc.agent.*` | List, select, deselect, get current agent | | Fleet mode | `session.rpc.fleet.start()` | Parallel sub-agent execution | -| Manual compaction | `session.rpc.compaction.compact()` | Trigger compaction on demand | +| Manual compaction | `session.rpc.history.compact()` | Trigger compaction on demand | +| History truncation | `session.rpc.history.truncate()` | Remove events from a point onward | +| Session forking | `server.rpc.sessions.fork()` | Fork a session at a point in history | ### Not available in SDK (CLI-only) @@ -228,7 +230,7 @@ const session = await client.createSession({ }); // Manual compaction (experimental) -const result = await session.rpc.compaction.compact(); +const result = await session.rpc.history.compact(); console.log(`Removed ${result.tokensRemoved} tokens, ${result.messagesRemoved} messages`); ``` diff --git a/content/copilot/how-tos/copilot-sdk/use-copilot-sdk/agent-loop.md b/content/copilot/how-tos/copilot-sdk/use-copilot-sdk/agent-loop.md new file mode 100644 index 000000000000..02b8202855a3 --- /dev/null +++ b/content/copilot/how-tos/copilot-sdk/use-copilot-sdk/agent-loop.md @@ -0,0 +1,132 @@ +--- +title: Understanding the agent loop +shortTitle: Agent loop +intro: 'Learn how {% data variables.copilot.copilot_cli_short %} processes a user message end-to-end, from prompt to `session.idle`.' +product: '{% data reusables.gated-features.copilot-sdk %}' +versions: + feature: copilot +contentType: how-tos +category: + - Author and optimize with Copilot +--- + +{% data reusables.copilot.copilot-sdk.technical-preview-note %} + +## Architecture + +![Diagram showing the flow from your app to the SDK session, to the Copilot CLI, to the LLM, and back.](/assets/images/help/copilot/copilot-sdk/agent-loop-architecture.png) + +The **{% data variables.copilot.copilot_sdk_short %}** is a transport layer—it sends your prompt to **{% data variables.copilot.copilot_cli_short %}** over JSON-RPC and surfaces events back to your app. The **CLI** is the orchestrator that runs the agentic tool-use loop, making one or more LLM API calls until the task is done. + +## The tool-use loop + +When you call `session.send({ prompt })`, {% data variables.copilot.copilot_cli_short %} enters a loop: + +![Diagram of the tool-use loop: prompt to LLM call, tool execution if requested, otherwise session.idle.](/assets/images/help/copilot/copilot-sdk/agent-loop-tool-use-loop.png) + +The model sees the **full conversation history** on each call—system prompt, user message, and all prior tool calls and results. + +Each iteration of this loop is exactly one LLM API call, visible as one `assistant.turn_start` / `assistant.turn_end` pair in the event log. There are no hidden calls. + +## Turns + +A **turn** is a single LLM API call and its consequences: + +1. {% data variables.copilot.copilot_cli_short %} sends the conversation history to the LLM +1. The LLM responds (possibly with tool requests) +1. If tools were requested, {% data variables.copilot.copilot_cli_short %} executes them +1. `assistant.turn_end` is emitted + +A single user message typically results in **multiple turns**. For example, a question like "how does X work in this codebase?" might produce: + +| Turn | What the model does | toolRequests? | +|------|-------------------|---------------| +| 1 | Calls `grep` and `glob` to search the codebase | Yes | +| 2 | Reads specific files based on search results | Yes | +| 3 | Reads more files for deeper context | Yes | +| 4 | Produces the final text answer | No (loop ends) | + +The model decides on each turn whether to request more tools or produce a final answer. Each call sees the **full accumulated context** (all prior tool calls and results), so it can make an informed decision about whether it has enough information. + +## Event flow for a multi-turn interaction + +![Diagram of three turns in an agent interaction, each with start, message, tool, and end events, ending in session.idle.](/assets/images/help/copilot/copilot-sdk/agent-loop-event-flow.png) + +## Who triggers each turn + +| Actor | Responsibility | +|-------|---------------| +| **Your app** | Sends the initial prompt via `session.send()` | +| **{% data variables.copilot.copilot_cli_short %}** | Runs the tool-use loop—executes tools and feeds results back to the LLM for the next turn | +| **LLM** | Decides whether to request tools (continue looping) or produce a final response (stop) | +| **{% data variables.copilot.copilot_sdk_short %}** | Passes events through; does not control the loop | + +{% data variables.copilot.copilot_cli_short %} is purely mechanical: "model asked for tools → execute → call model again." The **model** is the decision-maker for when to stop. + +## `session.idle` vs `session.task_complete` + +These are two different completion signals with very different guarantees. + +### `session.idle` + +* **Always emitted** when the tool-use loop ends +* **Ephemeral**: not persisted to disk, not replayed on session resume +* **Means:** "the agent has stopped processing and is ready for the next message" +* **Use this** as your reliable "done" signal + +The {% data variables.copilot.copilot_sdk_short %}'s `sendAndWait()` method waits for this event: + +```typescript +// Blocks until session.idle fires +const response = await session.sendAndWait({ prompt: "Fix the bug" }); +``` + +### `session.task_complete` + +* **Optionally emitted**: requires the model to explicitly signal it +* **Persisted**: saved to the session event log on disk +* **Means:** "the agent considers the overall task fulfilled" +* Carries an optional `summary` field + +```typescript +session.on("session.task_complete", (event) => { + console.log("Task done:", event.data.summary); +}); +``` + +### Autopilot mode + +In **autopilot mode** (headless or autonomous operation), {% data variables.copilot.copilot_cli_short %} actively tracks whether the model has called `task_complete`. If the tool-use loop ends without it, {% data variables.copilot.copilot_cli_short %} injects a synthetic user message nudging the model to continue working. + +This creates a **two-level completion mechanism** in autopilot: + +1. The model calls `task_complete` with a summary → {% data variables.copilot.copilot_cli_short %} emits `session.task_complete` → done +1. The model stops without calling it → {% data variables.copilot.copilot_cli_short %} nudges → model continues or calls `task_complete` + +### Why `task_complete` might not appear + +In **interactive mode** (normal chat), {% data variables.copilot.copilot_cli_short %} does not nudge for `task_complete`. The model may skip it entirely. Common reasons: + +* **Conversational Q&A**: the model answers a question and simply stops—there's no discrete "task" to complete +* **Model discretion**: the model produces a final text response without calling the task-complete signal +* **Interrupted sessions**: the session ends before the model reaches a completion point + +{% data variables.copilot.copilot_cli_short %} emits `session.idle` regardless, because it's a mechanical signal (the loop ended), not a semantic one (the model thinks it's done). + +### Which signal to use + +| Use case | Signal | +|----------|--------| +| Wait for the agent to finish processing | `session.idle` | +| Know when a coding task is done | `session.task_complete` (best-effort) | +| Timeout and error handling | `session.idle` + `session.error` | + +## Counting LLM calls + +The number of `assistant.turn_start` / `assistant.turn_end` pairs in the event log equals the total number of LLM API calls made. There are no hidden calls for planning, evaluation, or completion checking. + +## Further reading + +* [AUTOTITLE](/copilot/how-tos/copilot-sdk/use-copilot-sdk/streaming-events) +* [AUTOTITLE](/copilot/how-tos/copilot-sdk/use-copilot-sdk/session-persistence) +* [AUTOTITLE](/copilot/how-tos/copilot-sdk/use-copilot-sdk/working-with-hooks) diff --git a/content/copilot/how-tos/copilot-sdk/use-copilot-sdk/custom-agents.md b/content/copilot/how-tos/copilot-sdk/use-copilot-sdk/custom-agents.md index 2ba0a2b84faa..5a92d54b1ac4 100644 --- a/content/copilot/how-tos/copilot-sdk/use-copilot-sdk/custom-agents.md +++ b/content/copilot/how-tos/copilot-sdk/use-copilot-sdk/custom-agents.md @@ -59,13 +59,14 @@ For examples in Python, Go, and .NET, see the [`github/copilot-sdk` repository]( | Property | Type | Required | Description | |----------|------|----------|-------------| -| `name` | `string` | ✅ | Unique identifier for the agent | -| `displayName` | `string` | | Human-readable name shown in events | -| `description` | `string` | | What the agent does—helps the runtime select it | -| `tools` | `string[]` or `null` | | Names of tools the agent can use. `null` or omitted = all tools | -| `prompt` | `string` | ✅ | System prompt for the agent | -| `mcpServers` | `object` | | MCP server configurations specific to this agent | -| `infer` | `boolean` | | Whether the runtime can auto-select this agent (default: `true`) | +| `name` | `string` | Yes | Unique identifier for the agent | +| `displayName` | `string` | No | Human-readable name shown in events | +| `description` | `string` | No | What the agent does—helps the runtime select it | +| `tools` | `string[]` or `null` | No | Names of tools the agent can use. `null` or omitted = all tools | +| `prompt` | `string` | Yes | System prompt for the agent | +| `mcpServers` | `object` | No | MCP server configurations specific to this agent | +| `infer` | `boolean` | No | Whether the runtime can auto-select this agent (default: `true`) | +| `skills` | `string[]` | No | Skill names to preload into the agent's context at startup | > [!TIP] > A good `description` helps the runtime match user intent to the right agent. Be specific about the agent's expertise and capabilities. @@ -76,6 +77,35 @@ In addition to per-agent configuration, you can set `agent` on the **session con |-------------------------|------|-------------| | `agent` | `string` | Name of the custom agent to pre-select at session creation. Must match a `name` in `customAgents`. | +## Per-agent skills + +You can preload skills into an agent's context using the `skills` property. When specified, the full content of each listed skill is eagerly injected into the agent's context at startup—the agent doesn't need to invoke a skill tool; the instructions are already present. Skills are opt-in: agents receive no skills by default, and sub-agents do not inherit skills from the parent. Skill names are resolved from the session-level `skillDirectories`. + +```typescript +const session = await client.createSession({ + skillDirectories: ["./skills"], + customAgents: [ + { + name: "security-auditor", + description: "Security-focused code reviewer", + prompt: "Focus on OWASP Top 10 vulnerabilities", + skills: ["security-scan", "dependency-check"], + }, + { + name: "docs-writer", + description: "Technical documentation writer", + prompt: "Write clear, concise documentation", + skills: ["markdown-lint"], + }, + ], + onPermissionRequest: async () => ({ kind: "approved" }), +}); +``` + +In this example, `security-auditor` starts with `security-scan` and `dependency-check` already injected into its context, while `docs-writer` starts with `markdown-lint`. An agent without a `skills` field receives no skill content. + +For examples in other languages, see the [`github/copilot-sdk` repository](https://github.com/github/copilot-sdk/blob/main/docs/features/custom-agents.md#per-agent-skills). {% data reusables.copilot.copilot-sdk.java-sdk-link %} + ## Selecting an agent at session creation You can pass `agent` in the session config to pre-select which custom agent should be active when the session starts. The value must match the `name` of one of the agents defined in `customAgents`. @@ -134,7 +164,7 @@ When a sub-agent runs, the parent session emits lifecycle events. Subscribe to t | `subagent.started` | Sub-agent begins execution | `toolCallId`, `agentName`, `agentDisplayName`, `agentDescription` | | `subagent.completed` | Sub-agent finishes successfully | `toolCallId`, `agentName`, `agentDisplayName` | | `subagent.failed` | Sub-agent encounters an error | `toolCallId`, `agentName`, `agentDisplayName`, `error` | -| `subagent.deselected` | Runtime switches away from the sub-agent | — | +| `subagent.deselected` | Runtime switches away from the sub-agent | None | ### Subscribing to events @@ -256,6 +286,73 @@ const session = await client.createSession({ > [!NOTE] > When `tools` is `null` or omitted, the agent inherits access to all tools configured on the session. Use explicit tool lists to enforce the principle of least privilege. +## Agent-exclusive tools + +Use the `defaultAgent` property on the session configuration to hide specific tools from the default agent (the built-in agent that handles turns when no custom agent is selected). This forces the main agent to delegate to sub-agents when those tools' capabilities are needed, keeping the main agent's context clean. + +This is useful when: + +* Certain tools generate large amounts of context that would overwhelm the main agent +* You want the main agent to act as an orchestrator, delegating heavy work to specialized sub-agents +* You need strict separation between orchestration and execution + +```typescript +import { CopilotClient, defineTool, approveAll } from "@github/copilot-sdk"; +import { z } from "zod"; + +const heavyContextTool = defineTool("analyze-codebase", { + description: "Performs deep analysis of the codebase, generating extensive context", + parameters: z.object({ query: z.string() }), + handler: async ({ query }) => { + // ... expensive analysis that returns lots of data + return { analysis: "..." }; + }, +}); + +const session = await client.createSession({ + tools: [heavyContextTool], + defaultAgent: { + excludedTools: ["analyze-codebase"], + }, + customAgents: [ + { + name: "researcher", + description: "Deep codebase analysis agent with access to heavy-context tools", + tools: ["analyze-codebase"], + prompt: "You perform thorough codebase analysis using the analyze-codebase tool.", + }, + ], +}); +``` + +For examples in Python, Go, and .NET, see the [`github/copilot-sdk` repository](https://github.com/github/copilot-sdk/blob/main/docs/features/custom-agents.md#agent-exclusive-tools). {% data reusables.copilot.copilot-sdk.java-sdk-link %} + +### How it works + +Tools listed in `defaultAgent.excludedTools`: + +1. **Are registered**—their handlers are available for execution +1. **Are hidden** from the main agent's tool list—the LLM won't see or call them directly +1. **Remain available** to any custom sub-agent that includes them in its `tools` array + +### Interaction with other tool filters + +`defaultAgent.excludedTools` is orthogonal to the session-level `availableTools` and `excludedTools`: + +| Filter | Scope | Effect | +|--------|-------|--------| +| `availableTools` | Session-wide | Allowlist—only these tools exist for anyone | +| `excludedTools` | Session-wide | Blocklist—these tools are blocked for everyone | +| `defaultAgent.excludedTools` | Main agent only | These tools are hidden from the main agent but available to sub-agents | + +Precedence: + +1. Session-level `availableTools`/`excludedTools` are applied first (globally) +1. `defaultAgent.excludedTools` is applied on top, further restricting the main agent only + +> [!NOTE] +> If a tool is in both `excludedTools` (session-level) and `defaultAgent.excludedTools`, the session-level exclusion takes precedence—the tool is unavailable to everyone. + ## Attaching MCP servers to agents Each custom agent can have its own MCP (Model Context Protocol) servers, giving it access to specialized data sources: diff --git a/content/copilot/how-tos/copilot-sdk/use-copilot-sdk/index.md b/content/copilot/how-tos/copilot-sdk/use-copilot-sdk/index.md index 93c576597a29..8f74ad3ce376 100644 --- a/content/copilot/how-tos/copilot-sdk/use-copilot-sdk/index.md +++ b/content/copilot/how-tos/copilot-sdk/use-copilot-sdk/index.md @@ -5,10 +5,12 @@ intro: Explore the capabilities you can add to your {% data variables.copilot.co versions: feature: copilot children: + - /agent-loop - /working-with-hooks - /custom-agents - /image-input - /mcp-servers + - /remote-sessions - /session-persistence - /custom-skills - /steering-and-queueing diff --git a/content/copilot/how-tos/copilot-sdk/use-copilot-sdk/remote-sessions.md b/content/copilot/how-tos/copilot-sdk/use-copilot-sdk/remote-sessions.md new file mode 100644 index 000000000000..5b896c06043d --- /dev/null +++ b/content/copilot/how-tos/copilot-sdk/use-copilot-sdk/remote-sessions.md @@ -0,0 +1,70 @@ +--- +title: Remote sessions +shortTitle: Remote sessions +intro: 'Let users access their {% data variables.product.prodname_copilot_short %} session from {% data variables.product.github %} web and mobile by connecting the session to Mission Control.' +product: '{% data reusables.gated-features.copilot-sdk %}' +versions: + feature: copilot +contentType: how-tos +category: + - Author and optimize with Copilot +--- + +{% data reusables.copilot.copilot-sdk.technical-preview-note %} + +Remote sessions let users access their {% data variables.product.prodname_copilot_short %} session from {% data variables.product.github %} web and mobile. When enabled, the {% data variables.copilot.copilot_sdk_short %} connects each session to Mission Control, producing a URL that can be shared as a link or QR code. + +## Prerequisites + +* The user must be authenticated (GitHub token or logged-in user) +* The session's working directory must be a GitHub repository + +## Enabling remote sessions + +You can enable remote access at the client level (always-on) or toggle it per session (on-demand). + +### Always-on (client-level) + +Set `remote: true` when creating the client. Every session in a GitHub repo automatically gets a remote URL. + +```typescript +import { CopilotClient } from "@github/copilot-sdk"; + +const client = new CopilotClient({ remote: true }); +const session = await client.createSession({ + workingDirectory: "/path/to/github-repo", + onPermissionRequest: async () => ({ allowed: true }), +}); + +session.on("session.info", (event) => { + if (event.data.infoType === "remote") { + console.log("Remote URL:", event.data.url); + } +}); +``` + +For examples in Python, Go, C#, and Rust, see the [`github/copilot-sdk` repository](https://github.com/github/copilot-sdk/blob/main/docs/features/remote-sessions.md#always-on-client-level). {% data reusables.copilot.copilot-sdk.java-sdk-link %} + +### On-demand (per-session toggle) + +Use `session.rpc.remote.enable()` to start remote access mid-session, and `session.rpc.remote.disable()` to stop it. This is equivalent to {% data variables.copilot.copilot_cli_short %}'s `/remote on` and `/remote off` commands. + +```typescript +const result = await session.rpc.remote.enable(); +console.log("Remote URL:", result.url); + +// Later: stop sharing +await session.rpc.remote.disable(); +``` + +For examples in Python, Go, C#, and Rust, see the [`github/copilot-sdk` repository](https://github.com/github/copilot-sdk/blob/main/docs/features/remote-sessions.md#on-demand-per-session-toggle). {% data reusables.copilot.copilot-sdk.java-sdk-link %} + +## QR code generation + +The remote URL can be rendered as a QR code for easy mobile access. The {% data variables.copilot.copilot_sdk_short %} provides the URL—use your preferred QR code library. + +## Notes + +* The `remote` client option only applies when the {% data variables.copilot.copilot_sdk_short %} spawns {% data variables.copilot.copilot_cli_short %}. It is ignored when connecting to an external server via `cliUrl`. +* If the working directory is not a GitHub repository, remote setup is silently skipped (always-on mode) or returns an error (on-demand mode). +* Remote sessions require authentication. Ensure `gitHubToken` or `useLoggedInUser` is configured. From 5f91b48d788c21f39d09e03a83b95f0ebac570ed Mon Sep 17 00:00:00 2001 From: Thom Wong <101249231+supergranular@users.noreply.github.com> Date: Fri, 22 May 2026 10:24:05 +0200 Subject: [PATCH 3/6] Adding new content type - Get started (#60809) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../get-started-content-type.md | 30 +++++++++++++++++++ .../style-guide-and-content-model/index.md | 1 + 2 files changed, 31 insertions(+) create mode 100644 content/contributing/style-guide-and-content-model/get-started-content-type.md diff --git a/content/contributing/style-guide-and-content-model/get-started-content-type.md b/content/contributing/style-guide-and-content-model/get-started-content-type.md new file mode 100644 index 000000000000..a2d8221dd50c --- /dev/null +++ b/content/contributing/style-guide-and-content-model/get-started-content-type.md @@ -0,0 +1,30 @@ +--- +title: Get started content type +intro: Get started content provides the minimal essential information to use a product or feature. +versions: + fpt: '*' + ghec: '*' + ghes: '*' +category: + - Follow the style guide and content model +--- + +Get started content provides an entry point into using GitHub products and features. This section should contain only the minimum essential information a user needs before they move on to concepts and how-tos. We do this to be concise, and also so it doesn't seem complicated just to get started with a feature. + +## Get started considerations + +Get started is a set of articles which should be easy and fast to scan. It should contain fewer than 5 articles, and ideally only two: +* Quickstart +* About [PRODUCT] (or “What is [PRODUCT]”) + +The one exception to this may be with available plans and billing information, where such information is required to use the product or feature. + +For more information on quickstart content, see [AUTOTITLE](/contributing/style-guide-and-content-model/quickstart-content-type). + +In particular, articles with this information do not belong in Get started: + * Articles that fall under the how-to content type. + * Set up or sign up steps: these are also how-tos. They document how to do something in the UI. + * Content that is useful for getting started with a particular feature but not the whole product area. This kind of content more properly belongs in Concepts. + * Best practices, generally. Users new to a feature lack the context necessary to make the most of these. + + diff --git a/content/contributing/style-guide-and-content-model/index.md b/content/contributing/style-guide-and-content-model/index.md index d2f97a6d2b53..8124355d0d00 100644 --- a/content/contributing/style-guide-and-content-model/index.md +++ b/content/contributing/style-guide-and-content-model/index.md @@ -14,6 +14,7 @@ children: - /how-to-content-type - /troubleshooting-content-type - /release-note-content-type + - /get-started-content-type - /quickstart-content-type - /tutorial-content-type - /about-combining-multiple-content-types From b65b05621760732ab61e9e5a755c74206295ce1f Mon Sep 17 00:00:00 2001 From: Isaac Brown <101839405+isaacmbrown@users.noreply.github.com> Date: Fri, 22 May 2026 10:09:25 +0100 Subject: [PATCH 4/6] Utility models (#61281) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- content/copilot/concepts/index.md | 5 ++-- .../{ => models}/auto-model-selection.md | 26 ++++++++++--------- .../{ => models}/fallback-and-lts-models.md | 4 ++- .../concepts/{ => models}/fedramp-models.md | 6 +++-- content/copilot/concepts/models/index.md | 14 ++++++++++ .../copilot/concepts/models/utility-models.md | 24 +++++++++++++++++ .../preparing-for-new-features-and-models.md | 7 +++-- .../reference/ai-models/supported-models.md | 8 +++++- data/reusables/copilot/utility-models.md | 6 +++++ 9 files changed, 79 insertions(+), 21 deletions(-) rename content/copilot/concepts/{ => models}/auto-model-selection.md (93%) rename content/copilot/concepts/{ => models}/fallback-and-lts-models.md (92%) rename content/copilot/concepts/{ => models}/fedramp-models.md (91%) create mode 100644 content/copilot/concepts/models/index.md create mode 100644 content/copilot/concepts/models/utility-models.md create mode 100644 data/reusables/copilot/utility-models.md diff --git a/content/copilot/concepts/index.md b/content/copilot/concepts/index.md index c26623f9a859..2436d3183b39 100644 --- a/content/copilot/concepts/index.md +++ b/content/copilot/concepts/index.md @@ -13,15 +13,14 @@ children: - /prompting - /context - /tools - - /auto-model-selection + - /models - /usage-limits - /billing - /about-enterprise-accounts-for-copilot-business - /policies - /mcp-management - - /fedramp-models - /network-settings - - /fallback-and-lts-models - /preparing-for-new-features-and-models contentType: concepts --- + diff --git a/content/copilot/concepts/auto-model-selection.md b/content/copilot/concepts/models/auto-model-selection.md similarity index 93% rename from content/copilot/concepts/auto-model-selection.md rename to content/copilot/concepts/models/auto-model-selection.md index db943cd790e0..829277d127f9 100644 --- a/content/copilot/concepts/auto-model-selection.md +++ b/content/copilot/concepts/models/auto-model-selection.md @@ -7,8 +7,10 @@ product: '{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} versions: feature: copilot contentType: concepts -category: +category: - Learn about Copilot +redirect_from: + - /copilot/concepts/auto-model-selection --- ## Overview @@ -17,14 +19,14 @@ More than just a model picker, {% data variables.copilot.copilot_auto_model_sele ### Auto with task optimization -> [!NOTE] {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} with task optimization is generally available in {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vscode_shortname %}. +> [!NOTE] {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} with task optimization is generally available in {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vscode_shortname %}. {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} with task optimization combines two systems to provide high quality results and better reliability. One system tracks real-time system health and availability, while the other evaluates task complexity. Putting these together, {% data variables.copilot.copilot_auto_model_selection_short %} routes the task to the optimal model. -Routing occurs along natural cache boundaries to avoid additional cache related costs. Switching models mid-session has shown increased cost without ample improvements in quality. +Routing occurs along natural cache boundaries to avoid additional cache related costs. Switching models mid-session has shown increased cost without ample improvements in quality. This helps you get more value from {% data variables.product.prodname_copilot_short %} since it matches each task to the model that can solve it most efficiently. That means reserving higher-cost reasoning models for problems that truly need it, while routing straightforward tasks to faster, lower-cost models that still deliver great results. -Benefits of using {% data variables.copilot.copilot_auto_model_selection_short %} include: +Benefits of using {% data variables.copilot.copilot_auto_model_selection_short %} include: * Matching each task to the model that can solve it most efficiently. * Model choice based on real-time system health and availability. * Language invariance: Routing decisions depend on what you are trying to do, not what language you're asking in. @@ -46,7 +48,7 @@ When you select **Auto**, {% data variables.copilot.copilot_auto_model_selection * Models not available in your plan. * Models excluded by administrator policies. See [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-access-to-ai-models). * Models excluded by policies restricting {% data variables.product.prodname_copilot_short %} to data-resident or FedRAMP-compliant models. -* Models with premium request multipliers greater than one. +* Models with premium request multipliers greater than one. ### Multiplier discounts @@ -54,20 +56,20 @@ When you select **Auto**, {% data variables.copilot.copilot_auto_model_selection ## {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} in {% data variables.product.prodname_copilot_short %} -{% data variables.copilot.copilot_auto_model_selection_short_cap_a %}, optimized for model reliability and availability, is available in these {% data variables.product.prodname_copilot_short %} products: +{% data variables.copilot.copilot_auto_model_selection_short_cap_a %}, optimized for model reliability and availability, is available in these {% data variables.product.prodname_copilot_short %} products: * {% data variables.copilot.copilot_chat_short %} * {% data variables.copilot.copilot_cli_short %} -* {% data variables.copilot.copilot_cloud_agent %} +* {% data variables.copilot.copilot_cloud_agent %} > [!TIP] > You can see which model was used for each {% data variables.product.prodname_copilot_short %} response. > * In **{% data variables.copilot.copilot_chat_short %}**, hover over the response. > * In **{% data variables.copilot.copilot_cli_short %}**, the model used for each response displays in the terminal. -> * In **{% data variables.copilot.copilot_cloud_agent %}**, the model used for each response displays at the end of the response. +> * In **{% data variables.copilot.copilot_cloud_agent %}**, the model used for each response displays at the end of the response. ### {% data variables.copilot.copilot_chat_short %} in IDEs -{% data variables.copilot.copilot_auto_model_selection_short_cap_a %}, with task optimization, is generally available in the following IDEs: +{% data variables.copilot.copilot_auto_model_selection_short_cap_a %}, with task optimization, is generally available in the following IDEs: * {% data variables.product.prodname_vscode_shortname %} {% data variables.copilot.copilot_auto_model_selection_short_cap_a %}, optimized for model reliability and availability, is generally available in the following IDEs: @@ -75,7 +77,7 @@ When you select **Auto**, {% data variables.copilot.copilot_auto_model_selection * Eclipse * Xcode -{% data variables.copilot.copilot_auto_model_selection_short_cap_a %}, optimized for model reliability and availability, is in public preview in the following IDEs: +{% data variables.copilot.copilot_auto_model_selection_short_cap_a %}, optimized for model reliability and availability, is in public preview in the following IDEs: * {% data variables.product.prodname_vs %} #### Enabling access during {% data variables.release-phases.public_preview %} @@ -88,7 +90,7 @@ When you select **Auto** in the {% data variables.product.prodname_openai_codex ### {% data variables.product.prodname_openai_codex %} supported models -These models are available for {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} in the {% data variables.product.prodname_openai_codex %} coding agent. +These models are available for {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} in the {% data variables.product.prodname_openai_codex %} coding agent. {% data reusables.copilot.openai-codex-agent-models %} @@ -96,7 +98,7 @@ For more information, see [AUTOTITLE](/copilot/concepts/agents/openai-codex). ### {% data variables.product.prodname_anthropic_claude %} supported models -These models are available for {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} in the {% data variables.product.prodname_anthropic_claude %} coding agent. +These models are available for {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} in the {% data variables.product.prodname_anthropic_claude %} coding agent. {% data reusables.copilot.anthropic-claude-agent-models %} diff --git a/content/copilot/concepts/fallback-and-lts-models.md b/content/copilot/concepts/models/fallback-and-lts-models.md similarity index 92% rename from content/copilot/concepts/fallback-and-lts-models.md rename to content/copilot/concepts/models/fallback-and-lts-models.md index 8ef077b72391..740d888bfb84 100644 --- a/content/copilot/concepts/fallback-and-lts-models.md +++ b/content/copilot/concepts/models/fallback-and-lts-models.md @@ -1,13 +1,15 @@ --- title: Base and long-term support (LTS) models shortTitle: Base and LTS models -intro: 'Learn about base models, long-term support (LTS) models, and how they affect model availability for enterprises using {% data variables.product.prodname_copilot %}.' +intro: Learn about base models, long-term support (LTS) models, and how they affect model availability for enterprises using {% data variables.product.prodname_copilot %}. versions: feature: copilot allowTitleToDifferFromFilename: true contentType: concepts category: - Manage Copilot for a team +redirect_from: + - /copilot/concepts/fallback-and-lts-models --- ## About base models diff --git a/content/copilot/concepts/fedramp-models.md b/content/copilot/concepts/models/fedramp-models.md similarity index 91% rename from content/copilot/concepts/fedramp-models.md rename to content/copilot/concepts/models/fedramp-models.md index f4249af03257..21239e286f9c 100644 --- a/content/copilot/concepts/fedramp-models.md +++ b/content/copilot/concepts/models/fedramp-models.md @@ -1,11 +1,13 @@ --- title: FedRAMP-compliant models for GitHub Copilot shortTitle: FedRAMP models -intro: "Restrict users to models with FedRAMP Moderate certification." +intro: Restrict users to models with FedRAMP Moderate certification. versions: feature: copilot product: '{% data variables.enterprise.data_residency %}' contentType: concepts +redirect_from: + - /copilot/concepts/fedramp-models --- If your enterprise uses {% data variables.enterprise.data_residency %} in the US, you can enable a policy to ensure that users on your {% data variables.product.prodname_copilot_short %} plan can only use models with **FedRAMP Moderate** certification. @@ -34,4 +36,4 @@ Enabling the FedRAMP policy restricts users to the following models: To enable this policy, use the **Restrict {% data variables.product.prodname_copilot_short %} to FedRAMP models** policy in the "Features" section of your enterprise's {% data variables.product.prodname_copilot_short %} policies. This policy is disabled by default, and enabling it will affect your pricing for {% data variables.product.prodname_copilot_short %} requests. -For instructions on finding your policies page, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-enterprise-policies). \ No newline at end of file +For instructions on finding your policies page, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-enterprise-policies). diff --git a/content/copilot/concepts/models/index.md b/content/copilot/concepts/models/index.md new file mode 100644 index 000000000000..0b1e12402048 --- /dev/null +++ b/content/copilot/concepts/models/index.md @@ -0,0 +1,14 @@ +--- +title: Models for GitHub Copilot +shortTitle: Models +intro: Learn about the AI models available for {% data variables.product.prodname_copilot %}. +versions: + feature: copilot +contentType: concepts +children: + - /utility-models + - /auto-model-selection + - /fedramp-models + - /fallback-and-lts-models +--- + diff --git a/content/copilot/concepts/models/utility-models.md b/content/copilot/concepts/models/utility-models.md new file mode 100644 index 000000000000..0f48b57db10b --- /dev/null +++ b/content/copilot/concepts/models/utility-models.md @@ -0,0 +1,24 @@ +--- +title: Utility models +intro: 'Utility models power background {% data variables.product.prodname_copilot_short %} features.' +versions: + feature: copilot +contentType: concepts +--- + +Utility models are a small set of models that are automatically enabled for all {% data variables.product.prodname_copilot %} users across every plan. They power background features such as the generation of commit messages or chat session titles, and they apply across {% data variables.product.prodname_copilot_short %} surfaces: in IDEs, on {% data variables.product.github %}, and in {% data variables.copilot.copilot_cli_short %}. + +## How do utility models work? + +Utility models: + +* Are **not** visible in the model picker and cannot be selected by users directly. +* **Cannot** be disabled by organization or enterprise administrators, except by disabling {% data variables.product.prodname_copilot_short %} completely. +* Do **not** consume premium request units or tokens for usage-based billing, and do **not** appear as a billed line item in usage reports. +* **Are** subject to per-user rate limits. + +These characteristics ensure that {% data variables.product.prodname_copilot_short %} features work smoothly regardless of your model policies and billing controls. + +## List of utility models + +Utility models are typically selected for being fast and lightweight. {% data reusables.copilot.utility-models %} diff --git a/content/copilot/concepts/preparing-for-new-features-and-models.md b/content/copilot/concepts/preparing-for-new-features-and-models.md index 59346a561881..d5d80318ff4a 100644 --- a/content/copilot/concepts/preparing-for-new-features-and-models.md +++ b/content/copilot/concepts/preparing-for-new-features-and-models.md @@ -54,18 +54,21 @@ You can find information about the models available and upcoming models in the f * **Model comparison**: To compare model capabilities side by side, see [AUTOTITLE](/copilot/reference/ai-models/model-comparison). * **Changelog**: Model updates are announced in the [{% data variables.product.prodname_copilot_short %} changelog](https://github.blog/changelog/label/copilot/). -To plan for model transitions and set user expectations, track which models {% data variables.product.github %} designates as base or long-term support (LTS): +#### Special categories + +{% data variables.product.company_short %} categorizes certain types of model, allowing you to plan for model transitions and set user expectations. {% rowheaders %} | Model type | Description | Why it matters | | --- | --- | --- | +| Utility model | A small set of models that power background {% data variables.product.company_short %} features across surfaces. | Your enterprise cannot disable these models. Monitor these to ensure they are compliant. | | Base model | The default model when no other models are enabled. | Automatically enabled within 60 days of designation. | | LTS model | A model supported for one year from designation. | Allows enterprises to build workflows around a stable model. | {% endrowheaders %} -For more information, see [AUTOTITLE](/copilot/concepts/fallback-and-lts-models). +For more information, see [AUTOTITLE](/copilot/concepts/models/utility-models) and [AUTOTITLE](/copilot/concepts/models/fallback-and-lts-models). ## Considering different release stages diff --git a/content/copilot/reference/ai-models/supported-models.md b/content/copilot/reference/ai-models/supported-models.md index 97a8262a4977..a788d32fe842 100644 --- a/content/copilot/reference/ai-models/supported-models.md +++ b/content/copilot/reference/ai-models/supported-models.md @@ -107,7 +107,7 @@ Some {% data variables.product.prodname_copilot_short %} models require minimum {% endrowheaders %} > [!NOTE] -> +> > * For {% data variables.copilot.copilot_gpt_53_codex %} in {% data variables.product.prodname_vscode %}, `v1.108` and later provide improved prompting and response quality. > * "No minimum listed" means the reviewed changelog or release guidance did not specify a minimum version, not that all older versions are supported. > * Even when a model appears in the model picker on older supported versions, prompting and model behavior may work best with the latest IDE and {% data variables.product.prodname_copilot_short %} extension or plugin versions. @@ -154,6 +154,12 @@ For more information about fallback and LTS models, see [AUTOTITLE](/copilot/con Evaluation models may be added, updated, or removed without notice. Availability and rate limits may differ from generally available models. +## Utility models + +Utility models power background features across surfaces, and cannot be disabled or selected in the model picker. See [AUTOTITLE](/copilot/concepts/models/utility-models). + +{% data reusables.copilot.utility-models %} + ## Next steps * For task-based guidance on selecting a model, see [AUTOTITLE](/copilot/reference/ai-models/model-comparison). diff --git a/data/reusables/copilot/utility-models.md b/data/reusables/copilot/utility-models.md new file mode 100644 index 000000000000..ed799f88dfc4 --- /dev/null +++ b/data/reusables/copilot/utility-models.md @@ -0,0 +1,6 @@ +The following models are currently used as utility models: + +* {% data variables.copilot.copilot_gpt_4o_mini %} +* {% data variables.copilot.copilot_gpt_4o %} +* {% data variables.copilot.copilot_gpt_41 %} +* {% data variables.copilot.copilot_gpt_54_nano %} From 24a7a1dca982b66ffe56e2c51faad1f83a12b3bf Mon Sep 17 00:00:00 2001 From: Salman Chishti Date: Fri, 22 May 2026 10:41:10 +0100 Subject: [PATCH 5/6] Revert "Revert" Document GITHUB_TOKEN pull request workflow approval behavior (#61001) Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com> Co-authored-by: Aiqiao Yan <55104035+aiqiaoy@users.noreply.github.com> --- content/actions/concepts/security/github_token.md | 5 +++++ .../choose-when-workflows-run/trigger-a-workflow.md | 2 +- .../workflows-and-actions/events-that-trigger-workflows.md | 3 ++- .../actions-github-token-pull-request-approval.yml | 7 +++++++ data/reusables/actions/actions-do-not-trigger-workflows.md | 5 +++-- 5 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 data/features/actions-github-token-pull-request-approval.yml diff --git a/content/actions/concepts/security/github_token.md b/content/actions/concepts/security/github_token.md index 101873ecb605..71664d6301a6 100644 --- a/content/actions/concepts/security/github_token.md +++ b/content/actions/concepts/security/github_token.md @@ -29,6 +29,11 @@ The token is also available in the `github.token` context. For more information, {% data reusables.actions.actions-do-not-trigger-workflows %} +{% ifversion actions-github-token-pull-request-approval %} +> [!NOTE] +> If you need workflow runs from workflow-created pull requests to execute without requiring approval, use a {% data variables.product.prodname_github_app %} installation access token or a {% data variables.product.pat_generic %} instead of `GITHUB_TOKEN` when creating or updating the pull request. +{% endif %} + {% data reusables.actions.actions-do-not-trigger-pages-rebuilds %} ## Next steps diff --git a/content/actions/how-tos/write-workflows/choose-when-workflows-run/trigger-a-workflow.md b/content/actions/how-tos/write-workflows/choose-when-workflows-run/trigger-a-workflow.md index ed93ed0ef4e5..3915f0c0786d 100644 --- a/content/actions/how-tos/write-workflows/choose-when-workflows-run/trigger-a-workflow.md +++ b/content/actions/how-tos/write-workflows/choose-when-workflows-run/trigger-a-workflow.md @@ -25,7 +25,7 @@ To learn more about workflows and triggering workflows, see [AUTOTITLE](/actions {% data reusables.actions.actions-do-not-trigger-workflows %} For more information, see [AUTOTITLE](/actions/security-guides/automatic-token-authentication). -If you do want to trigger a workflow from within a workflow run, you can use a {% data variables.product.prodname_github_app %} installation access token or a {% data variables.product.pat_generic %} instead of `GITHUB_TOKEN` to trigger events that require a token. +If you do want to trigger a workflow from within a workflow run, you can use a {% data variables.product.prodname_github_app %} installation access token or a {% data variables.product.pat_generic %} instead of `GITHUB_TOKEN` to trigger events that require a token.{% ifversion actions-github-token-pull-request-approval %} Using one of these alternatives also lets `pull_request` workflows run automatically (without the approval prompt described above) when the pull request is created or updated by automation.{% endif %} If you use a {% data variables.product.prodname_github_app %}, you'll need to create a {% data variables.product.prodname_github_app %} and store the app ID and private key as secrets. For more information, see [AUTOTITLE](/apps/creating-github-apps/guides/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow). If you use a {% data variables.product.pat_generic %}, you'll need to create a {% data variables.product.pat_generic %} and store it as a secret. For more information about creating a {% data variables.product.pat_generic %}, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token). For more information about storing secrets, see [AUTOTITLE](/actions/security-guides/using-secrets-in-github-actions). diff --git a/content/actions/reference/workflows-and-actions/events-that-trigger-workflows.md b/content/actions/reference/workflows-and-actions/events-that-trigger-workflows.md index 2f38e2ff8ccb..8200163e56f9 100644 --- a/content/actions/reference/workflows-and-actions/events-that-trigger-workflows.md +++ b/content/actions/reference/workflows-and-actions/events-that-trigger-workflows.md @@ -510,7 +510,8 @@ on: > [!NOTE] > * {% data reusables.developer-site.multiple_activity_types %} For information about each activity type, see [AUTOTITLE](/webhooks-and-events/webhooks/webhook-events-and-payloads#pull_request). By default, a workflow only runs when a `pull_request` event's activity type is `opened`, `synchronize`, or `reopened`. To trigger workflows by different activity types, use the `types` keyword. For more information, see [AUTOTITLE](/actions/using-workflows/workflow-syntax-for-github-actions#onevent_nametypes). > * Workflows will not run on `pull_request` activity if the pull request has a merge conflict. The merge conflict must be resolved first. Conversely, workflows with the `pull_request_target` event will run even if the pull request has a merge conflict. Before using the `pull_request_target` trigger, you should be aware of the security risks. For more information, see [`pull_request_target`](#pull_request_target). -> * The `pull_request` webhook event payload is empty for merged pull requests and pull requests that come from forked repositories. +> * The `pull_request` webhook event payload is empty for merged pull requests and pull requests that come from forked repositories.{% ifversion actions-github-token-pull-request-approval %} +> * When a pull request is created or updated by a workflow using `GITHUB_TOKEN`, `pull_request` events with the `opened`, `synchronize`, or `reopened` activity types create workflow runs that require approval. A user with write access to the repository can approve these runs from the pull request page. With the exception of `workflow_dispatch` and `repository_dispatch`, other `GITHUB_TOKEN`-triggered events do not create workflow runs at all.{% endif %} > * The value of `GITHUB_REF` varies for a closed pull request depending on whether the pull request has been merged or not. If a pull request was closed but not merged, it will be `refs/pull/PULL_REQUEST_NUMBER/merge`. If a pull request was closed as a result of being merged, it will be the fully qualified `ref` of the branch it was merged into, for example `/refs/heads/main`. Runs your workflow when activity on a pull request in the workflow's repository occurs. For example, if no activity types are specified, the workflow runs when a pull request is opened or reopened or when the head branch of the pull request is updated. For activity related to pull request reviews, pull request review comments, or pull request comments, use the [`pull_request_review`](#pull_request_review), [`pull_request_review_comment`](#pull_request_review_comment), or [`issue_comment`](#issue_comment) events instead. For information about the pull request APIs, see [AUTOTITLE](/graphql/reference/objects#pullrequest) in the GraphQL API documentation or [AUTOTITLE](/rest/pulls). diff --git a/data/features/actions-github-token-pull-request-approval.yml b/data/features/actions-github-token-pull-request-approval.yml new file mode 100644 index 000000000000..6fe3c1626b8f --- /dev/null +++ b/data/features/actions-github-token-pull-request-approval.yml @@ -0,0 +1,7 @@ +# Approval-required workflow runs for pull requests created or updated by +# workflows using GITHUB_TOKEN. Implementation feature flag: +# `actions_requires_approval_for_actions_bot_prs`. +versions: + fpt: '*' + ghec: '*' + # ghes: '>=3.XX' # Uncomment when this ships to GHES (currently rolling out on dotcom) diff --git a/data/reusables/actions/actions-do-not-trigger-workflows.md b/data/reusables/actions/actions-do-not-trigger-workflows.md index 69e2400bd8ab..ba20bdcc672b 100644 --- a/data/reusables/actions/actions-do-not-trigger-workflows.md +++ b/data/reusables/actions/actions-do-not-trigger-workflows.md @@ -1,5 +1,6 @@ -When you use the repository's `GITHUB_TOKEN` to perform tasks, events triggered by the `GITHUB_TOKEN` will not create a new workflow run, with the following exception: +When you use the repository's `GITHUB_TOKEN` to perform tasks, events triggered by the `GITHUB_TOKEN` will not create a new workflow run, with the following exceptions: -* `workflow_dispatch` and `repository_dispatch` events always create workflow runs. +* `workflow_dispatch` and `repository_dispatch` events always create workflow runs.{% ifversion actions-github-token-pull-request-approval %} +* `pull_request` events with the `opened`, `synchronize`, or `reopened` activity types: when a workflow using `GITHUB_TOKEN` creates or updates a pull request, the resulting `pull_request` event creates workflow runs in an **approval-required** state. The pull request displays a banner in the merge box, and a user with write access to the repository can start the runs by selecting **Approve workflows to run**. Other `pull_request` activity types (such as `labeled`, `edited`, or `closed`) do not create workflow runs. This prevents recursive workflow runs while still allowing CI workflows to run on pull requests created by automation. For more information about approving workflow runs, see [AUTOTITLE](/actions/how-tos/manage-workflow-runs/approve-runs-from-forks).{% endif %} For all other events, this behavior prevents you from accidentally creating recursive workflow runs. For example, if a workflow run pushes code using the repository's `GITHUB_TOKEN`, a new workflow will not run even when the repository contains a workflow configured to run when `push` events occur. From 3d3ad6f4d8c8c76dce569b9939f711231ab42169 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Fri, 22 May 2026 08:50:57 -0400 Subject: [PATCH 6/6] Article about the GitHub Docs API (#61347) Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../using-github-docs/github-docs-api.md | 112 ++++++++++++++++++ .../get-started/using-github-docs/index.md | 1 + 2 files changed, 113 insertions(+) create mode 100644 content/get-started/using-github-docs/github-docs-api.md diff --git a/content/get-started/using-github-docs/github-docs-api.md b/content/get-started/using-github-docs/github-docs-api.md new file mode 100644 index 000000000000..188d9c486871 --- /dev/null +++ b/content/get-started/using-github-docs/github-docs-api.md @@ -0,0 +1,112 @@ +--- +title: GitHub Docs API +intro: 'Use the official {% data variables.product.prodname_docs %} API to programmatically list pages, search, and retrieve {% data variables.product.company_short %} documentation content.' +versions: + fpt: '*' + ghes: '*' + ghec: '*' +shortTitle: GitHub Docs API +category: + - Explore GitHub plans and features +--- + + +{% data variables.product.prodname_docs %} provides several ways to access documentation content programmatically. You can retrieve individual articles as Markdown, list all available pages, search across the documentation, or point AI agents to the `llms.txt` file for content discovery. + +## Article endpoint + +The Article endpoint returns the Markdown content and metadata of any {% data variables.product.prodname_docs %} page. It supports all page types, including standard articles, REST API reference pages, GraphQL reference pages, and landing pages. + +The Article endpoint accepts the following query parameter: + +* `pathname` (required): The article path, including a language prefix such as `/en/` or `/ja/`. + * For example, `/en/get-started/start-your-journey/about-github-and-git`. + +In addition, `GET /api/article` and `GET /api/article/body` accept the following optional query parameter: + +* `apiVersion`: For REST API reference pages, specifies which API version to use. Defaults to the latest version. + +### Getting article content + +`GET https://docs.github.com/api/article/body` returns the full article content as Markdown. + +```shell +curl "https://docs.github.com/api/article/body?pathname=/en/get-started/start-your-journey/about-github-and-git" +``` + +To access a versioned article (for example, for {% data variables.product.prodname_ghe_cloud %}), include the version in the path: + +```shell +curl "https://docs.github.com/api/article/body?pathname=/en/enterprise-cloud@latest/admin/overview/about-github-enterprise-cloud" +``` + +### Getting article metadata + +`GET https://docs.github.com/api/article/meta` returns metadata about an article as JSON, including the title, intro, product area, document type, and breadcrumbs. + +```shell +curl "https://docs.github.com/api/article/meta?pathname=/en/get-started/start-your-journey/about-github-and-git" +``` + +### Getting content and metadata together + +`GET https://docs.github.com/api/article` returns both metadata and the article body in a single JSON response, combining the results of the body and meta endpoints. + +```shell +curl "https://docs.github.com/api/article?pathname=/en/get-started/start-your-journey/about-github-and-git" +``` + +## Pagelist endpoint + +The Pagelist endpoint returns a list of every available page path for a given language and documentation version. You can use it to discover all articles, then fetch individual articles with the Article endpoint. + +### Listing all pages + +`GET https://docs.github.com/api/pagelist/:lang/:version` returns a newline-separated list of all page paths for the specified language and version. + +```shell +curl "https://docs.github.com/api/pagelist/en/free-pro-team@latest" +``` + +#### Languages list + +`GET https://docs.github.com/api/pagelist/languages` returns all available language codes as JSON. Use this to find valid values for the `:lang` parameter above. + +#### Versions list + +`GET https://docs.github.com/api/pagelist/versions` returns all available documentation versions as JSON, including {% data variables.product.prodname_ghe_server %} version numbers. Use this to find valid values for the `:version` parameter above. + +## Search endpoint + +The Search endpoint lets you search across all {% data variables.product.prodname_docs %} content. It returns results sorted by relevance, with highlights and metadata for each matching page. + +### Searching docs content + +`GET https://docs.github.com/api/search/v1` accepts the following query parameters: + +* `query` (required): The search term. +* `client_name` (required for external clients such as `curl`): A name that identifies your client or integration. +* `version` (optional): The documentation version to search. Defaults to `free-pro-team`. Valid values include `free-pro-team`, `enterprise-cloud`, and {% data variables.product.prodname_ghe_server %} version numbers like `3.19`. +* `language` (optional): The language to search. Defaults to `en`. +* `page` (optional): The page number for paginated results. Defaults to `1`. +* `size` (optional): The number of results per page, up to a maximum of `50`. Defaults to `10`. + +```shell +curl "https://docs.github.com/api/search/v1?query=actions&client_name=docs-api-example&version=free-pro-team&language=en" +``` + +The response includes a `meta` object with information about the total number of matches and a `hits` array containing the matched pages with titles, URLs, breadcrumbs, and content highlights. + +## `llms.txt` for AI agents + +{% data variables.product.prodname_docs %} publishes an `llms.txt` file at `https://docs.github.com/llms.txt`, following the [`llms.txt` standard](https://llmstxt.org/). This file provides a structured overview of the documentation site designed for consumption by LLMs and AI-powered tools. + +If you are building an agent or tool that needs to access {% data variables.product.prodname_docs %}, `llms.txt` is the recommended starting point for discovering available content and API endpoints. + +{% ifversion fpt or ghec %} + +## Further reading + +* [AUTOTITLE](/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server) + +{% endif %} \ No newline at end of file diff --git a/content/get-started/using-github-docs/index.md b/content/get-started/using-github-docs/index.md index 94e2a949b772..f97cf5a2692c 100644 --- a/content/get-started/using-github-docs/index.md +++ b/content/get-started/using-github-docs/index.md @@ -8,4 +8,5 @@ versions: children: - /about-versions-of-github-docs - /using-hover-cards-on-github-docs + - /github-docs-api ---