Use the Hermes API gateway to bring a trusted, self-hosted agent into Prompt Paul. This
guide covers setup, connection checks, common errors, and the safety decisions that come
with host-level tools.
Before you start
Make sure the Hermes Agent gateway is running.
Know the gateway API URL and API key, if the gateway requires one.
Know the Hermes profile name if you use a named profile.
Use a gateway only on a network that you trust. Hermes can run high-risk tools on the host computer.
1
Use the API gateway URL
Hermes can provide two different web services: the API gateway accepts requests from
Prompt Paul, while the dashboard provides a browser interface. Enter the API gateway
URL in Prompt Paul, not the dashboard URL. A dashboard URL returns HTML; Prompt Paul
needs JSON from API routes.
Enter the base gateway URL without /health or
/v1/capabilities. Prompt Paul adds those paths when it tests the gateway.
Use the URL and port published by your Hermes deployment; a local installation may use
a different URL from a hosted or container installation.
https://your-hermes-host.example
2
Configure Prompt Paul
Open Prompt Paul Options.
Create or select a connection profile.
Set Connection type to Hermes Agent gateway.
Enter the Hermes API gateway URL.
Enter the gateway API key if the gateway requires one.
Leave Hermes profile blank unless you created a named profile.
Confirm that you trust the remote Hermes network when you use a remote URL.
Select Save Settings, then Test Hermes connection.
The API key is optional only when the gateway does not require Bearer authentication.
A trusted network does not always remove the gateway's authentication requirement.
Allow Prompt Paul browser access
Hermes rejects browser requests by default when API_SERVER_CORS_ORIGINS is
empty. A command-line request may work while Prompt Paul receives an empty
HTTP 403 response. This is a CORS origin policy failure, not proof that the
Prompt Paul API key is wrong.
Get the exact Prompt Paul origin from the Options page or side-panel DevTools console.
Run this only in an extension page, not in an ordinary website tab:
chrome.runtime.getURL('').replace(/\/$/, '')
The result has this form:
chrome-extension://YOUR_PROMPT_PAUL_EXTENSION_ID
Add that exact value to the Hermes API_SERVER_CORS_ORIGINS allowlist. Keep
existing entries and do not use *. Restart the Hermes API service after the
change, then reload Prompt Paul from chrome://extensions.
Optional dashboard-agent request
If the Hermes dashboard has terminal access, you can ask its agent to make the change.
Replace the placeholder with the origin returned by the command above:
Configure Hermes Agent for Prompt Paul.
1. Inspect the current API_SERVER_CORS_ORIGINS configuration.
2. Add this exact origin, preserving existing entries:
chrome-extension://YOUR_PROMPT_PAUL_EXTENSION_ID
3. Do not print, change, or expose API_SERVER_KEY or any other secret.
4. Do not use a wildcard origin.
5. Show me the proposed configuration change and ask for confirmation before editing files or restarting containers.
6. After confirmation, apply the change and restart only the Hermes API service.
7. Verify that a request from the Prompt Paul origin is accepted.
Replace the placeholder extension ID after pasting. The agent should report that the origin was added, existing entries were preserved, the
API key was unchanged, the Hermes service is running, and the origin's preflight request
was accepted. A dashboard login does not replace this API-server CORS setting.
3
Test the gateway
Open this URL in a browser, replacing the placeholder with your gateway URL:
https://your-hermes-host.example/health
The gateway should return JSON, such as:
{ "status": "ok" }
The gateway root can return 404: Not Found. This is normal: the root path
is not a web page. A response from /health proves that the API gateway is
reachable.
If the gateway requires authentication, use an API client that can send this header
to test protected routes:
Authorization: Bearer YOUR_API_KEY
Common errors
The selected Hermes profile was not found.
The profile name does not exist on the Hermes gateway. Clear the
Hermes profile field, save the connection, and test it again. Add a
profile name only when that name exists in Hermes.
Hermes endpoint is required.
The endpoint is empty, or the new endpoint has not been saved. Enter the base API
gateway URL, select Save Settings, and then select
Test Hermes connection.
Unexpected token '<' or an HTML response
Prompt Paul received an HTML page instead of JSON from the gateway. Change the endpoint
to the Hermes API gateway URL. Do not use the dashboard URL.
Hermes capability discovery failed (HTTP 401)
The gateway received no valid API key. Check the gateway configuration and copy the
gateway API key into Prompt Paul. Do not use the dashboard username or password as the
gateway API key.
Hermes session creation failed (HTTP 403)
If /health works and a server-side API test succeeds, but Prompt Paul gets
an empty 403 during session creation, check the browser origin allowlist:
Run the chrome.runtime.getURL command above in Prompt Paul DevTools.
Confirm the exact chrome-extension://... value is in API_SERVER_CORS_ORIGINS.
Confirm Hermes was restarted after the configuration change.
Reload Prompt Paul from chrome://extensions and retry.
Do not replace the API key based on this error alone. Hermes can return 401 for an
invalid key but 403 for a browser origin that is not allowed.
This site cannot be reached
Check these items:
The Hermes Agent gateway is running.
The API gateway URL is correct and uses the right http or https scheme.
The API port is published for network access.
Your device can reach the host and a firewall allows the API port.
Test /health instead of the gateway root. A 404 at the root means
that the port is reachable; a connection error means that the service or network path
is not reachable.
Failed to execute 'fetch' on 'WorkerGlobalScope': Illegal invocation
This error can occur with an older Prompt Paul build. Reload or update the extension,
then test the saved Hermes profile again.
Security notes
Treat the gateway API key as a secret. Do not put it in the URL.
Do not paste the API key into support chats, screenshots, or public files. Rotate it if you expose it.
HTTP does not encrypt traffic. Use HTTP only through a trusted private overlay or VPN; use HTTPS for other networks.
Keep the dashboard and API gateway private. Do not publish them to the public internet.
Hermes tools can access files, run commands, and affect the host computer. Review every approval request.