Skip to content

Releases: DarKWinGTM/claude-code-web-hooks

v0.1.9

10 Apr 14:16

Choose a tag to compare

Updated

  • Render the CCS MCP failed-run fallback block in result-first order so the fallback search result appears before the preserved raw CCS error
  • Extend verification to assert the new result-first guidance text and fallback-result-before-error section order
  • Sync README, design, and TODO wording to the stronger failure-fallback visibility contract without changing the existing PostToolUseFailure -> additionalContext transport

Notes

  • Successful CCS MCP runs still use PostToolUse -> updatedMCPToolOutput
  • Failed CCS MCP runs still use PostToolUseFailure -> additionalContext
  • This release improves visibility only; it does not change MCP ownership or claim failed-run updatedMCPToolOutput support

v0.1.8

06 Apr 06:51

Choose a tag to compare

Summary

  • add CCS MCP WebSearch failure fallback through PostToolUseFailure
  • keep successful CCS MCP runs on the bounded dual-output path via updatedMCPToolOutput
  • sync README, design, changelog, TODO, phase, patch, install, uninstall, settings example, and verification coverage

Verification

  • bash ./verify.sh --target all
  • user reload + in-session testing passed before push/release

v0.1.7

04 Apr 09:38

Choose a tag to compare

Summary

  • add a PostToolUse MCP companion hook so CCS MCP WebSearch can keep its original result while appending a claude-code-web-hooks companion result
  • update install, uninstall, settings example, verification, and governance docs for the dual-output CCS MCP coexistence contract
  • verify Claude Code, Copilot VS Code, and Copilot CLI targets still pass after the coexistence update

Test plan

  • ./verify.sh --target claude-code
  • ./verify.sh --target all
  • ./install.sh --target claude-code --with-ccs-mcp-pass-through
  • in-session mcp__ccs-websearch__WebSearch run shows both the preserved CCS result and the appended companion result

🤖 Generated with Claude Code

v0.1.6

03 Apr 20:43

Choose a tag to compare

Summary

  • add explicit non-blocking coexistence support for the CCS MCP WebSearch tool mcp__ccs-websearch__WebSearch
  • keep native WebSearch as the only substitution path owned by this repo
  • add optional --with-ccs-mcp-pass-through install/uninstall support instead of claiming the MCP matcher by default
  • add governed phase + patch artifacts and sync README/design/changelog/TODO/verification for the coexistence boundary

Verification

  • ./verify.sh --target claude-code
  • ./verify.sh --target all
  • verified allow-only pass-through for mcp__ccs-websearch__WebSearch
  • verified no substituted MCP results and no duplicate provider execution in the MCP path

Commit

  • 47301ae Add CCS MCP WebSearch coexistence.

v0.1.5

03 Apr 05:29

Choose a tag to compare

Summary

  • add explicit copilot-cli target support alongside claude-code, copilot-vscode, and all
  • adapt the Copilot wrapper pair to handle both VS Code payloads (tool_name / tool_input) and Copilot CLI payloads (toolName / stringified toolArgs)
  • switch the repo hook config under .github/hooks/claude-code-web-hooks.json to official Copilot CLI shape with version: 1 and preToolUse
  • sync install, uninstall, verify, README, design, TODO, changelog, and phase docs with the shipped Copilot CLI compatibility rollout

Verification

  • ./verify.sh --target copilot-vscode
  • ./verify.sh --target copilot-cli
  • ./verify.sh --target all

Commits

  • 13a1e6c Add Copilot CLI target compatibility.
  • 0a1a34d Finalize release sync after Copilot CLI rollout.

v0.1.4

02 Apr 19:38

Choose a tag to compare

Summary

  • add target-aware install, uninstall, and verify support for claude-code, copilot-vscode, and all
  • add Copilot-on-VS-Code compatibility wrappers for WebSearch and WebFetch
  • add workspace Copilot hook example under .github/hooks/
  • update README, design, changelog, TODO, and phase planning for the multiple-target rollout

Verification

  • ./verify.sh --target all passes
  • Claude Code path remains supported
  • Copilot wrapper compatibility probe passes
  • WebFetch extraction backends continue to support ordered fallback with native escape behavior

Commit

  • f68665e

v0.1.3

28 Mar 11:44

Choose a tag to compare

Summary

  • add selectable WebFetch extraction backends across WebSearchAPI.ai Scrape, Tavily Extract, and Exa Contents
  • support one active backend per request with ordered fallback across the remaining providers
  • preserve native Claude WebFetch as the final escape hatch
  • add shared extraction-provider contract, policy, config helpers, and provider adapters
  • refine WebFetch template-heavy detection for low-text structured portal pages
  • update install/uninstall/settings/verify/docs/phase files for the new runtime model

Verification

  • fixture classification remains correct for article/template-heavy/browser-shell cases
  • extraction provider policy checks now cover PRIMARY selection, random no-PRIMARY selection, and ordered fallback behavior
  • real-key smoke completed for Tavily Extract and Exa Contents

Notes

  • this release updates the repo/runtime model and documentation for three interchangeable WebFetch extraction backends
  • commit: 295a52a

v0.1.2

26 Mar 23:32

Choose a tag to compare

Overview

This release expands the search layer with Exa support, simplifies public search mode guidance, and normalizes timeout/probe environment names while keeping backward compatibility for legacy names.

Added

  • Exa Search provider adapter
  • Exa configuration examples in settings.example.json
  • richer parallel search-result behavior that returns all successful provider results and reports partial provider failures

Updated

  • public search-mode guidance now focuses on fallback and parallel
  • README now explains fallback and parallel step-by-step
  • provider-order and SEARCH_PRIMARY behavior are documented more clearly
  • phase docs and verification flow were synchronized with the current implementation state

Env naming improvements

Preferred env names now include:

  • CLAUDE_WEB_HOOKS_SEARCH_TIMEOUT
  • TAVILY_SEARCH_TIMEOUT
  • EXA_SEARCH_TIMEOUT
  • WEBFETCH_PROBE_TIMEOUT
  • WEBFETCH_PROBE_MAX_HTML_BYTES
  • WEBFETCH_SCRAPER_TIMEOUT

Backward compatibility

Legacy timeout names are still accepted for now, so existing configs do not break immediately.

Current defaults

  • CLAUDE_WEB_HOOKS_SEARCH_MODE=parallel
  • CLAUDE_WEB_HOOKS_SEARCH_PROVIDERS=tavily,websearchapi

Notes

  • native fallback remains fully permissive when custom execution cannot complete successfully
  • WebFetch still uses the current WebSearchAPI scraper fallback path
  • Exa is currently added as a search-layer provider

v0.1.1

24 Mar 10:13

Choose a tag to compare

Overview

This release advances Claude Code Web Hooks from a single-provider search path into a documented multi-provider search architecture.

Highlights

  • Added multi-provider WebSearch architecture
  • Added Tavily Search support
  • Added provider policy layer with single, fallback, and parallel modes
  • Set current default search behavior to:
    • CLAUDE_WEB_HOOKS_SEARCH_MODE=parallel
    • CLAUDE_WEB_HOOKS_SEARCH_PROVIDERS=tavily,websearchapi
  • Preserved fully permissive native fallback behavior

Included in this release

  • role-based hook entry filenames:
    • websearch-custom.cjs
    • webfetch-scraper.cjs
  • shared provider modules:
    • failure policy helper
    • search provider contract
    • search provider policy
    • WebSearchAPI.ai adapter
    • Tavily Search adapter
  • phase planning workspace for multi-provider implementation
  • updated README, design, changelog, TODO, settings example, installer, uninstaller, and verification script

Why it matters

This release improves Claude Code behavior in custom-endpoint workflows where native/server-side search processing may not be available or may be unreliable.

Notes

  • WebSearch now supports WebSearchAPI.ai and Tavily Search
  • WebFetch still uses the current WebSearchAPI scraper fallback path
  • Architecture remains open to future search/extract provider expansion

v0.1.0

21 Mar 13:38

Choose a tag to compare

Overview

First public release of Claude Code Web Hooks.

This project is a Claude Code-only hook layer that improves practical WebSearch and WebFetch behavior when native/server-side behavior is not available or not sufficient through custom endpoint workflows.

Included

  • WebSearch substitution hook using WebSearchAPI.ai
  • WebFetch auto-detect + scraper fallback hook
  • fully permissive fallback policy so custom-path failures fall through to native Claude Code tools
  • API key pool support:
    • inline | pool
    • JSON array file
    • newline-separated text file
  • automatic next-key retry across the configured key pool
  • installer, uninstaller, and verification scripts
  • fixtures for repeatable classification checks

Use cases

  • Improve WebSearch when a custom endpoint cannot complete the expected Claude Code search process server-side
  • Improve WebFetch on template-heavy or browser-render-required pages
  • Preserve native Claude Code behavior when the custom path should not trap the user

Notes

  • Current implementation targets WebSearchAPI.ai only
  • Architecture remains open to supporting other search APIs later if a better fit is identified