A Chrome DevTools extension for debugging Connect-RPC and gRPC-Web API calls.
- Automatic Network Capture - Captures all Connect-RPC and gRPC-Web calls without code changes
- Request/Response Inspection - View full JSON payloads with syntax highlighting
- Performance Metrics - See request duration and response size
- DevTools Integration - Appears as a tab in Chrome DevTools
- Optional Interceptor - Add client-side interceptor for enhanced metadata
- Dark Mode - Matches Chrome DevTools aesthetic
- Zero Dependencies - Built on Manifest V3, no external libraries
- Open
chrome://extensions/ - Enable Developer mode (toggle in top-right)
- Click Load unpacked and select this folder
- Open DevTools (F12) - you should see an "RPC" tab
Simply make requests from your Connect-RPC client:
import { createClient } from '@connectrpc/connect';
import { ElizaService } from './gen/connectrpc/eliza/v1/eliza_pb';
const client = createClient(ElizaService, transport);
const response = await client.say({ sentence: 'Hello!' });- Open Chrome DevTools (F12)
- Click the "RPC" tab
- Make a request - it appears in the panel
- Click any request to view details
For richer metadata (full field names, better error details), add the interceptor to your project:
-
Copy the interceptor file:
cp src/interceptor/connect-interceptor.js /path/to/your-project/src/utils/
-
Import and use it:
import { createGrpcWebTransport } from '@connectrpc/connect-web'; import { connectRpcDevToolsInterceptor } from './utils/connect-interceptor'; const transport = createGrpcWebTransport({ baseUrl: 'https://your-api.com', interceptors: [connectRpcDevToolsInterceptor()] });
See INTERCEPTOR_USAGE.md for complete setup instructions.
- Method Name - The RPC method being called
- Status Indicator - Color-coded: green (2xx), red (4xx/5xx), yellow (pending)
- Timestamp - When the request was made
- Request: Method, URL, timestamp, full JSON payload
- Response: Status, duration, size, full JSON response
- Headers: Request and response headers
- Verify the extension is loaded at
chrome://extensions/ - Check the Network tab to confirm requests are being made
- Close and reopen DevTools, then make a new request
- Try reloading the extension (click reload icon)
The extension limits capture to the last 100 requests. Click Clear to remove old requests.
Chrome DevTools Panel
│ chrome.devtools.network
▼
Service Worker (background)
│ chrome.runtime.sendMessage
▼
Content Script
│ window.postMessage
▼
Optional Interceptor (page context)
| Browser | Status |
|---|---|
| Chrome | Fully supported |
| Edge | Fully supported |
| Firefox | Not supported (no DevTools extension API) |
| Safari | Not supported |
- Requires Chrome 88+ (Manifest V3)
- DevTools panel only - not available as a standalone popup
- Cannot intercept service worker requests
- Response streaming is captured as a single event
See CONTRIBUTING.md for development setup and guidelines.
See CHANGELOG.md for version history.
MIT License - See LICENSE for details.



