Skip to content

Editors

Telem adds web search, page reading and monitors to VS Code. How you connect depends on the agent that you use in VS Code.

The agent you use in VS Code How to connect
GitHub Copilot, in the Chat view’s Copilot or Local session target Follow the steps on this page.
The Claude Code extension Install Telem for Claude Code. The extension uses the same plugin as the claude command.
The Codex extension Install Telem for Codex. The extension uses the same plugin and ~/.codex/config.toml as the codex command.

For the two extensions, the installer needs the extension’s command on your PATH: claude for Claude Code, codex for Codex. Without it, the installer prints the commands for you to run. Telem cannot tell an extension from its command, so the console shows their searches as Claude Code and Codex searches.

The rest of this page sets up GitHub Copilot. The tools come from Telem’s hosted MCP server. A Telem hook sends your options with each search, and keeps the searches of each chat together in the console.

  • VS Code with GitHub Copilot. Telem is tested on VS Code 1.144.0. Copilot needs a GitHub account with Copilot, or a model key of your own: in VS Code, run Chat: Manage Language Models to add one.
  • Node.js 20 or later, on the PATH that VS Code runs with. The installer runs on it, and so does the plugin’s hook.

Create a Telem API key

  1. Open your project
  2. API keys
  3. Issue API key

tlm_••••••••••••••••Keys start with tlm_.

Open the console

Never paste a key into a chat with Copilot. Every path below sets it for you.

Connect VS Code to Telem

  1. Run the installer in your terminal and pick VS Code. Paste your key when the installer asks. The field is masked, and the key never appears on screen.

    Terminal window
    curl -fsSL https://docs.telem.ai/install.sh | sh
  2. Restart VS Code. Copilot reads its config when it starts.

  3. Open the Chat view and pick a session target: Copilot or Local. In Local, start the Telem server once. VS Code asks in the chat: “The MCP server telem may have new tools and requires interaction to start.” Click Start it now?. The Copilot target needs no such step.

  4. Ask Copilot to search the web. The search shows in the console.

Install with no prompts, for example in CI
Terminal window
curl -fsSL https://docs.telem.ai/install.sh | sh -s -- --yes --client vscode --key-env TELEM_API_KEY

Search and read

4 tools
  • telem_search Searches the web on several providers in one call.
  • telem_fetch Reads the full text of up to 5 pages.
  • telem_providers Lists the search providers.
  • telem_session_history Lists the earlier searches in a session.

Monitors

4 tools
  • create_monitor Runs a search on a schedule and keeps only new results.
  • list_monitors Lists your monitors.
  • get_new_results Gets the new results of a monitor since the last read.
  • delete_monitor Deletes a monitor.

In the Copilot target, the plugin also adds the Telem skill. It tells Copilot to read pages with telem_fetch, and to send a goal and a reason with each search. Local loads no skill, but the tools’ own descriptions ask for the goal and the reason.

  • The hook keeps each chat’s searches together, in both targets. It links every search and page read to your chat and the prompt, so the console shows one conversation. The Copilot target runs the hook from the Telem plugin. Local loads no plugins, so it runs the same hook from ~/.copilot/hooks/telem.json.
  • No reasoning from the model. Copilot keeps the model’s reasoning encrypted, so the hook cannot send it. The console shows the goal and the reason that Copilot gives with each search.
  • Options come from the files. The hook reads the project’s .telem/telem.json, then ~/.telem/telem.json, then the TELEM_* variables. It sends your options with every search and page read. providerOverrides is not sent. It is not yet confirmed that Copilot gives your shell’s environment to the hook, so set options in a file.
  • The tool names. Copilot names the tools telem-telem_search, telem-telem_fetch and so on.
  • Copilot’s config, not VS Code’s. The installer writes the server into Copilot’s own ~/.copilot/mcp-config.json, with the key in it. Copilot’s agent does not read a variable such as ${env:TELEM_API_KEY} from VS Code’s mcp.json.
  • Local can ask you to review a web result. Before the model reads a tool’s web result, VS Code can ask you to review it, with Allow Without Review in this Session. This is a VS Code setting, not Telem’s.
  • Copilot CLI. It reads the same ~/.copilot files, so the installer sets it up too. Restart it after you install.
  • COPILOT_HOME. If you set it, the installer writes to that folder instead of ~/.copilot.
If something goes wrong
  • The server needs authentication, or every call gets 401: the Authorization header in ~/.copilot/mcp-config.json is missing or has an old key. Run the installer again, or edit the header. If you added Telem to VS Code’s own mcp.json with ${env:…}, remove that entry: Copilot’s agent does not fill in the variable.
  • Local has no Telem tools: start the server. In the Command Palette, run MCP: List Servers, pick telem, then Start Server.
  • The console does not keep a chat’s searches together: the hook did not run. Check that node is on the PATH that VS Code runs with. For the Copilot target, check that ~/.copilot/settings.json has "telem@telem": true under enabledPlugins. For Local, check that ~/.copilot/hooks/telem.json exists. Then restart VS Code. The search still runs, without your options.
  • “[telem] providersExclude removes every provider”: your options exclude every provider that they include. See When include and exclude name the same provider.

To update, run the installer again. It replaces the plugin files and the hook file, and updates the key in ~/.copilot/mcp-config.json. You can keep the key you already have. If you set it up when the installer called it GitHub Copilot, pick VS Code: it updates the same files.

What the installer writes for Copilot
File What it holds
~/.copilot/mcp-config.json The telem server, with your key in its Authorization header. Only you can read the file.
~/.copilot/settings.json extraKnownMarketplaces.telem and enabledPlugins["telem@telem"]: they turn on the Telem plugin for the Copilot target.
~/.copilot/hooks/telem.json The Telem hook, for the Local target.
~/.telem/plugins/copilot-plugin-telem/ The Telem plugin: the skill and the hook scripts.

If you set COPILOT_HOME, the first three are in that folder.

To remove Telem:

  1. In ~/.copilot/mcp-config.json, remove mcpServers.telem.
  2. In ~/.copilot/settings.json, remove extraKnownMarketplaces.telem and enabledPlugins["telem@telem"].
  3. Delete ~/.copilot/hooks/telem.json and the ~/.telem/plugins/copilot-plugin-telem folder.
  4. Restart VS Code. Copilot then has no Telem server, skill or hook.
What the installer changed outside Copilot’s config
File What it holds To undo
~/.telem/credentials.json Your key Delete it if no other Telem integration uses it.
~/.telem/telem.json Your Telem options Delete it if no other Telem integration uses it.
Configuration

Set the tier, the providers and auto-routing in one file, for VS Code and your other agents.

Parameters

Every option, the values it takes, and which setting wins.

Search parameters

What each search option does, from tiers to date windows.

Fetch parameters

Choose the fetch provider and tier, or read pages live.

Was this page helpful?