Generated banner for Browse Local Sentry
Generated logo for Browse Local Sentry

Browse Local Sentry

SentryOfficialPublished by Sentry

  • Skill
  • Tool integration
  • Cloud and DevOps
  • Apache-2.0
  • No issues found

From the author

Connects an agent's browser to a local Sentry dev server (dev-ui on *.dev.getsentry.net or the full devserver).
— the description by Sentry

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill provides a structured workflow for connecting an agent's browser session to a local Sentry development server. It distinguishes between the dev-ui (which interacts with production Sentry data using the user's authenticated session) and the full devserver (which uses a local database). The skill includes rigorous safety checks for certificate validation and browser authentication, ensuring that the agent operates within the user's existing Chrome profile without compromising security or session integrity.

What it does

  • Identifies and locates active local Sentry development servers.
  • Validates SSL certificates to ensure secure connections to local dev environments.
  • Integrates with the user's existing Chrome browser session for authenticated access.
  • Verifies authentication status via Sentry API endpoints.
  • Provides troubleshooting paths for common certificate and browser connectivity issues.
  • Ensures safe interaction by preventing unauthorized data modification in production-linked environments.

When to use it

  • When you need to test frontend changes against a live Sentry development server.
  • When the agent needs to perform browser-based QA on local Sentry builds.
  • When you encounter certificate errors or authentication failures while connecting to a local Sentry instance.
  • When you need to switch between production-linked dev-ui and local-database devserver environments.

Advantages

  • Maintains user session security by leveraging existing browser profiles.
  • Provides clear, actionable troubleshooting steps for common environment setup issues.
  • Prevents accidental data modification by enforcing strict operational rules.
  • Automates the complex process of port discovery and browser attachment.

Usage examples

“Connect to my local Sentry dev-ui.”
The agent will identify the running dev-ui port, verify the SSL certificate, attach to your active Chrome session, and confirm authentication.
“I am getting a certificate error when trying to browse my local Sentry instance.”
The agent will guide you through the troubleshooting steps, including verifying the local CA installation and checking the dev-ui certificate status.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/getsentry/browse-local-sentry/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip browse-local-sentry.zip -d .agents/skills

Documentation by Sentry

Browse Local Sentry

ServerURLDataBrowser
dev-ui (pnpm run dev-ui)https://<org-slug>.dev.getsentry.net:<port>/. Ask the user for the org if it is unknown.Production sentry.io, as the userThe user's own Chrome, the only one with their session
Full devserver (devservices serve)http://dev.getsentry.net:8000/Local databaseAny

Run every check in every session. Chrome updates, re-auth, and port changes undo earlier setup without warning. When a check fails, open the named section of references/troubleshooting.md.

Rules

  • dev-ui acts on production sentry.io as the user, including any staff or superuser session. Do not create, edit, or delete anything, and stay in the org the user named, unless the user approves the specific action. Use the full devserver for flows that change data.

  • Never bypass certificate warnings (thisisunsafe, --ignore-certificate-errors, --acceptInsecureCerts), log in to sentry.io yourself, or type the user's credentials.

  • Change the user's MCP config only with their approval.

  • In the user's own Chrome, open your own tabs with background: true, never isolatedContext, which has no session. Never navigate, reload, close, read, screenshot, run scripts in, or quote the user's tabs. Emulate viewports instead of resizing the window, and close your tabs when done.

Step 1: Find the Server

Use the URL the user gives. Otherwise never assume a port: dev-ui tries 10 ports upward from SENTRY_WEBPACK_PROXY_PORT (default 7999) and prints the one it took, and the devserver logs to .artifacts/dev.log. List listeners with lsof -nP -iTCP -sTCP:LISTEN and match one to its clone with lsof -a -p <pid> -d cwd.

Step 2: Check the Certificate (dev-ui Only)

Outside any shell sandbox, run curl -sS -o /dev/null https://dev.getsentry.net:<port>/ (on macOS, /usr/bin/curl, which reads the keychain). If it fails, see Certificate.

Step 3: Attach to the User's Chrome (dev-ui Only)

Call list_pages, or use another tool that already drives the user's signed-in Chrome. The browser is attached when it lists the user's own tabs. If not, see Chrome.

Step 4: Check Authentication

Open the server URL in a new tab and read /api/client-config/. Continue when isAuthenticated is true. If not, see Authentication.

After editing frontend source, wait for the rebuild, then reload with the cache bypassed. If the console shows "An SSL certificate error occurred when fetching the script.", the certificate is not trusted; return to Step 2.

When a Step Is Blocked

Stop and tell the user which step failed and the exact action they need to take. Do not substitute tests, stories, or reasoning for browser QA, and do not write "browser verification was blocked" into a PR description in place of doing it.

Files

references/troubleshooting.md

Troubleshooting

Certificate

dev-ui serves HTTPS with config/localhost.pem when that file exists at startup, and otherwise with a self-signed fallback that browsers reject. The fallback is the usual cause of "blocked by the local development certificate".

Run these commands outside any shell sandbox. Inside one, curl rejects even a trusted certificate and openssl may fail to connect.

If curl failed with anything other than SSL certificate problem, recheck the port and that the command ran outside a sandbox. On a certificate error, verify the served certificate against this machine's mkcert CA:

f=$(mktemp)
openssl s_client -connect 127.0.0.1:<port> -servername dev.getsentry.net </dev/null | openssl x509 > "$f"
[ -s "$f" ] || echo "no certificate captured"
openssl verify -CAfile "$(mkcert -CAROOT)/rootCA.pem" "$f"

If no certificate was captured, openssl could not connect: recheck the port and the sandbox instead of using this table.

ResultFix
OKThe local CA is not trusted. Ask the user to run mkcert -install, which prompts for a password. If it says the CA is already installed, the probe ran in a sandbox; rerun it outside.
certificate has expiredmkcert certificates last about two years. Ask the user to run pnpm mkcert-localhost again, then restart dev-ui.
Any other error, or mkcert is not installeddev-ui is serving its fallback or a certificate from another CA. If config/localhost.pem in the clone running dev-ui passes the same openssl verify, restart dev-ui. Otherwise ask the user to run pnpm mkcert-localhost (needs mkcert), then restart dev-ui. config/*.pem is gitignored, so every clone and worktree needs its own copy.

The CA is trusted machine-wide, so every Chrome profile accepts the certificate once it is installed.

Chrome

chrome-devtools-mcp needs --autoConnect. Without it, the server launches its own dedicated profile, which has no sentry.io session. These commands change the user's MCP config beyond this session, so show them to the user and run them only with their approval. Keep the pinned version: the server gets full control of a browser signed in to production.

ClientCommand
Claude Codeclaude mcp remove chrome-devtools (any scope; ignore "not found"), then claude mcp add chrome-devtools --scope user -- npx [email protected] --autoConnect. If the tools come from the chrome-devtools-mcp@chrome-devtools-plugins plugin, whose args are fixed, also run claude plugin disable chrome-devtools-mcp@chrome-devtools-plugins.
Codexcodex mcp add chrome-devtools -- npx [email protected] --autoConnect
OtherSet the server's args to ["[email protected]", "--autoConnect"]

After changing the config, ask the user to reconnect the MCP server. Then ask them to open chrome://inspect/#remote-debugging in their everyday Chrome (version 144 or newer), enable remote debugging, and accept Chrome's prompt to allow the connection. Call list_pages again.

SymptomCauseFix
Could not find DevToolsActivePort or "Could not connect to Chrome"Chrome is not running, or remote debugging is offAsk the user to enable it, then call list_pages
EPERM: operation not permitted or DevToolsActivePort errors on macOS with remote debugging onThe agent's host app cannot read Chrome's profile folderAsk the user to allow the terminal or IDE under System Settings > Privacy & Security > Files & Folders > Google Chrome
Network.enable timed out or "socket connection was closed"The connection prompt was not accepted, another MCP server or tool holds the connection, or many frozen tabs (Chrome 149 and older)Ask the user to accept the prompt, close other connected agents, or close unused tabs
The browser is already running for a cache directory, or only a lone about:blank--autoConnect is missing or misspelled, so the server launched its own profileFix the args and reconnect
Attached to a browser or profile the user does not work inautoConnect uses the default profile of stable ChromeAsk the user to sign in to Sentry in that profile, or add --channel=beta, --channel=dev, or --channel=canary to match their browser
The server fails to start with npx not foundThe client launched it without the shell's PATH (nvm, volta)Add an env.PATH entry or use an absolute npx path

Authentication

ServerIf isAuthenticated is false
dev-uiAsk the user to install Sentry Cookie Sync in the attached Chrome profile, then log into sentry.io there and keep a https://<org-slug>.sentry.io tab open. The extension copies that session to dev.getsentry.net only for orgs it sees in open tabs. Then reload. SSO cannot help elsewhere: dev-ui does not proxy /identity/ routes, and Okta device trust rejects fresh profiles.
Full devserverSign in with a local account. If none exists, create one with sentry createuser --email <email> --password <password> --superuser --no-input.

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs network access, Needs Node.js

Security

No issues found by our static scan· No issues found

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
Sentry
Publisher
Sentry (Official)
Source
getsentry/skills · skills/browse-local-sentry · commit e94f222
Licence
Apache License 2.0 (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Sentry or Sentry.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download browse-local-sentry.zip