Google Web Search
Overview
Provides live internet search and web page extraction for Claude across environments (Claude Code, Claude Desktop, Cowork, and headless runners). Ensures Claude operates with current information, accurate links, and verifiable sources.
When to Use
- Looking up current documentation, APIs, or software release notes.
- Verifying recent breaking changes, library versions, or deprecations.
- Fact-checking technical specifications or error codes.
- Answering user queries that explicitly ask to search Google or the web.
When NOT to Use
- Information already firmly established in local codebase files or git history.
- Pure logic, algorithmic design, or refactoring existing internal code.
- Checking local system status (use Bash, lsof, git, etc.).
Tool Execution Hierarchy
Choose the highest available search method in the current environment:
| Priority |
Method / Tool |
Context / Availability |
| 1 (Primary) |
mcp__exa__web_search_exa + web_fetch_exa |
When Exa MCP is active in the session (fastest semantic search + clean markdown extraction). |
| 2 (Built-in) |
WebSearch + WebFetch |
Built-in Claude Code harness tools. |
| 3 (Universal CLI) |
search.py script |
Works anywhere with Python 3 (0 dependencies, 0 API keys). |
Universal CLI Script Usage (search.py)
If MCP or harness web tools are unavailable or restricted, invoke the bundled standalone search utility:
# Basic web search (returns titles, URLs, snippets)
python3 ~/.claude/skills/google-web-search/search.py "query here" -n 6
# JSON output for machine parsing
python3 ~/.claude/skills/google-web-search/search.py "query here" --json
# Deep-read content of a specific webpage
python3 ~/.claude/skills/google-web-search/search.py --fetch "https://example.com/page"
Search Query Formulation
- Describe the ideal target page:
- ❌ Bad:
"react error"
- ✅ Good:
"react 19 useActionState migration guide and typescript example"
- Include library name and version:
- ❌ Bad:
"FastAPI lifespan"
- ✅ Good:
"FastAPI asynccontextmanager lifespan example official docs"
- Target authoritative domains when applicable:
- Use site modifiers:
site:github.com, site:docs.python.org, site:anthropic.com.
Response Citation Rule
After answering with search results, always include a Sources: section with markdown hyperlinks:
Sources:
- [Claude 3.7 Sonnet Announcement](https://www.anthropic.com/news/claude-3-7-sonnet)
- [Anthropic Documentation](https://docs.anthropic.com)
Common Mistakes
| Mistake |
Reality |
| Relying on stale training memory for recent versions |
Versions change constantly. Search takes 2 seconds and guarantees accuracy. |
| Quoting bare URLs without markdown links |
Always format as [Title](URL) so the user can click directly. |
| Stopping at search snippets when details matter |
Use web_fetch_exa, WebFetch, or search.py --fetch to read the full page text. |
1---2name: google-web-search3description: Use when needing up-to-date facts, documentation, live web search, library versions, or current information beyond model knowledge cutoff4---56# Google Web Search78## Overview9Provides live internet search and web page extraction for Claude across environments (Claude Code, Claude Desktop, Cowork, and headless runners). Ensures Claude operates with current information, accurate links, and verifiable sources.1011## When to Use12- Looking up current documentation, APIs, or software release notes.13- Verifying recent breaking changes, library versions, or deprecations.14- Fact-checking technical specifications or error codes.15- Answering user queries that explicitly ask to search Google or the web.1617## When NOT to Use18- Information already firmly established in local codebase files or git history.19- Pure logic, algorithmic design, or refactoring existing internal code.20- Checking local system status (use Bash, lsof, git, etc.).2122## Tool Execution Hierarchy2324Choose the highest available search method in the current environment:2526| Priority | Method / Tool | Context / Availability |27|---|---|---|28| **1 (Primary)** | `mcp__exa__web_search_exa` + `web_fetch_exa` | When Exa MCP is active in the session (fastest semantic search + clean markdown extraction). |29| **2 (Built-in)** | `WebSearch` + `WebFetch` | Built-in Claude Code harness tools. |30| **3 (Universal CLI)** | `search.py` script | Works anywhere with Python 3 (0 dependencies, 0 API keys). |3132### Universal CLI Script Usage (`search.py`)3334If MCP or harness web tools are unavailable or restricted, invoke the bundled standalone search utility:3536```bash37# Basic web search (returns titles, URLs, snippets)38python3 ~/.claude/skills/google-web-search/search.py "query here" -n 63940# JSON output for machine parsing41python3 ~/.claude/skills/google-web-search/search.py "query here" --json4243# Deep-read content of a specific webpage44python3 ~/.claude/skills/google-web-search/search.py --fetch "https://example.com/page"45```4647## Search Query Formulation48491. **Describe the ideal target page**:50 - ❌ Bad: `"react error"`51 - ✅ Good: `"react 19 useActionState migration guide and typescript example"`522. **Include library name and version**:53 - ❌ Bad: `"FastAPI lifespan"`54 - ✅ Good: `"FastAPI asynccontextmanager lifespan example official docs"`553. **Target authoritative domains when applicable**:56 - Use site modifiers: `site:github.com`, `site:docs.python.org`, `site:anthropic.com`.5758## Response Citation Rule5960After answering with search results, **always** include a `Sources:` section with markdown hyperlinks:6162```markdown63Sources:64- [Claude 3.7 Sonnet Announcement](https://www.anthropic.com/news/claude-3-7-sonnet)65- [Anthropic Documentation](https://docs.anthropic.com)66```6768## Common Mistakes6970| Mistake | Reality |71|---|---|72| Relying on stale training memory for recent versions | Versions change constantly. Search takes 2 seconds and guarantees accuracy. |73| Quoting bare URLs without markdown links | Always format as `[Title](URL)` so the user can click directly. |74| Stopping at search snippets when details matter | Use `web_fetch_exa`, `WebFetch`, or `search.py --fetch` to read the full page text. |