These guides cover the capabilities you can add to your Copilot SDK application. Each guide includes examples in supported languages (TypeScript, Python, Go, .NET, Java, and Rust) where available.
New to the SDK? Start with the Getting Started tutorial first, then come back here to add more capabilities.
| Feature | Description |
|---|---|
| The Agent Loop | How the CLI processes a prompt—the tool-use loop, turns, and completion signals |
| Hooks | Intercept and customize session behavior—control tool execution, transform results, handle errors |
| Custom Agents | Define specialized sub-agents with scoped tools and instructions |
| Changing Tools | Replace the tools a client supplies to a live session |
| Fleet Mode | Dispatch multiple sub-agents in parallel for large, independent workstreams |
| MCP Servers | Integrate Model Context Protocol servers for external tool access |
| Skills | Load reusable prompt modules from directories |
| Plugin Directories | Bundle skills, hooks, MCP servers, and agents as a single loadable plugin |
| Customization Locations | Discover skills, agents, instructions, and file hooks from packages, submodules, and vendored directories |
| Session limits | Set an AI Credits budget for a session and observe budget events |
| Citations | Link assistant responses back to their supporting sources |
| Image Input | Send images to sessions as attachments |
| Streaming Events | Subscribe to real-time session events (40+ event types) |
| Usage and Billing | Read token counts, context-window utilization, AI credit cost, and account quota |
| Client info | Declare application and integration identity for runtime telemetry attribution |
| Offline task analytics | Classify archived ATIF or Copilot trajectories, validate input, and retry failed measurements |
| Steering & Queueing | Control message delivery—immediate steering vs. sequential queueing |
| Shell password prompts | Let users answer sudo, ssh, and git password prompts without the model seeing the answer |
| Context Clearing | Replace conversation context safely with terminal tools |
| Session Persistence | Resume sessions across restarts, manage session storage |
| Auto Mode Recovery | Offer to retry a request on Auto after an explicit model is degraded, overloaded, or rate limited |
| Remote Sessions | Share locally hosted sessions to GitHub web and mobile via Mission Control |
| Cloud Sessions | Run sessions on GitHub-hosted compute through Mission Control |
- Hooks Reference: detailed API reference for each hook type
- Integrations: use the SDK with other platforms (MAF, etc.)
- Troubleshooting: when things don't work as expected
- Compatibility: SDK vs CLI feature matrix