Skip to main content

Use Clovis in GitHub Copilot Chat

Use Clovis as a development assistant directly in Visual Studio Code, through the built-in chat experience provided by GitHub Copilot Chat. With ClovisLLM or ClovisChat, you can ask questions about your code, understand a project, plan changes and, depending on the tools you enable, edit files or run tests without leaving your editor.

This tutorial shows you how to connect your Clovis API key, add the models to the chat model picker, and choose tools that suit your workflow.

In recent versions of VS Code, models using your own API key can work without a GitHub account or a Copilot subscription. Your organization’s administrator may restrict this usage. See the VS Code documentation on bringing your own key if the setup differs on your computer.

1. Open GitHub Copilot Chat​

Since VS Code 1.116, GitHub Copilot Chat ships as a built-in extension. On a recent installation, you can open the Chat panel directly without installing it manually from the Marketplace. This change is described in the official VS Code 1.116 release notes.

Open chat using the conversation icon in VS Code. You can also search for GitHub Copilot in the Extensions view to find GitHub Copilot Chat, published by GitHub, and check its status. If AI features have been disabled, enable them again in VS Code settings.

GitHub Copilot Chat in the VS Code Extensions view, with the Chat panel open on the right

In this screenshot, the extension is already available: the Disable AI Features button indicates that AI features are enabled. The panel on the right contains the input area for your prompts.

If the interface prompts you to sign in to GitHub​

The following screenshot shows Sign in to use Copilot… in the model picker. If you want to use the Copilot services associated with your account, select this option and complete the sign-in process in your browser.

GitHub sign-in prompt in the model picker

2. Identify the chat mode​

Below the input area, the mode menu shown here offers Ask, Plan, and Agent.

Chat mode menu with Agent, Ask, and Plan options

Choose a mode according to your request:

ModeExample use
Askrequest an explanation of a function or an error
Planoutline the steps for a change before implementing it
Agentassign a task that requires tools and actions on the project

For your first attempt, start with a simple question in Ask. You can then try planning or editing. You will select the Clovis model in the adjacent menu.

3. Open model management​

Click the model name below the input area: Auto in the screenshot. Select Manage Models… from the menu.

Model picker showing Auto and the Manage Models entry

This opens Language Models, the model management window.

Language Models window with the Add Models button in the top right

Click Add Models, then select Custom Endpoint. This provider connects to the Clovis API gateway. Install Model Providers installs additional providers; this tutorial uses the built-in provider.

If you cannot find the menu, open the Command Palette with Ctrl+Shift+P on Windows/Linux or Cmd+Shift+P on macOS, then search for Chat: Manage Language Models. This entry point is described in the official VS Code model documentation.

4. Name the Clovis group​

The Group Name field defines the name under which your models will be grouped. Enter Clovis.

Group name set to Clovis, ready to confirm with Enter

Press Enter. The group name organizes the display; the technical model IDs will be configured separately.

5. Enter your Clovis API key​

Follow the fields provided by VS Code to add your API key.

6. Choose Chat Completions​

In Clovis: API Type, select Chat Completions and confirm.

Selecting the Chat Completions API type for the Clovis group

This choice matches the Clovis /v1/chat/completions route used in this tutorial. Keep the same value in the configuration file so that the request format matches the URL.

7. Add the models to the configuration​

VS Code opens chatLanguageModels.json. The complete configuration for both Clovis models is shown below. Keep the apiKey value created by your setup wizard: in this example, REFERENCE_GENERATED_BY_VSCODE is a placeholder to replace with your existing reference, not with your plain-text key.

chatLanguageModels.json — Clovis provider
[
{
"name": "Clovis",
"vendor": "customendpoint",
"apiKey": "${input:REFERENCE_GENERATED_BY_VSCODE}",
"apiType": "chat-completions",
"models": [
{
"id": "ClovisLLM",
"name": "ClovisLLM",
"url": "https://llm-gateway.clovis-ai.fr/v1/chat/completions",
"toolCalling": true,
"vision": false,
"maxInputTokens": 128000,
"maxOutputTokens": 32000
},
{
"id": "ClovisChat",
"name": "ClovisChat",
"url": "https://llm-gateway.clovis-ai.fr/v1/chat/completions",
"toolCalling": true,
"vision": true,
"maxInputTokens": 200000,
"maxOutputTokens": 62000
}
]
}
]

If you have already added other providers, keep them in the main array and only add or update the Clovis object. Then save the file.

Recognize your key reference

A generated reference may look like ${input:chat.lm.secret.…}. It points to the secret stored by VS Code: its identifier is specific to your configuration. Use the reference in your own file, even if it differs from the example.

PropertyRole in this configuration
idexact, case-sensitive model ID sent to Clovis
namename displayed in the picker
urlfull address of the API route
apiTypeChat Completions format
toolCallingdeclares support for tool calls
visiondeclares whether the model accepts image input
maxInputTokens / maxOutputTokensdeclared limits for input and response tokens

The capabilities and limits above follow the ClovisLLM and ClovisChat model pages. Adjust them if the service specifications change. For the VS Code field structure, see the Microsoft custom endpoint guide.

8. Check the session tools​

If you are using Plan or Agent, open tool configuration using the settings icon near the picker. The Configure Tools window shows the selected tools.

Configure Tools window showing tool families and selection checkboxes

In this screenshot, 21 tools are selected across several families. Checked and partially checked boxes show the current selections; you do not need to reproduce this exact selection for every task.

Understand the tool families​

Expand each family to review individual tools before selecting an entire category. The names below match the screenshot; their contents may vary with your version and installed extensions.

FamilyWhat it enablesWhen to enable it
readread file contents to understand code or configurationto explain a file, investigate a problem, or prepare a change
searchfind files, symbols, or passages in the projectto explore a repository and identify files relevant to a request
editcreate or modify files using editing toolsto implement a change; leave it disabled if you only want an analysis
executerun commands and code, including in the terminalto run tests or a build; review the individual tools and proposed commands
browseropen pages and interact with the integrated browserto check a web interface or reproduce a user journey
webfetch content from the Webto consult documentation or an external resource
agentdelegate part of the work to other agentsfor a task with several subtasks; optional for a first attempt
todoorganize and track a task listfor work involving multiple steps; it does not itself grant file editing access
vscodeuse editor featuresdepending on the individual tools your task needs; check each description

Tools act as intermediaries between the model and your environment: their results may become part of the context sent to Clovis. See the VS Code tools documentation for details.

Choose tools for your goal​

To understand a project, start with read and search. For example: “Explain how authentication works and identify the relevant files.” Keep edit and execute disabled in this initial selection.

To modify code, add edit. For example: “Add validation to this form.” Review the file changes before keeping them.

To verify a change, add the necessary execute tools. For example: “Run the tests for this function and explain any failures.” A terminal command can also read, write, or delete files: disabling edit alone does not prevent all changes if command execution remains available.

Enable web or browser when your request needs an online resource or a browser check. You can leave agent and todo disabled for a short request and add them for longer work.

Distinguish tool selection from permissions​

Selecting a tool makes it available to the agent. VS Code’s approval rules then determine whether using it requires your confirmation. The Default permissions menu visible in the screenshots controls this second layer; labels may vary by version.

To start, keep the default approval settings and review requests involving commands, external access, or sensitive actions. See the VS Code approvals and permissions guide to adjust this behavior.

Tool selection is not a file exclusion rule. A file manually attached to chat can provide context even if a reading tool is disabled. For an analysis, open the folder relevant to your work and attach the necessary files; avoid attaching files containing secrets such as API keys or a production .env file.

Finally, toolCalling: true in the Clovis configuration declares a model capability. This field does not itself grant access to your files or automatically enable every tool family.

Confirm for the session​

Click OK when you have finished selecting tools. The message in the screenshot states that changes apply to the current session and do not change the definition of the Plan custom agent. This step is optional for a simple chat question.

9. Explicitly select a Clovis model​

Return to chat and open the model menu again. This second screenshot shows the same entry point after configuration.

Reopening the model menu to find the added models

Search for Clovis, then choose ClovisLLM for coding or ClovisChat for general conversation.

ClovisChat and ClovisLLM available under the Clovis provider, with ClovisLLM highlighted

The screenshot shows both models in the Clovis group. The CustomEndpoint tooltip confirms the configured provider. After clicking the model, check that its name appears below the input area before sending your request.

10. Send your first request​

Start by testing chat with a short request in Ask:

Explain the difference between a synchronous and an asynchronous function,
with a small TypeScript example.

A response with ClovisLLM selected lets you check the first exchange. To confirm that your key is being used, also check its usage in the Clovis console.

You can then open a project file, add it to the chat context, and try:

Explain the purpose of this file and suggest three improvements.

In Plan, try a request such as:

Prepare a plan to add tests for this function.
Describe the cases to cover before editing any files.

In Agent, start with a specific task, then review the proposed changes and verify the result in your project.

Troubleshooting​

SymptomWhat to check
Custom Endpoint is missingupdate VS Code; in an organization, check the policy allowing personal API keys
The model is missingsave the configuration, check its syntax and the model’s visibility in Language Models, then restart VS Code if needed
Only Auto is availablecheck whether the project is in Restricted Mode; only trust folders you recognize
Authentication errorcheck that the Clovis key is active, complete, and has no extra spaces; update it in the provider settings
Route errorcheck the full URL https://llm-gateway.clovis-ai.fr/v1/chat/completions and the chat-completions type
Unknown modeluse exactly ClovisLLM or ClovisChat and check the access associated with your key
Chat works but Agent mode failscheck the declared tool calling capability and the tools available in this session
Context length errorreduce attached files or start a new conversation; check the configured limits

For advanced provider settings, see the official VS Code reference.