Releases: mavam/webfox
Release list
Webfox v4.6.0: Structured web results for Pi scripts
Webfox now returns structured results to scripts that call its Pi tools, so a partial result keeps its completed inputs instead of failing the script. This release also requires Pi 0.99 or later and adds a reproducible Nix development shell for contributors.
🚀 Features
Reproducible Nix development shell
Contributors can now run nix develop to enter a pinned development environment with Node.js 24, Bun, and the project’s maintenance tools. With direnv and nix-direnv configured, direnv allow enables automatic activation when entering the checkout.
Structured web results for Pi codemode
The web_search, web_contents, web_answer, and web_research Pi tools now return their result document as structured output. Scripts that call them through Pi's codemode receive an object with the documented fields instead of text to parse. A partial result no longer makes the script fail: it receives the completed inputs together with the errors of the failed ones. The structured output is never truncated, and Pi keeps it out of the model's context.
🔧 Changes
Declare Pi web tools as read-only
The web_search, web_contents, web_answer, and web_research Pi tools now declare themselves as read-only calls that reach the open web. Extensions that gate tool calls, such as permission prompts, can use these hints to decide what needs confirmation. Partial failures are also reported through the tool result itself, so they show as tool errors without a separate event handler. This requires Pi 0.99 or later.
🐞 Bug fixes
Fix Pi's host-provided package warning
Pi no longer warns that webfox lists typebox in dependencies. The package now declares typebox as a peer dependency, so Pi supplies its own copy to the extension and avoids duplicate runtime modules. Standalone installs of the web CLI and TypeScript library keep working because package managers install required peer dependencies automatically.
Webfox v4.5.0: Historical page versions with Exa Snapshot
You can now retrieve historical page versions with Exa Snapshot, with search and page extraction options exposed to models in pi. This release also makes pi tool-call parameter styling consistent.
🚀 Features
Historical page versions with Exa Snapshot
You can now retrieve historical page versions with Exa Snapshot in search and page extraction. The options and usage guidance are also available to models when Exa is selected in pi.
For search, put the cutoff inside contents:
web search "Python release notes" --provider exa \
--options-json '{"contents":{"snapshotAsOf":"2026-07-01T00:00:00Z"}}'For page extraction, use --options-json '{"snapshotAsOf":"2026-07-01T00:00:00Z","text":true}'. Exa returns the newest stored page version at or before the cutoff. Snapshot search supports auto, fast, and instant without category; omit live-fetch and subpage controls. Access and lookback are limited during the research preview.
🐞 Bug fixes
Consistent dim styling for Pi parameter keys
Pi tool-call headers now render parameter keys and values in the same dim color without bold keys. The tool title remains bold.
By @mavam.
Webfox v4.4.2: Simpler Nix support
Webfox simplifies its Nix flake to one default package per supported platform. Build and smoke-test the CLI with nix build, without separate overlays, aliases, or check outputs.
🐞 Bug fixes
Simplify the Nix flake interface
The Nix flake now exposes only packages.<system>.default, replacing the named webfox package and overlay. Use nix build to build and smoke-test the CLI; the separate check and formatter outputs are removed.
By @mavam.
Webfox v4.4.1: Reliable Nix releases
Webfox fixes Nix installations after version-only releases. The dependency cache now stays valid when the release process updates package versions.
🐞 Bug fixes
Keep Nix packages buildable across releases
Nix installations now keep working after a Webfox release changes the package version. Version-only releases no longer invalidate the pinned dependency cache.
By @mavam.
Webfox v4.4.0: Webfox on Nix
Webfox now ships a Nix flake for Linux and Apple Silicon macOS. Install the web CLI declaratively with Home Manager or nix-darwin, or run it directly with Nix.
🚀 Features
Homebrew installation for the web command
You can now install the web command with Homebrew on macOS and Linux:
brew install mavam/tap/webfoxHomebrew manages Node.js and the command's dependencies. The npm installation option remains available. To use Webfox in Pi, install the extension separately with pi install npm:webfox; this doesn't add web to your shell's PATH. The CLI and Pi extension share the same Webfox configuration.
Install Webfox with Nix
Webfox now provides a Nix flake for Linux and macOS, including the web CLI and its Node.js runtime. Run it with nix run github:mavam/webfox, add it to Home Manager or nix-darwin, or use the overlay to install pkgs.webfox.
By @mavam.
Webfox v4.3.0: Google search modes with SerpBase
Use your SerpBase API key for Google search, images, news, videos, Maps Search, and place details through the existing web_search tool, CLI, and TypeScript library. Mode-aware options, actionable results, and a 120-second default deadline support these workflows without adding harness tools.
🚀 Features
SerpBase Google search provider
You can now use your SerpBase API key for Google search, images, news, videos, Maps Search, and place details through the existing CLI, TypeScript library, and Pi web_search tool. Set SERPBASE_API_KEY or configure providers.serpbase.credentials.api, then select a search mode:
web search "Node.js release notes" --provider serpbase --mode news
web search "coffee in Berlin" --provider serpbase --mode maps
web config default search serpbaseFor place details, pass a feature_id returned by Maps Search as the search input with --mode maps-detail. In Pi, put these IDs in queries; no additional tool is needed. Model-visible output includes feature IDs, contact information, and media URLs so follow-up calls don't depend on hidden metadata.
Choose a country, language, device, page, or map center as supported by the selected mode. Mode changes drop incompatible inherited defaults; explicitly incompatible options are rejected. Each input fetches one page or place and preserves result order, with original ranks and available context retained in JSON metadata. maxResults limits the result locally and doesn't trigger additional billed pages.
SerpBase requests have a 120-second overall deadline by default to accommodate slower endpoints. Explicit request or execution timeouts still take precedence; other providers keep their existing defaults.
Webfox v4.2.2: Readable quotes in tool input rows
This release removes unnecessary JSON escape backslashes from quoted tool input rows while preserving safe control-character escaping.
🐞 Bug fixes
Readable quotes in tool input rows
Tool input rows now display quotation marks directly instead of prefixing them with JSON escape backslashes. Quoted search terms and other inputs are easier to read while control characters remain safely escaped.
By @mavam.
Webfox v4.2.1: Lighter Gemini installation
Webfox makes Gemini grounded answers and deep research lighter to install by removing the Google SDK and its installation scripts. API keys, model settings, and commands remain unchanged.
🐞 Bug fixes
Lighter Gemini installation
Gemini grounded answers and deep research now require fewer installation dependencies, without changing your API key, model settings, or commands. Webfox no longer brings in Google's SDK and its installation scripts for Gemini access.
Webfox v4.2.0: More reliable Pi integration and configuration
Webfox now keeps Pi usable when configuration is invalid while preserving provider option schemas for reliable tool requests. It also publishes a stable configuration schema URL so editors can track the latest release automatically.
🔧 Changes
Stable configuration schema URLs
Configuration schema URLs now follow the latest published release, so examples no longer need URL updates after every release:
$schema: https://unpkg.com/webfox@latest/dist/config.schema.jsonEditor validation follows the latest schema even when an older Webfox version is installed. Replace latest with an exact version if you need validation pinned to that release.
🐞 Bug fixes
Non-blocking Pi startup with invalid configuration
Invalid Webfox configuration no longer interrupts Pi startup. The extension reports the configuration error and registers no web tools, leaving Pi available to use. In print and JSON modes, the diagnostic goes to stderr. After fixing the configuration, restart Pi or run /reload to load the extension again.
Preserve provider option schemas during inspection
Provider option schemas now remain separate from credential redaction. Previously, fields such as Brave maximum_number_of_tokens were replaced with [redacted], which made Pi tool schemas invalid and caused Codex requests to fail. Configured default values still pass through credential redaction.
By @andrew-kurin.
Webfox v4.1.0: You.com web and news search
Search the web and news with You.com from the CLI, TypeScript library, and Pi extension. Filter or boost domains and optionally retrieve full page content with live crawling, without changing your existing provider defaults.
🚀 Features
You.com web and news search
You can now use You.com for web and news search from the CLI, TypeScript library, and Pi extension. Set YDC_API_KEY and select the provider:
web search "Node.js release notes" --provider youcom --freshness weekResults alternate between web and news within the requested result limit. Provider options support domain filtering and boosting, country and language selection, pagination, and optional live crawling for full HTML or Markdown content. Live crawling adds latency and per-page charges. Existing provider defaults remain unchanged.
By @mouse-value-add in #40.