Local OpenAI-compatible API server and Chrome extension that relays chat requests to the claude.ai web UI over WebSocket.
JavaScript
1
12 commits
updated Oct 7, 2026
A local OpenAI-compatible API server and Chrome extension that relays chat requests to the Claude web interface over WebSocket.

Any OpenAI-compatible client sends a request to the relay server. The server forwards it over a WebSocket to the Chrome extension, which types the prompt into a claude.ai tab you already have open and streams the reply back the same way.
.
|-- server/ Node relay server (OpenAI-compatible HTTP + WebSocket)
|-- extension/ Chrome extension (service worker + content script)
|-- OpenAI Streaming Architecture Diagram.png
cd server, then npm install and node server.js. It listens on http://127.0.0.1:8787.chrome://extensions, enable Developer mode, choose "Load unpacked" and select the extension/ folder. Keep a claude.ai tab open.http://127.0.0.1:8787/v1 as the base URL in any OpenAI-compatible client, with the model name claude-web.The server can run on a host such as Render. Set the root directory to server, the build command to npm install and the start command to node server.js. Set an API_KEY environment variable there, then set WS_URL in extension/background.js to wss://YOUR-HOST/ws?key=YOUR_KEY in your local copy and reload the extension. Clients then use https://YOUR-HOST/v1 with Authorization: Bearer YOUR_KEY. The browser with the claude.ai tab must stay open.
API_KEY when the server is reachable beyond localhost. Anyone with the key can use the connected Claude account.WS_URL (with ?key=...) in your local copy only.This project is an independent, community-developed tool and is not affiliated with, endorsed by, sponsored by, or officially connected to Anthropic or Claude.
This software is provided for personal, educational, and research purposes. Users are responsible for ensuring that their use complies with all applicable laws, regulations, and the terms of service governing any service or account they access.
Use this software only with accounts and systems that you are authorized to access. Do not use it to bypass authentication, access controls, rate limits, usage restrictions, or other technical safeguards.
The maintainers do not provide access to Claude accounts, credentials, paid services, or third-party content. The software is provided "as is," without warranties of any kind. The maintainers are not responsible for account suspension, service interruption, data loss, or other consequences resulting from use of this project.
Before using this software, review the current terms and policies of the relevant service. Those terms may change over time.
“Claude,” “Anthropic,” and related names and logos are trademarks of their respective owners. Their use in this project is for identification and descriptive purposes only and does not imply endorsement.
Local OpenAI-compatible API server and Chrome extension that relays chat requests to the claude.ai web UI over WebSocket.
JavaScript
1
12 commits
updated Oct 7, 2026
A local OpenAI-compatible API server and Chrome extension that relays chat requests to the Claude web interface over WebSocket.

Any OpenAI-compatible client sends a request to the relay server. The server forwards it over a WebSocket to the Chrome extension, which types the prompt into a claude.ai tab you already have open and streams the reply back the same way.
.
|-- server/ Node relay server (OpenAI-compatible HTTP + WebSocket)
|-- extension/ Chrome extension (service worker + content script)
|-- OpenAI Streaming Architecture Diagram.png
cd server, then npm install and node server.js. It listens on http://127.0.0.1:8787.chrome://extensions, enable Developer mode, choose "Load unpacked" and select the extension/ folder. Keep a claude.ai tab open.http://127.0.0.1:8787/v1 as the base URL in any OpenAI-compatible client, with the model name claude-web.The server can run on a host such as Render. Set the root directory to server, the build command to npm install and the start command to node server.js. Set an API_KEY environment variable there, then set WS_URL in extension/background.js to wss://YOUR-HOST/ws?key=YOUR_KEY in your local copy and reload the extension. Clients then use https://YOUR-HOST/v1 with Authorization: Bearer YOUR_KEY. The browser with the claude.ai tab must stay open.
API_KEY when the server is reachable beyond localhost. Anyone with the key can use the connected Claude account.WS_URL (with ?key=...) in your local copy only.This project is an independent, community-developed tool and is not affiliated with, endorsed by, sponsored by, or officially connected to Anthropic or Claude.
This software is provided for personal, educational, and research purposes. Users are responsible for ensuring that their use complies with all applicable laws, regulations, and the terms of service governing any service or account they access.
Use this software only with accounts and systems that you are authorized to access. Do not use it to bypass authentication, access controls, rate limits, usage restrictions, or other technical safeguards.
The maintainers do not provide access to Claude accounts, credentials, paid services, or third-party content. The software is provided "as is," without warranties of any kind. The maintainers are not responsible for account suspension, service interruption, data loss, or other consequences resulting from use of this project.
Before using this software, review the current terms and policies of the relevant service. Those terms may change over time.
“Claude,” “Anthropic,” and related names and logos are trademarks of their respective owners. Their use in this project is for identification and descriptive purposes only and does not imply endorsement.