> ## Documentation Index
> Fetch the complete documentation index at: https://docs.capriole.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# GitHub Copilot CLI

> Configure GitHub Copilot CLI to use Capriole AI.

## 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:

* A Capriole AI account ([Sign up here](https://capriole.ai))
* A Capriole AI API key ([Get your key](https://capriole.ai?view=api))
* GitHub Copilot CLI installed

## Installation

Install GitHub Copilot CLI with npm:

```bash theme={null}
npm install -g @github/copilot
```

Verify the install:

```bash theme={null}
copilot --version
```

GitHub authentication is not required when `COPILOT_PROVIDER_BASE_URL` is set for BYOK mode.

## Configuration

Set Capriole AI as the OpenAI-compatible model provider:

```bash theme={null}
export CAPRIOLE_AI_API_KEY="YOUR_CAPRIOLE_AI_API_KEY"
export COPILOT_PROVIDER_TYPE="openai"
export COPILOT_PROVIDER_BASE_URL="https://api.caprioletech.com/v1"
export COPILOT_PROVIDER_API_KEY="$CAPRIOLE_AI_API_KEY"
export COPILOT_PROVIDER_WIRE_API="completions"
```

Choose OpenAI latest on Chat Completions:

```bash theme={null}
export COPILOT_PROVIDER_MODEL_ID="gpt-5.5"
export COPILOT_PROVIDER_WIRE_MODEL="openai-latest"
```

Or choose GPT 5.4 Mini on Chat Completions:

```bash theme={null}
export COPILOT_PROVIDER_MODEL_ID="gpt-5.4"
export COPILOT_PROVIDER_WIRE_MODEL="openai/gpt-5.4-mini"
```

`COPILOT_PROVIDER_MODEL_ID` tells Copilot CLI which built-in model behavior to use. `COPILOT_PROVIDER_WIRE_MODEL` is the Capriole AI model ID sent to `POST /v1/chat/completions`.

## 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:

```bash theme={null}
export CAPRIOLE_AI_API_KEY="YOUR_CAPRIOLE_AI_API_KEY"
export COPILOT_PROVIDER_TYPE="openai"
export COPILOT_PROVIDER_BASE_URL="https://api.caprioletech.com/v1"
export COPILOT_PROVIDER_API_KEY="$CAPRIOLE_AI_API_KEY"
export COPILOT_PROVIDER_WIRE_API="responses"
export COPILOT_PROVIDER_MODEL_ID="gpt-5.5"
export COPILOT_PROVIDER_WIRE_MODEL="openai-latest"
alias capriole-copilot="copilot --stream on"
```

Reload your shell:

```bash theme={null}
source ~/.zshrc
```

Then run:

```bash theme={null}
capriole-copilot
```

For a one-off prompt:

```bash theme={null}
capriole-copilot -p "Explain this repository structure." --allow-all-tools
```

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.

```bash theme={null}
export COPILOT_PROVIDER_TYPE="openai"
export COPILOT_PROVIDER_BASE_URL="https://api.caprioletech.com/v1"
export COPILOT_PROVIDER_API_KEY="$CAPRIOLE_AI_API_KEY"
export COPILOT_PROVIDER_WIRE_API="completions"
```

Endpoint-compatible wire models:

* `openai-latest` with `COPILOT_PROVIDER_MODEL_ID="gpt-5.5"`
* `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"`
* `openai/gpt-5.4-mini` with `COPILOT_PROVIDER_MODEL_ID="gpt-5.4"`
* `claude-latest` with `COPILOT_PROVIDER_MODEL_ID="gpt-5.4"`
* `anthropic/claude-fable-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.5-flash` with `COPILOT_PROVIDER_MODEL_ID="gpt-5.4"`
* `xai/grok-4.5` with `COPILOT_PROVIDER_MODEL_ID="gpt-5.5"`
* `zai/glm-5.2` 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.

```bash theme={null}
export COPILOT_PROVIDER_TYPE="openai"
export COPILOT_PROVIDER_BASE_URL="https://api.caprioletech.com/v1"
export COPILOT_PROVIDER_API_KEY="$CAPRIOLE_AI_API_KEY"
export COPILOT_PROVIDER_WIRE_API="responses"
```

Endpoint-compatible wire models:

* `openai-latest` with `COPILOT_PROVIDER_MODEL_ID="gpt-5.5"`
* `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"`
* `openai/gpt-5.4-mini` with `COPILOT_PROVIDER_MODEL_ID="gpt-5.4"`

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.

```bash theme={null}
export COPILOT_PROVIDER_TYPE="anthropic"
export COPILOT_PROVIDER_BASE_URL="https://api.caprioletech.com"
export COPILOT_PROVIDER_BEARER_TOKEN="$CAPRIOLE_AI_API_KEY"
export COPILOT_PROVIDER_MODEL_ID="claude-sonnet-4"
export COPILOT_PROVIDER_WIRE_MODEL="claude-latest"
```

Endpoint-compatible wire models:

* `claude-latest` 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:

```bash theme={null}
copilot --stream on
```

Run a one-off request:

```bash theme={null}
copilot -p "Explain this repository structure." --allow-all-tools --stream on
```

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-5.6-terra`, `openai/gpt-5.6-luna`, `openai/gpt-5.5`, `openai/gpt-5.4-mini`, `claude-latest`, `anthropic/claude-fable-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.5-flash`, `xai/grok-4.5`, and `zai/glm-5.2`
* Responses: `openai-latest`, `openai/gpt-5.6-terra`, `openai/gpt-5.6-luna`, `openai/gpt-5.5`, and `openai/gpt-5.4-mini`
* Anthropic Messages: `claude-latest`, `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.70 completes streamed shell-tool workflows with `anthropic/claude-fable-5`, `xai/grok-4.5`, and `zai/glm-5.2` 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`. The model ID should be the Copilot-side base model, while the wire model should be the Capriole AI model ID.

### 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.
* GitHub Copilot CLI does not have a wire API for Capriole AI's native `POST /v1/chat` route.
* Official references: [GitHub Copilot CLI installation](https://docs.github.com/en/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli), [GitHub Copilot CLI BYOK](https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/use-byok-models), and [GitHub Copilot SDK BYOK](https://docs.github.com/en/copilot/how-tos/copilot-sdk/auth/byok).
