Skip to content

[FEATURE]: Add GitHub Copilot SDK as an AI provider option #193

@lunarspectre00

Description

@lunarspectre00

Is your feature request related to a problem? Please describe.

All current provider options (Anthropic API, Bedrock, Vertex, Router Mode) require either a paid API key or cloud credentials. This creates a real cost barrier for students and security learners who want to use Shannon but cannot justify pay-per-use API billing.

Describe the solution you'd like

Integrate the official GitHub Copilot SDK (@github/copilot-sdk) as a new provider option. A user would only need a GITHUB_TOKEN from a Copilot-enabled account — no Anthropic account or credit card required.

The SDK is the only legitimate programmatic path to Copilot outside of an IDE. It manages the Copilot CLI in server mode and handles all token exchange internally via JSON-RPC, so direct API access concerns are a non-issue.

Since Shannon is already TypeScript, this is a natural fit alongside the existing @anthropic-ai/claude-agent-sdk.

Rough implementation outline:

  1. Add @github/copilot-sdk as an optional dependency
  2. Add a Copilot executor path in claude-executor.ts that uses the SDK's agent interface
  3. Pass COPILOT_GITHUB_TOKEN / GH_TOKEN / GITHUB_TOKEN through to the SDK
  4. Add Copilot CLI as an additional dependency in the Dockerfile (required by the SDK)
  5. Document as a new option in .env.example

Describe alternatives you've considered

Routing through the Copilot OpenAI-compatible endpoint (https://api.githubcopilot.com) via Router Mode — but this is blocked by Copilot's ToS for direct OAuth token access. The official SDK is the correct and supported path.

Additional context

The primary motivation: GitHub Copilot Pro is free for students via the GitHub Student Developer Pack, and a Copilot Free tier is available to all GitHub users. This would open Shannon to the education and CTF/security research community with zero cost barrier.

  • SDK repo: https://github.com/github/copilot-sdk
  • Install: npm install @github/copilot-sdk
  • Auth: GitHub token, OAuth app, or BYOK (no regression for existing Anthropic users)
  • Supported models: Claude Sonnet, Claude Opus, Claude Haiku, GPT-4o, and more
  • Status: Official GitHub SDK, currently in Technical Preview

Happy to contribute a PR if the team is open to this direction.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions