Skip to content

Latest commit

 

History

History
56 lines (41 loc) · 2.46 KB

File metadata and controls

56 lines (41 loc) · 2.46 KB

Changelog

All notable changes to the Copilot SDK are documented in this file.

This changelog is automatically generated by an AI agent when stable releases are published. See GitHub Releases for the full list.

v0.1.30 (2026-03-03)

Feature: support overriding built-in tools

Applications can now override built-in tools such as grep, edit_file, or read_file. To do this, register a custom tool with the same name and set the override flag. Without the flag, the runtime will return an error if the name clashes with a built-in. (#636)

import { defineTool } from "@github/copilot-sdk";

const session = await client.createSession({
  tools: [defineTool("grep", {
    overridesBuiltInTool: true,
    handler: async (params) => `CUSTOM_GREP_RESULT: ${params.query}`,
  })],
  onPermissionRequest: approveAll,
});
var grep = AIFunctionFactory.Create(
    ([Description("Search query")] string query) => $"CUSTOM_GREP_RESULT: {query}",
    "grep",
    "Custom grep implementation",
    new AIFunctionFactoryOptions
    {
        AdditionalProperties = new ReadOnlyDictionary<string, object?>(
            new Dictionary<string, object?> { ["is_override"] = true })
    });

Feature: simpler API for changing model mid-session

While session.rpc.model.switchTo() already worked, there is now a convenience method directly on the session object. (#621)

  • TypeScript: await session.setModel("gpt-4.1")
  • C#: await session.SetModelAsync("gpt-4.1")
  • Python: await session.set_model("gpt-4.1")
  • Go: err := session.SetModel(ctx, "gpt-4.1")

Other changes

  • improvement: [C#] use event delegate for thread-safe, insertion-ordered event handler dispatch (#624)
  • improvement: [C#] deduplicate OnDisposeCall and improve implementation (#626)
  • improvement: [C#] remove unnecessary SemaphoreSlim locks for handler fields (#625)
  • bugfix: [Python] correct PermissionHandler.approve_all type annotations (#618)

New contributors

  • @giulio-leone made their first contribution in #618