Quick access to workspace URLs from a JSON file, in Paseo.
npmjs · Paseo 0.9+
paseo plugin add npm:@stevecastaneda/paseo-workspace-links@1.0.0GitHub · Paseo 0.8 fallback
paseo plugin add stevecastaneda/paseo-plugins --ref 764f41794109da5fba12dc33a7533bf80febb8f7 --path workspace-linksGit security status and fallback installation are pinned to commit 764f41794109.
From the plugin's README
paseo plugin add npm:@stevecastaneda/paseo-workspace-links
From Paseo's plugin registry: paseo plugin add stevecastaneda/workspace-links.
Enable plugins under Settings → Plugins on the Paseo host.
README
A small Paseo plugin (0.11 or later) that reads workspace-links.json from the active workspace and puts those URLs on the Links trigger. Press the composer pill or header button to see each link's name with its URL underneath, then choose one to open it in your browser, or copy its URL. The settings button in the popover (or Add links when the file is empty or missing) opens the setup panel in Explorer. The Command Center item Workspace Links opens that panel too.
The trigger stays available when the workspace has no links yet, so the setup guide is always one click away. The panel never opens automatically.
Under Show as, switch between the composer pill and a workspace header button. Header buttons can hide the Links label. Changes apply to all workspaces on the connected host and persist across restarts. The composer pill is the default.
paseo plugin add npm:@stevecastaneda/paseo-workspace-links
From Paseo's plugin registry: paseo plugin add stevecastaneda/workspace-links.
Enable plugins under Settings → Plugins on the Paseo host.
Put this file at the workspace root:
[
{ "label": "App", "url": "http://localhost:3000" },
{ "label": "Admin", "url": "http://localhost:3001" },
{ "label": "Docs", "url": "https://example.com/docs" }
]
Use fixed URLs or have your existing setup/dev script generate this same file with the workspace's current URLs. Gitignore it if it contains workspace-specific values. The popover and the panel reread the file every two seconds while they are open, so there is nothing to refresh. The plugin does not execute scripts.
Links open on the device you're using, the same way Paseo opens its own links: your default browser in the desktop app, a new tab in the web app, or the phone's browser in the mobile app.
localhost therefore refers to that device. When the daemon runs on another machine, or you use Paseo from your phone, localhost links reach the daemon's dev server only if that port is forwarded to your device.
The status dots are checked from the machine running Paseo, so a localhost link can show as running even when it won't open on your phone.
Only HTTP(S) URLs are supported, with up to 100 links. Missing configuration, empty lists, and invalid files have visible panel states.
Workspace and agent changes arrive through subscriptions rather than repeated list requests. The Links popover and panel reread the file every two seconds while they are open.
Placement changes apply immediately in the current client. Other connected clients pick up saved options when they next load the options or reload the plugin.
workspace-links.json every two seconds, so the button did nothing you'd notice.@getpaseo/client just for its types; it now gets them from the plugin SDK that Paseo already provides.localhost link may still not open on your phone.npm ci asking for a package-lock.json, because npm 12 no longer reads the lockfile this plugin shipped (#53). The plugin no longer runs its own install step; Paseo's npm install already brings in what it needs.Scanned 15 Oct 2026, 12:35 UTC from stevecastaneda/paseo-plugins/workspace-links.