Editors
Devin Desktop (formerly Windsurf)
Telem adds web search, page reading and monitors to Devin Local, the local agent in Devin Desktop (formerly Windsurf), and to the Devin CLI, which runs the same agent. The tools come from Telem’s hosted MCP server. A Telem hook sends your options with each search, keeps the searches of each chat together in the console, and records why the agent searched.
Before you begin
Section titled “Before you begin”- Devin Desktop. Telem is tested on Devin Desktop 3.11. On the free plan, Devin Local runs with the SWE-1.6 Slow model. The other models need a paid plan.
- A trusted folder. Devin runs local agents and hooks only in a folder you trust. In Restricted Mode, local agents are off.
- Node.js 20 or later, on the
PATHthat Devin Desktop runs with. The installer runs on it, and so does the hook. To send the model’s reasoning, the hook needs Node.js 22.13 or later.
Create a Telem API key
- Open your project
- API keys
- Issue API key
tlm_••••••••••••••••Keys start with tlm_.
Never paste a key into a chat with Devin. Every path below sets it for you.
Install
Section titled “Install”Connect Devin Desktop to Telem
-
Run the installer in your terminal and pick Devin Desktop (formerly Windsurf). 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 -
Restart Devin Desktop. Devin reads its MCP servers and hooks when it starts.
-
Open a folder, trust it, and pick Local. Telem works in Devin Local, not in the cloud agent.
-
Ask Devin to search the web. Devin asks before each Telem call: click Allow. The search shows in the console.
Install with no prompts, for example in CI
curl -fsSL https://docs.telem.ai/install.sh | sh -s -- --yes --client devin --key-env TELEM_API_KEY-
Add the server with your key. Put this in
~/.config/devin/mcp_config.json(on Windows,%APPDATA%\devin\mcp_config.json), with your key in place oftlm_your_key. If the file already hasmcpServers, add thetelementry to it.~/.config/devin/mcp_config.json {"mcpServers": {"telem": {"url": "https://mcp.telem.ai/mcp","headers": { "Authorization": "Bearer tlm_your_key" }}}} -
Restart Devin Desktop. Devin reads its MCP servers when it starts.
-
Open a folder, trust it, and pick Local.
-
Ask Devin to search the web. Devin asks before each Telem call: click Allow. The search shows in the console.
This gives Devin the tools, but not the hook: your .telem/telem.json options and the
model’s reasoning are not sent, and the console does not keep a chat’s searches
together. The installer adds the hook and the Telem skill.
Search and read
4 toolstelem_searchSearches the web on several providers in one call.telem_fetchReads the full text of up to 5 pages.telem_providersLists the search providers.telem_session_historyLists the earlier searches in a session.
Monitors
4 toolscreate_monitorRuns a search on a schedule and keeps only new results.list_monitorsLists your monitors.get_new_resultsGets the new results of a monitor since the last read.delete_monitorDeletes a monitor.
The installer also adds the Telem skill to ~/.config/devin/skills/telem/. It tells the
agent to read pages with telem_fetch, and to send a goal and a reason with each search.
Specific to Devin Desktop
Section titled “Specific to Devin Desktop”- The hook keeps each chat’s searches together. It links every search and page read to your Devin session and the prompt, so the console shows one conversation.
- Why Devin searched. The hook reads the model’s thinking from the session file
that Devin keeps (on Linux,
~/.local/share/devin/cli/sessions.db), and sends the thinking that led to each search or page read. It only reads the file. With Node.js older than 22.13, the hook sends no reasoning. - Options come from the files. The hook reads the
.telem/telem.jsonof the folder open in Devin, then~/.telem/telem.json, then theTELEM_*variables. It sends your options with every search and page read.providerOverridesis not sent. It is not yet confirmed that Devin gives your shell’s environment to the hook, so set options in a file. - Devin asks before each Telem call. It shows an approval card for the tool, for
example
mcp__telem__telem_search, with Allow and Reject. - The Devin CLI. Devin Local is the Devin CLI’s agent, and both read
~/.config/devin, so the installer sets up the CLI too. Restart it after you install. - Not Cascade. Cascade, the older agent in Devin Desktop, reads another config, so the installer does not add Telem to it. Use Devin Local.
If something goes wrong
- Every call gets
401: theAuthorizationheader in~/.config/devin/mcp_config.jsonis missing or has an old key. Run the installer again, or edit the header. - “Local agents are off”: the folder is in Restricted Mode. Trust the folder, then open a new Local tab.
- The console does not keep a chat’s searches together: the hook did not run. Check
that the folder is trusted, that
nodeis on thePATHthat Devin Desktop runs with, and that~/.config/devin/config.jsonhas the TelemPreToolUsehook. Then restart Devin Desktop. The search still runs, without your options. - The console shows no reasoning: check that
node --versionis 22.13 or later.
Update and remove
Section titled “Update and remove”To update, run the installer again. It replaces the hook and the skill, and updates the
key in ~/.config/devin/mcp_config.json. You can keep the key you already have.
What the installer writes for Devin Desktop
| File | What it holds |
|---|---|
~/.config/devin/mcp_config.json |
The telem server, with your key in its Authorization header. Only you can read the file. |
~/.config/devin/config.json |
A hooks.PreToolUse group that runs the Telem hook. The rest of the file stays as it was. |
~/.config/devin/skills/telem/ |
The Telem skill. |
~/.telem/plugins/devin-telem/ |
The hook scripts. |
On Windows, the first three are in %APPDATA%\devin\.
To remove Telem:
- In
~/.config/devin/mcp_config.json, removemcpServers.telem. - In
~/.config/devin/config.json, remove thehooks.PreToolUsegroup that runsdevin-telem/hooks/lineage.mjs. - Delete the
~/.config/devin/skills/telemand~/.telem/plugins/devin-telemfolders. - Restart Devin Desktop. Devin then has no Telem server, skill or hook.
What the installer changed outside Devin’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. |
Learn more
Section titled “Learn more”Set the tier, the providers and auto-routing in one file, for Devin and your other agents.
Every option, the values it takes, and which setting wins.
What each search option does, from tiers to date windows.
Choose the fetch provider and tier, or read pages live.