How to use SetHeader
SetHeader lets you add, override, or remove HTTP request/response headers on requests matching URL patterns you configure — useful for local development, API testing, and multi-tenant backends that require custom auth/tenant headers.
The global toggle (top right) is a master switch — turning it off pauses every profile at once, without changing any of their individual settings. The number badge on the toolbar icon shows how many rules are currently active (summed across every enabled URL in every enabled profile) — no badge means nothing is currently active.
Profiles are independent groups of URLs + headers. Any number of profiles can be active simultaneously — e.g. one profile for a dev tenant, another for debug logging, both running at once. Click the pencil (✏️) to rename a profile, its own toggle to turn it on/off, and the trash icon to delete it (click once to arm the delete, click again within a few seconds to confirm).
URLs — each profile can list multiple URLs, each independently toggleable; the profile's headers apply to any URL below that's currently active (not just one). Two match modes:
Wildcard: Chrome's built-in URL-filter syntax. * matches anything. Example: *://api.example.com/* matches any scheme, that exact host, any path.
Regex: full RE2 regular expression syntax, for anything wildcard can't express — e.g. matching several different domains in one entry: ^https://(dev|staging)\.example\.com/.*$.
Headers — each row is:
Request/Response: whether this header is added to the outgoing request or the incoming response.
Name: the header name (not case-sensitive — Authorization and authorization behave identically).
Value: sent exactly as typed (case-sensitive where the receiving server cares, e.g. bearer tokens).
Operation:
Set — overwrites the header if it already exists, or adds it if it doesn't. This is what you want almost all the time.
Append — adds to an existing value rather than replacing it (only useful for the handful of headers that can legitimately hold multiple values, like Accept); behaves like Set if the header isn't already present.
Remove — strips the header entirely; the value field is unused and disabled in this mode.
Note: optional free-text reminder for yourself (e.g. "prod bearer token, expires never") — handy once profiles get shared via Export/Import.
The 👁 icon hides/shows the value (useful right before a screen-share); values are visible by default.
Each header has its own on/off toggle, independent of the profile's overall toggle.
Export / Import — Export downloads all your profiles (including header values) as a JSON file. Import merges a JSON file's profiles into your current list. This is meant for sharing profile shapes with teammates (right header names, right URL patterns already filled in) — strip or replace live token values before sharing an export file, since it's plain, unencrypted JSON.
Delete all wipes every profile in one action — same two-click confirm pattern as deleting a single profile.
Where your data lives: everything (profiles, headers, values) is stored only in your browser's local storage on your own machine. Nothing is ever transmitted anywhere by this extension.
Feedback or questions? Reach out to createapps360@gmail.com.