Download Fetch for your computer

Fetch runs in your browser, and most people never need to install anything. fetch is an optional program for one situation: reaching things only your own computer can reach, like localhost, your company network, or a database. Browsers can't do that, and Fetch's cloud deliberately can't either (it only reaches the public internet).

Install

In Terminal:

curl -fsSL https://fetch.nightroll.app/install.sh | sh

It picks the right build, checks its SHA-256 checksum and installs fetch into~/.local/bin (set FETCH_INSTALL_DIR to choose another folder). Read it first if you like: install.sh.

Or download a file

The builds for the current release appear here.

What fetch is for

One program with several jobs. Use any of them, or none: everything else in Fetch works without it.

1. The Fetch Agent: send requests from your computer

fetch agent runs in the background and lets the Fetch web app send requests from your machine, so you can reach:

  • localhost and 127.0.0.1: the API you're building right now
  • your LAN, VPN and other private networks (internal services, staging behind a firewall)
  • APIs that need client certificates (mTLS) or a corporate proxy, and HTTP/3
  • Unix sockets, such as Docker's API (macOS and Linux)
  • databases: Postgres, MySQL and SQLite queries
  • MCP servers that run as local programs (stdio), to inspect and test them
  • AI providers that block browser calls, for the assistant and LLM requests with your own key

It also keeps local vault secrets in your OS keychain (they never leave your device), opensfolder workspaces, and runs load tests. (Source control doesn't need it: the app pulls and pushes to GitHub itself once you connect GitHub.)

Why it's needed: browsers block requests to other sites unless those sites allow it (CORS), and Fetch's cloud executor only reaches the public internet. Those protections stay on; the agent is the safe way around them on your own machine.

2. The CI runner: run collections anywhere

fetch run runs a collection with its scripts and tests in a terminal or a CI pipeline (GitHub Actions, GitLab, Jenkins…) and exits with an error when a test fails. It reads Postman (v2.0, v2.1, v3), Fetch YAML, Insomnia, Bruno and OpenCollection files, takes CSV/JSON data files, writes JUnit, JSON, HTML and CTRF reports, and accepts newman's flags.

fetch run collection.json -e staging.json -d users.csv -r cli,junit --out reports

3. AI tools: use the MCP server, not this program

AI agents (Claude, ChatGPT, Cursor, VS Code…) should connect to Fetch's MCP server at https://fetch.nightroll.app/mcp: it runs on Fetch's servers, so it's always current, and needs no install. fetch mcp is only a stdio bridge to that same server for the rare client that can't connect to a remote one.

4. Everything else from the terminal

  • fetch mock collection.json: a local mock server from a collection's saved examples
  • fetch runner --token …: a self-hosted runner, so monitors and runs can execute inside your network
  • fetch sync ./api --workspace …: keep a workspace in sync with a folder (and Git)
  • every Fetch command: fetch items list, fetch requests send, fetch import, … (fetch --help lists them)

Getting started

fetch login          # connect it to your Fetch account (a personal access token)
fetch agent install  # keep the agent running in the background, starting at login
fetch agent pair     # prints a 6-digit code: enter it in the app (Settings → Fetch Agent, or ⌘K → "Pair the Fetch Agent")

The agent listens only on 127.0.0.1:47823, so nothing else on your network can reach it, and it only answers the Fetch web app after you pair it with a one-time code. fetch run, fetch mock andfetch mcp don't need the agent running.

About these builds