Add CORS response headers in one tab
Your page, for example on http://localhost:3000, calls an API on another domain, and the browser blocks the response because it lacks CORS headers. While you test, you want to add those headers in one tab only, without changing the server.
Steps
- Install Wirelet, then open your page in a tab, for example
http://localhost:3000. - Open Wirelet: click its icon in the toolbar, or press Alt+Shift+Y (Control+Shift+Y on a Mac). Choose “New profile”.
- Under “Sites”, choose “Only these sites” and add the API’s host, for example
api.example.com. - Choose “New header”. In “Applies to”, choose “Response”, keep “Set”, and type the name
Access-Control-Allow-Originwith your page’s origin as the value:http://localhost:3000. - If your requests send an Authorization header or headers of their own, add a response header
Access-Control-Allow-Headersthat names them, for exampleAuthorization, Content-Type. For methods such as PUT or DELETE, addAccess-Control-Allow-Methods. If they send cookies, addAccess-Control-Allow-Credentialswith the valuetrue. - Tick “This tab only”.
- Choose “Done”, then switch the profile on while this tab is the active one. Your browser asks for access to the API’s site: allow it.
- Your page’s site needs access too. Opening Wirelet from this tab gives it for as long as the tab stays on that site; to keep it, choose “Allow this site” when Wirelet offers it.
- Reload the tab.
With cookies, Access-Control-Allow-Origin must be your page’s exact origin: the browser refuses *.
What this cannot fix
- A preflight the server refuses
- Before some requests, one with an Authorization header for example, the browser sends an
OPTIONSrequest. If the server answers it with an error status, such as 401, 404 or 405, the request fails whatever the headers say: Wirelet changes headers, not status codes. In our tests in Chromium 141 and 153, a preflight answered 204 went through once the headers were added; one answered 405 did not. Access-Control-Allow-Headers: *and Authorization- The Fetch standard leaves Authorization out of the wildcard. Chrome and Edge still accept it for now, but the developer tools report it as deprecated (Issues panel), and other browsers refuse it: name
Authorizationin the list. - Site access
- Your browser applies the headers to a page’s request only if Wirelet has access to both the API’s site and the page’s site. When one is missing, the profile shows “Blocked”, or nothing changes.
- Cached responses
- A response that a page’s service worker serves from its cache never reaches the network, so no header can change: reload while bypassing the cache.
- Only your browser
- The server and everyone else still get its own CORS answer: configure the server before you ship.

Install Wirelet
Free · Chrome or Microsoft Edge 141 or later · English and French
Other guides
- Add an Authorization header for one siteAn API key or a token on one site, without changing your code.
- Change the user agent in one tab onlyAnother browser or device for one tab, Client Hints included.
- Import your ModHeader profilesFrom ModHeader’s JSON export, with a report of what changed.