Skip to main content

What is GitHub Copilot CLI

GitHub Copilot CLI is a terminal-native coding assistant. Its BYOK provider mode can use an OpenAI Chat Completions-compatible endpoint, which lets it send model requests to Capriole AI. This is a direct model-provider setup for Copilot CLI. It is separate from Microsoft 365 Copilot. This page documents Capriole AI endpoint-compatible BYOK values. Validate your installed Copilot CLI with a streaming prompt and a local tool request before using these values for production coding-agent workflows.

Prerequisites

Before you begin, make sure you have:

Installation

Install GitHub Copilot CLI with npm:
Verify the install:
GitHub authentication is not required when COPILOT_PROVIDER_BASE_URL is set for BYOK mode.

Configuration

Model validation

GitHub Copilot CLI 1.0.82: local file-read and final-answer checks pass with anthropic/claude-fable-5-1, google/gemini-3.8-flash, and zai/glm-5.3-flash. claude-latest resolves to Fable 5.1. Previous concrete model IDs remain available. The new Chat Completions checks use COPILOT_PROVIDER_MODEL_ID="gpt-5.4"; Fable 5.1 also passes through Anthropic Messages with claude-latest. xai/grok-4.6 accepts Chat Completions requests but failed coding-agent task checks, so it is not included in the configuration below. Direct-provider checks also found inconsistent tool use with Grok 4.5; a completed API request is not proof of a correct agent answer. Set Capriole AI as the OpenAI-compatible model provider:
Choose OpenAI latest on Chat Completions:
COPILOT_PROVIDER_MODEL_ID is the client-side model identifier; COPILOT_PROVIDER_WIRE_MODEL is the model ID sent to Capriole AI. Use gpt-6-astra with openai-latest for GPT-6 Astra. Copilot CLI 1.0.82 accepts this custom ID but has no built-in Astra profile, so client configuration and token limits use its defaults unless explicitly overridden. See copilot help providers. Local checks with this Astra client ID complete a file read on Chat Completions. Responses returns the correct file contents when given an absolute path, but also reproduces incorrect relative-path resolution and long waits. Changing the client ID is not a fix for those task-level issues; validate your own workflow before rollout.

Persistent setup

GitHub Copilot CLI stores general CLI settings in its own config, but BYOK provider settings are environment variables. For a simple persistent setup, put one Capriole AI profile in your shell config. Add this endpoint-compatible OpenAI latest Responses profile to ~/.zshrc, then validate it with your installed Copilot CLI before using it for coding-agent workflows:
Reload your shell:
Then run:
For a one-off prompt:
To switch profiles, change only COPILOT_PROVIDER_WIRE_API, COPILOT_PROVIDER_MODEL_ID, COPILOT_PROVIDER_WIRE_MODEL, and for Claude Messages use COPILOT_PROVIDER_TYPE, COPILOT_PROVIDER_BASE_URL, and COPILOT_PROVIDER_BEARER_TOKEN.

Interface options

OpenAI Chat Completions

Use this path when you want the broadest Capriole AI model coverage in GitHub Copilot CLI.
Endpoint-compatible wire models:
  • openai-latest with COPILOT_PROVIDER_MODEL_ID="gpt-6-astra"
  • openai/gpt-6-astra with COPILOT_PROVIDER_MODEL_ID="gpt-6-astra"
  • openai/gpt-6.1-sol with COPILOT_PROVIDER_MODEL_ID="gpt-6.1-sol"
  • openai/gpt-6-sol with COPILOT_PROVIDER_MODEL_ID="gpt-6-sol"
  • openai/gpt-6-luna with COPILOT_PROVIDER_MODEL_ID="gpt-6-luna"
  • openai/gpt-5.6-terra with COPILOT_PROVIDER_MODEL_ID="gpt-5.5"
  • openai/gpt-5.6-luna with COPILOT_PROVIDER_MODEL_ID="gpt-5.5"
  • openai/gpt-5.5 with COPILOT_PROVIDER_MODEL_ID="gpt-5.5"
  • claude-latest with COPILOT_PROVIDER_MODEL_ID="gpt-5.4"
  • anthropic/claude-fable-5-1 with COPILOT_PROVIDER_MODEL_ID="gpt-5.4"
  • anthropic/claude-fable-5 with COPILOT_PROVIDER_MODEL_ID="gpt-5.4"
  • anthropic/claude-opus-5-5 with COPILOT_PROVIDER_MODEL_ID="gpt-5.4"
  • anthropic/claude-opus-5 with COPILOT_PROVIDER_MODEL_ID="gpt-5.4"
  • anthropic/claude-opus-4-8 with COPILOT_PROVIDER_MODEL_ID="gpt-5.4"
  • anthropic/claude-opus-4-7 with COPILOT_PROVIDER_MODEL_ID="gpt-5.4"
  • anthropic/claude-opus-4-6 with COPILOT_PROVIDER_MODEL_ID="gpt-5.4"
  • anthropic/claude-sonnet-4-6 with COPILOT_PROVIDER_MODEL_ID="gpt-5.4"
  • google-latest with COPILOT_PROVIDER_MODEL_ID="gpt-5.4"
  • google/gemini-3.1-pro-preview with COPILOT_PROVIDER_MODEL_ID="gpt-5.4"
  • google/gemini-3.8-flash with COPILOT_PROVIDER_MODEL_ID="gpt-5.4"
  • xai/grok-4.7 with COPILOT_PROVIDER_MODEL_ID="gpt-5.5"
  • xai/grok-4.5 with COPILOT_PROVIDER_MODEL_ID="gpt-5.5"
  • zai/glm-5.3-flash with COPILOT_PROVIDER_MODEL_ID="gpt-5.4"
  • zai/glm-5.2 with COPILOT_PROVIDER_MODEL_ID="gpt-5.5"
  • moonshot/kimi-k3 with COPILOT_PROVIDER_MODEL_ID="gpt-5.5"
Copilot CLI does not have a native Gemini provider. Gemini runs through Capriole AI’s OpenAI-compatible Chat Completions proxy.

OpenAI Responses

Use this path when you want GitHub Copilot CLI to call Capriole AI’s Responses-compatible endpoint.
Endpoint-compatible wire models:
  • openai-latest with COPILOT_PROVIDER_MODEL_ID="gpt-6-astra"
  • openai/gpt-6-astra with COPILOT_PROVIDER_MODEL_ID="gpt-6-astra"
  • openai/gpt-6.1-sol with COPILOT_PROVIDER_MODEL_ID="gpt-6.1-sol"
  • openai/gpt-6-sol with COPILOT_PROVIDER_MODEL_ID="gpt-6-sol"
  • openai/gpt-6-luna with COPILOT_PROVIDER_MODEL_ID="gpt-6-luna"
  • openai/gpt-5.6-terra with COPILOT_PROVIDER_MODEL_ID="gpt-5.5"
  • openai/gpt-5.6-luna with COPILOT_PROVIDER_MODEL_ID="gpt-5.5"
  • openai/gpt-5.5 with COPILOT_PROVIDER_MODEL_ID="gpt-5.5"
Responses is an OpenAI wire protocol in Capriole AI. Claude and Gemini model IDs are not supported on POST /v1/responses.

Anthropic Messages

Use this path when you want GitHub Copilot CLI to call Capriole AI’s Anthropic Messages-compatible endpoint.
Endpoint-compatible wire models:
  • claude-latest with COPILOT_PROVIDER_MODEL_ID="claude-sonnet-4"
  • claude-fable-5-1 with COPILOT_PROVIDER_MODEL_ID="claude-sonnet-4"
  • claude-fable-5 with COPILOT_PROVIDER_MODEL_ID="claude-sonnet-4"
  • claude-opus-5-5 with COPILOT_PROVIDER_MODEL_ID="claude-sonnet-4"
  • claude-opus-5 with COPILOT_PROVIDER_MODEL_ID="claude-sonnet-4"
  • claude-opus-4-8 with COPILOT_PROVIDER_MODEL_ID="claude-sonnet-4"
  • claude-opus-4-7 with COPILOT_PROVIDER_MODEL_ID="claude-sonnet-4"
  • claude-opus-4-6 with COPILOT_PROVIDER_MODEL_ID="claude-sonnet-4"
  • claude-sonnet-4-6 with COPILOT_PROVIDER_MODEL_ID="claude-sonnet-4"
Use COPILOT_PROVIDER_BEARER_TOKEN for this path. COPILOT_PROVIDER_API_KEY sends provider-style auth and does not satisfy Capriole AI’s public Bearer-token auth gate.

Run GitHub Copilot CLI

Start an interactive session:
Run a one-off request:
For scripted use, keep streaming enabled. The matching Capriole AI endpoints support streaming; validate the installed Copilot CLI path before production rollout.

Supported models

These wire models are accepted by the matching Capriole AI endpoints for Copilot CLI BYOK. They are endpoint-compatible values, not a substitute for validating streaming and local shell tool use with your installed Copilot CLI:
  • Chat Completions: openai-latest, openai/gpt-6-astra, openai/gpt-6.1-sol, openai/gpt-6-sol, openai/gpt-6-luna, openai/gpt-5.6-terra, openai/gpt-5.6-luna, openai/gpt-5.5, claude-latest, anthropic/claude-fable-5-1, anthropic/claude-fable-5, anthropic/claude-opus-5-5, anthropic/claude-opus-5, anthropic/claude-opus-4-8, anthropic/claude-opus-4-7, anthropic/claude-opus-4-6, anthropic/claude-sonnet-4-6, google-latest, google/gemini-3.1-pro-preview, google/gemini-3.8-flash, xai/grok-4.7, xai/grok-4.5, zai/glm-5.3-flash, zai/glm-5.2, and moonshot/kimi-k3
  • Responses: openai-latest, openai/gpt-6-astra, openai/gpt-6.1-sol, openai/gpt-6-sol, openai/gpt-6-luna, openai/gpt-5.6-terra, openai/gpt-5.6-luna, and openai/gpt-5.5
  • Anthropic Messages: claude-latest, claude-fable-5-1, claude-fable-5, claude-opus-5-5, claude-opus-5, claude-opus-4-8, claude-opus-4-7, claude-opus-4-6, and claude-sonnet-4-6
Other public Chat Completions-compatible model IDs returned by GET /v1/models can be tested through the same OpenAI-compatible provider path, but do not use them for coding-agent workflows until tool use is validated. GitHub Copilot CLI 1.0.75 completes streamed shell-tool workflows with anthropic/claude-fable-5, xai/grok-4.5, zai/glm-5.2, and moonshot/kimi-k3 through this Chat Completions path.

Troubleshooting

Why does Copilot CLI return an authentication error?

Confirm that CAPRIOLE_AI_API_KEY is exported and that COPILOT_PROVIDER_API_KEY points to it in the same shell before starting Copilot CLI.

Why do requests fail with endpoint errors?

For OpenAI-compatible Chat Completions or Responses, confirm that COPILOT_PROVIDER_BASE_URL is https://api.caprioletech.com/v1. For Anthropic Messages, confirm that COPILOT_PROVIDER_BASE_URL is https://api.caprioletech.com without /v1.

Why does Copilot CLI say the model is missing?

Set both COPILOT_PROVIDER_MODEL_ID and COPILOT_PROVIDER_WIRE_MODEL. For GPT-6 Astra, use gpt-6-astra and openai-latest, respectively.

Why should streaming stay enabled?

GitHub’s BYOK requirements state that models must support streaming and tool/function calling. Keep Copilot CLI on the streaming path so local tool calls can be validated against Capriole AI before rollout.

Notes

  • Capriole AI exposes Copilot CLI BYOK examples through Chat Completions, Responses, and Anthropic Messages profile shapes.
  • The Chat Completions profile uses POST /v1/chat/completions, the Responses profile uses POST /v1/responses, and the Anthropic profile uses POST /v1/messages.
  • GitHub Copilot CLI executes coding tools locally. Capriole AI only handles model requests.
  • Official references: GitHub Copilot CLI installation, GitHub Copilot CLI BYOK, and GitHub Copilot SDK BYOK.
Last modified on October 16, 2026