fetch_external is Reacher’s general-purpose HTTP proxy. It forwards requests to external APIs, automatically injecting the right authentication token based on the target domain. Tokens stay on the server — Claude never sees them.
This is the core insight behind Reacher’s design: Claude already knows REST APIs. It doesn’t need a dedicated tool for GitHub, Linear, or Notion. It needs a way to call those APIs with your credentials. fetch_external is that mechanism.
Prerequisites
- The target domain must be listed in
PROXY_ALLOWED_DOMAINS(comma-separated) - For authenticated APIs, add the domain-to-token mapping in
FETCH_EXTERNAL_TOKEN_MAP
api.github.com, the tool looks up "api.github.com" in FETCH_EXTERNAL_TOKEN_MAP, finds "GITHUB_TOKEN", reads that env var, and injects Authorization: Bearer ghp_xxx automatically.
Parameters
The full URL to fetch. Must be a valid URL including scheme (e.g.
https://api.github.com/user).Request body for
POST, PUT, and PATCH requests. Serialized as JSON. Content-Type: application/json is added automatically if not already present.Additional headers to include in the request. Merged with any injected auth headers. If you specify
Authorization here it will be overridden by the injected token for the domain.Return value
Parsed response body. JSON responses are returned as a parsed object. All other content types are returned as a string.
Security
When a request targets a domain not inPROXY_ALLOWED_DOMAINS, the tool returns immediately without making any network request: