v2.2.1

MODSetter/SurfSensev2.2.1Oct 14, 2026by MODSetter

Upgrading?

AI Summary

This release introduces plugins to Agentic chats, allowing users to connect SurfSense's own tools, third-party options, or custom MCP servers. It also resolves an issue where interrupted imports would miss chat threads and improves Studio's capabilities for handling PowerPoint and Excel files.

Key Highlights

  • Plugins in Agentic chats (SurfSense's own, third-party, and custom MCP servers).
  • Interrupted imports now resume and recover missed chat threads.
  • Agentic chats maintain their own folders, even within git repositories.
  • Studio now builds PowerPoint and Excel files, and the Stop button ends running scripts.
  • Word viewer refits automatically when its panel is resized.

New Features

  • Connect SurfSense's own plugins (Google Search, Web Crawl, YouTube, etc.) to agents.
  • Connect third-party plugins from a signed list or custom remote MCP servers.
  • Resume interrupted imports to retrieve missed chats.
  • Support for building PowerPoint and Excel files in Studio.
  • Refitted Word viewer for better resize handling.
  • Enhanced localization for Studio job messages and embedding model errors.

Full Release Notes

## Highlights

- **Plugins in Agentic chats.** In Settings › Plugins you can connect three kinds of plugin: SurfSense's own (Google Search, Web Crawl, YouTube, TikTok, Google Maps, Amazon, Walmart and Indeed, which need a SurfSense license), third-party ones from a signed list once you allow them, or any remote MCP server by its URL. You choose which tools the agent may use and which ones ask first. (#2234, #2245, #2249)
- **Interrupted imports get their chats back.** Importing a SurfSense cloud export again now adds the chats an interrupted import missed. (#2068)
- **Agentic chats stay in their own folders,** even when your data folder sits inside a git repository. (#2239)
- **Studio builds PowerPoint and Excel files in the script runner,** as it already did for Word and PDF, so Stop now ends a running script. (#2184)
- **The Word viewer refits** when you resize its panel. (#2233)
- **More messages in your language:** Studio jobs that can't start, run again or stop, and the reason an embedding model can't be used. (#2241, #2209, #2217)

## Known issues

- **The first start needs free disk space.** 2.2.1 upgrades your library database on its first start and saves a copy of it first. It needs free space about the size of `~/.surfsense/surfsense.db`. If there isn't enough, SurfSense closes without a message. Free some space and start it again.
- **Going back to 2.2.0 needs a manual restore.** 2.2.0 can't open a database that 2.2.1 has upgraded. Before you reinstall 2.2.0, quit SurfSense and replace `~/.surfsense/surfsense.db` with the copy saved at the upgrade, `~/.surfsense/backups/0027-0029.db`. Anything you added after updating won't be in it, and that includes connected plugins.
- **Plugins work only in Agentic chats.** Pick Agentic when you start the chat. Chats on a model that runs on this computer start in Basic (Q&A), and Basic chats don't use plugins.
- **SurfSense's own plugins need a SurfSense license.** Google Search, Web Crawl, YouTube, TikTok, Google Maps, Amazon, Walmart and Indeed run on plugins.surfsense.com. Without a license they still connect but show "Needs a license". A chat that can't use one of them says it needs sign-in, not a license.
- **Reddit and Instagram aren't offered.** Both sites now refuse anonymous reads, so their plugins are left out for now.
- **Some plugin results are unreliable.** TikTok's user search works only some of the time. When Amazon, Walmart or YouTube blocks a request, the plugin doesn't report a failure, so the agent may say nothing was found. A deep Web Crawl, or a Google Search over many queries or pages, can time out.
- **Third-party and custom plugins are early.** They stay off until you turn on Allow third-party plugins in Settings › Plugins. So far the list holds one Community plugin, DeepWiki. Signing in to a plugin with an account (OAuth) hasn't been tried with a real provider yet, and when a sign-in fails the app doesn't say why. You can't add a plugin that runs as a local command, such as `npx` or `uvx`.
- **Importing again won't add chats to a workspace you imported before 2.2.1.** 2.2.1 brings back the chats an interrupted import missed (#1958). In a workspace that already holds chats from an earlier version's import, though, importing again only matches the chats that are already there. To get the rest, keep your export ZIP, delete that workspace and import the ZIP again.

## What's Changed
* docs(plugins): one plugin host, two plugin lists, bundle code moved aside by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/2216
* refactor(sidecars): move boot and the watchers out of index.ts by @llwand1 in https://github.com/MODSetter/SurfSense/pull/2215
* feat(local): give an embedder repo's refusal a code the interface can translate by @ybai08 in https://github.com/MODSetter/SurfSense/pull/2209
* fix(local): run Studio's PowerPoint and Excel scripts in the script runner by @Cedric921 in https://github.com/MODSetter/SurfSense/pull/2184
* docs: cover the work since 2.1.0, and commit the sweep's input by @MODSetter in https://github.com/MODSetter/SurfSense/pull/2231
* feat(plugins): remote MCP plugins, SurfSense's scraper plugins and the third-party registry by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/2234
* feat(local): give an embedder's failed search check a code the interface can translate by @ybai08 in https://github.com/MODSetter/SurfSense/pull/2217
* ci(release): run the frozen document-script test against the worker each OS ships by @MannXo in https://github.com/MODSetter/SurfSense/pull/2238
* fix(studio): refit the Word viewer when its panel is resized by @MannXo in https://github.com/MODSetter/SurfSense/pull/2233
* feat(plugins): browse, connect and manage plugins, with Verified or Community publishers by @AnishSarkar22 in https://github.com/MODSetter/SurfSense/pull/2245
* test(local): hold host memory still where repricing must leave the preset alone by @ybai08 in https://github.com/MODSetter/SurfSense/pull/2242
* fix(import): resume missing chat threads by @fukalous in https://github.com/MODSetter/SurfSense/pull/2068
* fix(agent): keep a git repository above the data folder from becoming opencode's project by @MannXo in https://github.com/MODSetter/SurfSense/pull/2239
* fix(local): ship llama.cpp's own licence on Windows, and OpenMP's under its name by @MODSetter in https://github.com/MODSetter/SurfSense/pull/2246
* feat(local): give Studio's job refusals codes the interface can translate by @ybai08 in https://github.com/MODSetter/SurfSense/pull/2241
* docs(local): propose keyword search for Japanese and Chinese by @vintcessun in https://github.com/MODSetter/SurfSense/pull/2147
* fix(plugins): get the plugin host ready for plugins.surfsense.com by @MODSetter in https://github.com/MODSetter/SurfSense/pull/2249
* fix(registry): trust a new signing key, one the maintainer holds by @MODSetter in https://github.com/MODSetter/SurfSense/pull/2250
* fix(plugins): keep a log record's arguments when redacting it by @MODSetter in https://github.com/MODSetter/SurfSense/pull/2251
* fix(plugins): read the first-party list as UTF-8 on every system by @MODSetter in https://github.com/MODSetter/SurfSense/pull/2253
* [Local|Release] Release desktop 2.2.1 by @MODSetter in https://github.com/MODSetter/SurfSense/pull/2252

## New Contributors
* @llwand1 made their first contribution in https://github.com/MODSetter/SurfSense/pull/2215

**Full Changelog**: https://github.com/MODSetter/SurfSense/compare/v2.2.0...v2.2.1

Related Repositories