Your API requests belong in files you own, next to your code.
Seeing what that code actually sends should not need an account or a server.
CallFlow is a VS Code extension. The free REST client keeps every
request as a plain .http file in your workspace — it
diffs in git and opens in REST Client if we ever disappear. Pro adds
an HTTP debugger: start capture, and every terminal and debug session
in the workspace routes through a local proxy on your machine, so you
can inspect, save, replay and export the calls your code really made.
New in 0.3: OAuth 2.0, secrets that stay out of your files, and an MCP server tester. All free.
Pro free for 14 days in the editor, no account. Buying for a team? Company licence, $49 per seat →
VS Code 1.90+ · Cursor and VSCodium, tested · No account. Your requests stay on your machine. How it works →
How it actually works
Not marketing language — this is the literal request and capture path, because a "local only" promise is only as good as its mechanism.
-
A request is a
.httpfile, and nothing elseCollections are folders under
.callflow/in your workspace. Each file holds one or more requests separated by###, in the same format REST Client has read since 2016: method and URL, headers, a blank line, the body. There is no database, no proprietary bundle, and nothing that stops working if you uninstall the extension. The files diff in git like any other source. -
Environments keep secrets out of the file
environments.jsonholds your variables per environment. Any variable you list undersecretsis stored in VS Code'sSecretStorageinstead — the file on disk keeps an empty string, so a token never ends up in a commit. CallFlow: Set Secret… stores one in a step, the Auth tab offers "Store as secret" when you type a password or token, and saving a request with a plain-text credential in a header or URL asks first. Variables resolve file-first, then environment, then dynamic values like{{$uuid}}, then chained values from an earlier response. -
OAuth 2.0 without pasting tokens around
Define a profile once in
environments.json(authorization code with PKCE, or client credentials), pick it in the Auth tab, and the request sendsBearer {{$oauth profile}}. Sign-in opens your browser and comes back to a listener on127.0.0.1. Tokens live inSecretStorage, never in a file or in history, and refresh on their own. Free. -
Sending uses Node's own HTTP stack, so timings are real
Requests go out over
node:httpandnode:httpsdirectly, notfetch, which is what makes DNS, connect, TLS and first-byte timings precise and cancellation immediate. Redirects are followed up to ten times and theAuthorizationheader is never forwarded to a different origin. -
Capture (Pro) is a proxy on 127.0.0.1, scoped to your workspace
Start capture and CallFlow opens a proxy on a random port bound to
127.0.0.1only. It then setsHTTP_PROXY,HTTPS_PROXYand the CA-bundle variables that Node, Python, curl, Git, the AWS SDK, Deno, Cargo and Java honour — in this workspace's terminals and debug sessions, through VS Code's own environment mechanism. No system proxy setting is touched, nothing outside VS Code is routed, and stopping capture clears it all. -
The certificate authority is generated on your machine
To read HTTPS, CallFlow generates a local CA on first use and keeps the private key in VS Code's storage with owner-only permissions. For terminal targets you do not need to trust it system-wide, because the environment variables point each tool at the CA file directly. System trust only matters for GUI apps, and the exact command is shown before it runs, never behind a silent prompt.
Test MCP servers in the same editor
CallFlow: Open MCP Inspector reads the servers
you already list in .vscode/mcp.json,
.mcp.json or .cursor/mcp.json, local
(stdio) or over Streamable HTTP. Connect, and each tool gets a
form built from its input schema; results show as text, JSON or
images next to the raw JSON-RPC. Headers can use your secrets and
{{$oauth profile}}. A local server only starts in a
trusted workspace, after CallFlow shows you the exact command.
Tested against the reference server,
@modelcontextprotocol/server-everything. Free; Pro
adds the live traffic log.
Secrets are masked before they reach the screen
Captured traffic and history can contain the very things you would
not want on a screenshot. Values of Authorization,
Cookie, Set-Cookie and
X-API-Key are masked in the inspector and in HAR
export by default (the list is a setting), and you reveal them
deliberately, per view. Bodies are stored only in your own VS Code
storage and are never synced.
Pro licences don't phone home either
A CallFlow Pro licence is a small signed key that the extension checks entirely on its own, offline, using public-key verification. It never contacts a server to validate a purchase — not at activation, not afterward. That's a deliberate trade: we can't detect a copied key, and we would rather not have the extension report on how your licence is used. The only thing CallFlow sends on its own is an anonymous once-a-day "this install is in use" ping with no licence details in it (see Privacy).
Free vs Pro
Free is the complete REST client, forever. Pro is the HTTP debugger on top of it — never access to your own files.
| Feature | Free | Pro |
|---|---|---|
| Request editor & response viewer | Included | Included |
Collections as plain .http files in your workspace |
Included | Included |
| Environments, variables & auth helpers | Included | Included |
| OAuth 2.0: authorization code + PKCE, client credentials, auto refresh | Included | Included |
| MCP server tester: call tools, read resources, try prompts | Included | Included |
| MCP traffic log: every JSON-RPC message, progress & server stderr | — | Included |
| Import from cURL, Thunder Client, Postman v2.1 & HAR | Included | Included |
| Export your requests, history & captures (cURL, HAR) | Included, forever | Included, forever |
| Request history | 200 entries | 20,000 entries |
| Capture traffic from terminals & debug sessions | — | Included |
| Inspect captured requests & responses | — | Included |
| Save a captured call as a request | — | Included |
| Replay & edit-replay | — | Included |
| Collection runner: run a folder, chain values, see what failed | Included | Included |
| Scripts & tests (sandboxed), data-driven runs, JUnit export | — | Included |
| Response diff | — | Included |
| Price | $0 | $20 one-time $49/seat for teams |
Buy CallFlow Pro — $20 One-time. Sold through Paddle. Key shown on screen after payment. Or try every Pro feature free for 14 days in the editor first: no account. Buying for a team? See the company licence just below.
For teams: $49 per seat
A company licence lets your employer buy CallFlow Pro for everyone who needs it, with one invoice. Same Pro, same offline keys, no accounts and no seat-tracking server: everyone on the team enters the same key and that's it.
Buy company licence $49 per seat, one-time. One key for the whole team. Tax invoice from Paddle, our reseller.
Need a quote for procurement? Email hello@smallhours.works.
Exporting your own requests and captures will always be free
Not "free for now" — free on principle, for the life of the product. Part of why CallFlow exists is that the most-installed REST client in VS Code removed collections from its free tier in August 2025 and moved to per-user monthly pricing, while the free alternative most people fell back to has not had a release since August 2022. Your requests are plain files in your own repository, and exporting history or captures as HAR is free in every tier. Pro sells the debugger. It will never sell you the exit door.
What we can honestly say instead of "trusted by thousands"
CallFlow launched in September 2026. It has been downloaded about 3,400 times from Open VSX, the registry Cursor and VSCodium install from, though download counts include updates, and it has no reviews yet. So rather than ask you to trust a number, here is what we can state precisely, because it's true of the code today:
-
Apart from the requests you send on purpose and the traffic your own
processes send through the capture proxy while it is on, CallFlow
makes one request of its own: from version 0.2.4, an anonymous ping
once a day with four fields — the product name, the CallFlow
version, your editor's name (VS Code, Cursor, Windsurf, VSCodium…)
and a random install id CallFlow made up. It tells us how many
installs are actually used, which download counts can't. It is off
whenever your editor's telemetry is off, and
callflow.telemetry.enabledturns it off on its own. -
Your requests live in
.callflow/inside your workspace, as files you can open in any editor. History and captures live in VS Code's global storage on your machine. Neither is synced or uploaded. The only CallFlow server is the one that counts those daily pings; it keeps one record per install per day (version and editor name) for 60 days, and never stores IP addresses. -
The capture proxy binds to
127.0.0.1on a random port and is unreachable from any other machine. The CA it uses is generated locally; its private key is written with owner-only permissions and never leaves your storage folder. - There is no analytics SDK, no crash reporter, and no tracking pixel — in the extension or on this page. The daily ping above is the whole of CallFlow's telemetry.
- We — the people who make CallFlow — cannot see your requests or captures. Not "we don't look." There is nowhere for them to arrive.
- The one thing that does leave your machine is a Pro purchase, handled entirely by Paddle as the seller of record. See CallFlow's privacy policy for exactly what the ping and a purchase involve.
Get CallFlow
CallFlow is free. In VS Code, Cursor or VSCodium, open the
Extensions view and search "CallFlow". Cursor and VSCodium get it
from Open VSX, VS Code from the Visual Studio Marketplace. Or download
the .vsix here for a manual install. Unlock Pro whenever
you want the debugger.
Install from the Visual Studio Marketplace Install from Open VSX (Cursor, VSCodium) Download callflow-0.3.0.vsix
Works in VS Code 1.90 or newer. The full integration suite, including HTTPS capture, passes in Cursor 3.23 and VSCodium 1.135. Other Open VSX editors such as Windsurf should work the same way but are untested; any editor can use the .vsix via “Install from VSIX…”. Pro licences are sold through Paddle, and one licence works in every editor you use. Buy Pro — $20
FAQ
- Why build another REST client?
- Because the two people relied on stopped being reliable. Thunder Client barred companies from its free version in October 2023, cut free to three collections and no environments in February 2025, removed collections from free entirely in August 2025, and now charges per user per month; its Marketplace rating is 2.39 stars. REST Client, the free fallback, has had no release since August 2022 with dozens of pull requests waiting. Postman's extension requires an account. CallFlow exists so that a request editor inside your editor does not come with any of those conditions attached.
- Does CallFlow send my requests anywhere?
- Only to the URL you typed. CallFlow has no sync, no update check of its own and no licence check; the one request it makes itself is the anonymous daily install ping, which contains nothing about your requests and can be turned off. Everything it stores is on your machine, and the exit is a folder of text files.
- Am I locked into CallFlow's format?
-
No. Requests are stored in the
.httpformat that REST Client and several other tools already read, with###separators and{{variable}}substitution. If CallFlow vanished tomorrow, your collections would still open, still diff, and still run elsewhere. - How does capture route traffic without changing my system proxy?
-
VS Code lets an extension add environment variables to the
workspace's terminals and to debug launch configurations.
CallFlow uses that to set the standard proxy and CA-bundle
variables while capture is on, and removes them when you stop.
Processes started outside VS Code are untouched, and
localhostcan be included or excluded with a setting. - Do I have to install a root certificate?
-
Not for terminal and debug targets: tools that honour
NODE_EXTRA_CA_CERTS,SSL_CERT_FILE,REQUESTS_CA_BUNDLE,CURL_CA_BUNDLEand similar are pointed at the local CA file directly. Trusting the CA at the OS level is only needed for GUI applications, is optional, and the command CallFlow would run is shown before you confirm it. - What can capture not see?
-
Anything that pins certificates, HTTP/3 (QUIC is disabled for the
launched browser target, so traffic falls back to HTTP/2 or
HTTP/1.1), gRPC, and Java processes that ignore
JAVA_TOOL_OPTIONS. Version 0.1 covers HTTP/1.1 and HTTPS from terminals and debug sessions; that scope is stated here rather than discovered after purchase. - How does this compare to Fiddler, Charles or Proxyman?
- Those are system-wide proxies and see everything on the machine; CallFlow is narrower on purpose and sees only what your workspace runs. Fiddler Everywhere requires an account and a subscription, and Fiddler Classic's licence became non-commercial on 3 August 2026. Charles is $50 and Proxyman $89, both one-time. If you need to capture a whole machine or a phone, one of those is the better tool; if you want the calls your code made, next to the code, for $20 once, that is what CallFlow is for.
- Does buying Pro create an account somewhere?
- No account with us. Paddle handles the purchase and delivery of your licence key. The extension verifies that key's signature locally and never checks in with a server afterward — so we don't know when, where, or how often you activate it.
- Does it work in Cursor, VSCodium or Windsurf?
- Cursor and VSCodium: yes. CallFlow's full integration suite (sending, HTTPS, terminal capture with the local CA, saving captures as requests) passes inside Cursor 3.23 and VSCodium 1.135, tested on 2026-10-05. Both install it from Open VSX: search "CallFlow" in the Extensions view. Windsurf and other Open VSX editors should work the same way but haven't been tested. One Pro licence covers all of them.
- Is the Pro price final?
- Yes. $20, one-time, sold through Paddle, for an individual. No subscription, no early-bird games, no countdown timers. Companies buying for several people can get a company licence.
- Can I try Pro before buying?
- Yes. The first time you use capture, scripts and tests, or response diff, a 14-day trial of everything in Pro starts by itself. There's no account, email or card, and it lives only on your machine. When it ends, the free REST client keeps working exactly as before, and CallFlow tells you once.
Compared honestly
Side-by-side pages with sources, including the cases where the other tool is the better pick.
CallFlow vs Thunder Client · CallFlow vs Fiddler Everywhere
From building it: In a VS Code extension, http.request isn't Node's http.request.