Skip to content

Chrome extension for dev teams

Same page. Different environment. One click.

ENV Portal takes the page you are looking at and gives you the same page on every other environment of the same app — plus the ticket it belongs to. No retyping, no typos, no bookmarks folder.

Add to Chrome

Free, with no account needed.

Editing it by hand

www.example.com/path/to/nested/page?maybeSomeQuery=1

or press the ENV Portal button once

One click opens this

My Test Workspace 5 environments
You are on www.example.com/path/to/nested/page
Dev Dev Page Dev CMS
Stage Stage Preview Stage CMS
Prod Live Site Clear Cache
Local Localhost Storybook

How it works

Be honest — you edit the hostname by hand.

Cursor into the address bar, select the subdomain, retype it, hope you got the path right. Every day. Describe your environments once and the extension does the rewrite instead.

01

Describe the environments once

Live, preview, editorial, branch deployments, cache invalidation endpoints, API responses — anything you can write as a URL.

02

Press the button on any page

The extension reads the address you are on, matches it against the workspace, and lists every counterpart.

03

Land on the same page, elsewhere

Path and query survive the jump. So does the ticket the page belongs to.

The product demo needs JavaScript to play.

What you get out of it

Navigate faster

Switch between environments with one click instead of a hand-edited URL.

No more copy-paste

No copying, typing, or pasting URLs by hand. Just click and you are there.

Reach the ticket too

Instant access to any environment, API response, or the ticket the page belongs to.

One setup per project

Define each project as a workspace, share it with colleagues, keep it in version control.

Variables

Some links need a number the address never had.

A ticket. A merge request. A build. Swapping a hostname is arithmetic — this part is not. A variable is a named value your workspace declares, and a slot the link leaves open for it.

It is what gets you from a Jira ticket, or a GitLab merge request, straight to the branch deployment that belongs to it.

The template you write once

company.atlassian.net/browse/PROJ-{{ticketNumber}}

The link you get

company.atlassian.net/browse/PROJ-42395

Northwind Shop ticketNumber found
Jira ticket PROJ-42395
Branch deployment dev-42395.northwind.example

Read off the merge request — nobody typed 42395

Four places it looks, in this order

01

The address you are on

Always wins. An address cannot be out of date.

02

The page in front of you

A merge request number lives in Jira's development panel — nowhere in the ticket's address, and not rendered until you hover it. ENV Portal hovers it and reads it, and only trusts a panel that names the ticket you are actually on. On a board of forty cards, a careless read sends you to someone else's deployment. If two values disagree, it takes neither.

03

You type it

A labelled box in the popup. Paste a whole URL or type just the number.

04

Memory

The last value it found, kept on your machine and tied to the ticket it came from.

The first source that answers wins, and the rest are never asked — which is why a fresh reading always beats a remembered one.

No half-built links

A link it cannot complete is left out of the list, never shown with a hole in it.

One tab, one click, nothing sent

Reading the page happens on that tab only, on the click that opened the popup, and where the workspace says to look. Nothing leaves your browser.

Workspaces

A workspace is just JSON.

Which means you can review it, commit it next to the project it describes, and hand the whole team the same setup instead of everyone building their own bookmarks.

Would you rather have an assistant write it?
The same rules exist as a specification, with a button that copies the whole thing. Paste it into Claude, ChatGPT or Copilot with two or three real addresses from your project and it writes the workspace for you.

Spec for an assistant
{
    "workspaceName": "My Test Workspace",
    "ticketPrefix": "TICKET-",
    "environments": [
      {
        "name": "Dev",
        "links": [
          {
            "name": "Dev Page",
            "url": "https://www.dev.my-company.com/{{language}}/{{path}}",
            "defaultLanguage": "en-us"
          }
        ]
      },
      {
        "name": "Branch Deployment",
        "links": [
          {
            "name": "Branch Deployment",
            "url": "https://www.dev-TICKET-{{ticketNumber}}.my-company.com/{{language}}/{{path}}"
          }
        ]
      }
    ]
  }
The ENV Portal settings page: a workspace open in the JSON editor, with a Valid JSON status card and the list of placeholders beside it.

Workspaces are edited in a real JSON editor and validated before they save.

Cost

Free, and there is no catch to go looking for.

Every environment link, the ticket cross-links, sync between your machines, and as many workspaces as you care to write. No account, no card, nothing to cancel later.

Add to Chrome

Questions

No. It asks for storage, activeTab and scripting, and holds no host permissions. It reads the address of the tab you press the button on, at the moment you press it, and nothing leaves your browser.

Stop editing the address bar.

Free, with no account needed.

Get it from the Chrome Web Store