Harness setup

Hermes Agent

Route a Hermes provider through Sleev by setting its base URL variable in $HERMES_HOME/.env.

Providers built into Sleev

These providers are built into Sleev and can use Hermes base URL variables directly. See all providers supported by Sleev . Set the matching Hermes base URL variable to its Sleev route, and add only the providers you use to $HERMES_HOME/.env:

Providers not built into Sleev

For a Hermes provider not listed above, route its complete upstream URL through Sleev. If Hermes exposes a base URL variable for it, use the Hermes provider reference to find the variable and default URL, then put that URL after /sleev/hermes/. For example:

Custom upstreams

If Hermes does not expose a base URL variable for an endpoint, define a named custom provider. Put the complete upstream API base after /sleev/hermes/:

Replace the model and URL placeholders, and store CUSTOM_PROVIDER_API_KEY in $HERMES_HOME/.env. Use chat_completions, codex_responses, or anthropic_messages for the matching endpoint format. For Anthropic, omit a terminal /v1.

Codex OAuth

Codex OAuth requires a manual edit because Hermes currently ignores HERMES_CODEX_BASE_URL in credential-pool paths. See Hermes issue #40913 . Sleev does not modify auth.json because Hermes owns the rotating OAuth tokens in that file.

Warning: This is a workaround, not a stable configuration interface. Hermes manages and may regenerate auth.json; signing in again or upgrading Hermes can remove the Sleev URL. Check the pool URL again after either.

Stop Hermes, then open $HERMES_HOME/auth.json. Keep every existing field in each credential_pool.openai-codex entry and change only its base_url. This fragment shows the location:

Do not replace the entry or change its access or refresh tokens. If the file also contains a legacy providers.openai-codex entry, remove it; Hermes uses it to restore the direct OpenAI URL.