anomalyco / anomalyco/opencode
Add websearch provider selection to settings UI / config instead of only env var
Open
@Brendonovich is already working on this.
Since Aug 1, 2026.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
Feature Request
The websearch tool currently supports two hosted providers: Exa (mcp.exa.ai) and Parallel (search.parallel.ai). The provider can only be pinned via the OPENCODE_WEBSEARCH_PROVIDER=exa|parallel environment variable; otherwise it is chosen randomly per session (via a session-ID checksum).
Problem
- There is no option in the desktop GUI settings (Settings > Appearance has themes/fonts/shell/keybinds, no websearch section).
- There is no field in
opencode.jsoneither. - Because of the random default, users can get noticeably worse results: in my testing, Exa consistently returned fresher and cleaner results (same-day news, official sources, compact highlights), while Parallel returned stale results and noisy raw-page dumps.
- On Windows, setting a user env var also requires a full sign-out/restart to take effect for GUI-launched apps, which is not a great onboarding experience for a simple preference.
Suggestion
Add a first-class way to select the websearch provider, for example:
- A dropdown in the desktop settings UI (e.g. Settings > Tools / Web Search:
auto (random)/exa/parallel), and/or - A config option in
opencode.json, e.g.:
{
"websearch": { "provider": "exa" }
}
The config-based approach would also help users pin the provider across machines. A "auto" default would preserve current behavior.
Environment
- opencode desktop 1.18.10 (Windows 11, Electron build)
- Config layer currently only reads
OPENCODE_WEBSEARCH_PROVIDER/EXA_API_KEY/PARALLEL_API_KEYfromprocess.env(defaultConfigLayerin the websearch tool module)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.