Parallel.ai's undisclosed PR campaign across 14 open-source agent frameworks An employee of Parallel.ai, identified as Matt H (GitHub: NormallyGaussian), submitted 161 pull requests across 14 open-source agent frameworks to silently route user web search and extract traffic to Parallel's hosted service. Six out of seven merged PRs did not disclose the author's employment at Parallel.ai, and the changes often made Parallel's Search MCP the zero-config default, requiring no API key or opt-in. The campaign affected projects including NousResearch/hermes-agent, openclaw/openclaw, paradigmxyz/centaur, and massgen/massgen. | An employee of Parallel.ai Matt H, mharris@parallel.ai, GitHub: NormallyGaussian submitted 161 pull requests across 14+ organizations to silently route user web search/extract traffic to Parallel's hosted service -- without disclosing their employment in all but 1 case. | | | --- | | | TL;DR | | | A Parallel.ai employee systematically added Parallel's hosted Search MCP search.parallel.ai/mcp as the default or bundled web search/extract provider across major open-source AI agent frameworks. 6 out of 7 merged PRs did not disclose the author's employment at Parallel. In one case NousResearch/hermes-agent , the founder of the project personally carried the code across the finish line with zero reviews in 4.5 hours. The traffic routing happens silently -- no config, no API key, no opt-in prompt. | | | --- | | | Who is NormallyGaussian? | | | GitHub: @NormallyGaussian https://github.com/NormallyGaussian | | | Name: Matt H | | | Email: mharris@parallel.ai | | | Bio on GitHub: "Currently at @parallel-web" | | | Organization: Parallel Web Systems | | | Total PRs: 161 | | | Total commits mharris@parallel.ai : 173 | | | Badges: Pull Shark x3, Pair Extraordinaire x3 | | | Pinned repos: parallel-cookbook, parallel-agent-skills, parallel-web-tools, parallel-sdk-python, parallel-sdk-typescript -- all Parallel.ai projects. | | | Every single one of their 161 PRs is Parallel-related. Zero non-Parallel contributions. | | | --- | | | The playbook | | | 1. Find an open-source agent framework / coding assistant / chat frontend | | | 2. Submit a PR adding Parallel's free Search MCP search.parallel.ai/mcp as a web search provider -- no API key required | | | 3. Where possible, make it the zero-config default so it activates on any fresh install | | | 4. Add a branded User-Agent string so Parallel can track which project the traffic came from | | | 5. Do not disclose that you work at Parallel.ai | | | 6. If it gets rejected, try again later or through a different maintainer | | | --- | | | Affected projects | | | Merged PRs 7 across 6 repos | | | NousResearch/hermes-agent | | | PR: 43798 https://github.com/NousResearch/hermes-agent/pull/43798 | | | What it did: Made Parallel the default web backend for both search and extract. Zero-config. | | | Merged by: teknium1 founder | | | Merged when: Jun 11, 2026 | | | Reviews: 0 | | | Disclosed employment? No | | | openclaw/openclaw | | | PR: 90849 https://github.com/openclaw/openclaw/pull/90849 | | | What it did: "free Parallel Search MCP as the zero-config default web search provider" | | | Merged by: davemorin | | | Merged when: Jun 7, 2026 | | | Reviews: 0 | | | Disclosed employment? No | | | openclaw/openclaw | | | PR: 85158 https://github.com/openclaw/openclaw/pull/85158 | | | What it did: "add Parallel as a bundled web search provider" | | | Merged by: davemorin | | | Merged when: May 22, 2026 | | | Reviews: 0 | | | Disclosed employment? No | | | openclaw/openclaw | | | PR: 91066 https://github.com/openclaw/openclaw/pull/91066 | | | What it did: "send openclaw-parallel User-Agent" | | | Merged by: vincentkoc | | | Merged when: Jun 7, 2026 | | | Reviews: 1 self? | | | Disclosed employment? No | | | openclaw/openclaw | | | PR: 91561 https://github.com/openclaw/openclaw/pull/91561 | | | What it did: "report keyless web search providers as ready" | | | Merged by: vincentkoc | | | Merged when: Jun 9, 2026 | | | Reviews: 0 | | | Disclosed employment? No | | | paradigmxyz/centaur | | | PR: 228 https://github.com/paradigmxyz/centaur/pull/228 | | | What it did: "Parallel-backed search + deep research" | | | Merged by: gakonst | | | Merged when: May 27, 2026 | | | Reviews: 2 | | | Disclosed employment? No | | | massgen/massgen | | | PR: 1108 https://github.com/massgen/massgen/pull/1108 | | | What it did: "add Parallel Web Search to MCP server registry" | | | Merged by: Henry-811 | | | Merged when: Jun 1, 2026 | | | Reviews: 0 4 bot reviews | | | Disclosed employment? No | | | anomalyco/opencode | | | PR: 26943 https://github.com/anomalyco/opencode/pull/26943 | | | What it did: "make websearch provider label reactive" | | | Disclosed employment? No | | | agno-agi/agno | | | PR: 7857 https://github.com/agno-agi/agno/pull/7857 | | | What it did: "identify agno traffic to Parallel MCP via User-Agent" | | | Merged by: ysolanky | | | Merged when: May 15, 2026 | | | Reviews: 1 | | | Disclosed employment? YES -- the only one that did | | | langchain-ai/docs | | | PR: 3787 https://github.com/langchain-ai/langchain/pull/3787 | | | What it did: "catch up Parallel pages to langchain-parallel 0.4.0" | | | Disclosed employment? No | | | Note: Only 1 of 7 merged PRs agno-agi/agno 7857 disclosed that the author works at Parallel.ai. The hermes-agent PR was particularly egregious -- it made Parallel the unconditional default, and the sole disclosure was that NormallyGaussian was "a contributor." | | | Additional open/closed PRs from NormallyGaussian: | | | anomalyco/opencode - 28219 - Open | | | paradigmxyz/centaur - 293 - Merged | | | paradigmxyz/centaur - 439 - Open | | | docker/mcp-registry - 3837 - Open | | | danny-avila/agents LibreChat - 207 - Open | | | affaan-m/ecc - 2085 - Merged | | | affaan-m/ecc - 2086 - Open | | | google/adk-docs - 1721 - Closed not merged | | | langchain-ai/deepagents - 380 - Closed not merged | | | crewaiinc/crewai - 4007 - Closed not merged | | | --- | | | The hermes-agent case -- most egregious | | | The NousResearch/hermes-agent case is worth calling out specifically because it shows how this pattern can bypass normal open-source governance entirely. | | | 1. NormallyGaussian submitted PR 34971 https://github.com/NousResearch/hermes-agent/pull/34971 -- same content. It was closed without merging. | | | 2. Days later, teknium1 NousResearch founder/lead maintainer opened PR 43798 https://github.com/NousResearch/hermes-agent/pull/43798 titled "Salvages 34971 by @NormallyGaussian with authorship preserved." | | | 3. The actual commit e0e25717116c818d22f05a1875fe44960b189ad7 has: | | | - Author: Matt Harris