Hermes

Point Hermes at a Tokenmaxer key.

Install and initialize Ren

Install the Ren CLI, then pair it with your account before configuring this harness.

Terminal · Install
npm install -g @renai-labs/cli
Terminal · Initialize
ren init

Complete the browser pairing flow, then return here to continue.

Connect Hermes to Tokenmaxer

Writes the configuration, backs up anything it touches, and adds only the models available from the providers you’ve configured in Tokenmaxer. Run it again after connecting another plan and it adds what is new.

Terminal
ren inference setup hermes

Test it

Terminal
hermes -z 'hello'

A reply from the configured default. `hermes doctor` will warn about the vendor prefix; ignore it.

Configure it manually

Replace <YOUR_KEY> with your key.

  • The top-level key is `model:`, not `llm:`

    A custom provider also needs `key_env` rather than an inline secret.

  • The prompt flag is `-z`

    `-p` is a subcommand selector in Hermes, not a prompt flag.

  • Set each model's context length

    Hermes automatically compresses the conversation when it reaches 50% of the configured context length. The generated `context_length` values keep compression from triggering against Hermes's smaller default window.

~/.hermes/.env

Hermes reads the key from an environment variable; a custom provider cannot hold it inline.

~/.hermes/.env
REN_INFERENCE_KEY=<YOUR_KEY>

Claude models

~/.hermes/config.yaml

Adds Ren as a custom provider.

~/.hermes/config.yaml
custom_providers:
  - name: ren
    base_url: https://llm.useren.ai/v1
    key_env: REN_INFERENCE_KEY
    api_mode: chat_completions
    model: anthropic/claude-sonnet-5
    models:
      anthropic/claude-opus-5:
        context_length: 1000000
        supports_vision: true
      anthropic/claude-sonnet-5:
        context_length: 1000000
        supports_vision: true
      anthropic/claude-fable-5-1:
        context_length: 1000000
        supports_vision: true
      anthropic/claude-haiku-4-5:
        context_length: 200000
        supports_vision: true

~/.hermes/config.yaml

Optional

Makes Ren the default. Skip it to leave your current default alone.

~/.hermes/config.yaml
model:
  provider: ren
  default: anthropic/claude-sonnet-5

ChatGPT models

~/.hermes/config.yaml

A second provider on the Responses transport, so Codex requests keep their native shape.

~/.hermes/config.yaml
custom_providers:
  - name: ren-codex
    base_url: https://llm.useren.ai/v1
    key_env: REN_INFERENCE_KEY
    api_mode: codex_responses
    model: openai/gpt-5.6-terra
    models:
      openai/gpt-6-astra:
        context_length: 272000
        supports_vision: true
      openai/gpt-5.6-sol:
        context_length: 272000
        supports_vision: true
      openai/gpt-5.6-terra:
        context_length: 272000
        supports_vision: true
      openai/gpt-5.6-luna:
        context_length: 272000
        supports_vision: true
      openai/gpt-5.5:
        context_length: 272000
        supports_vision: true
      openai/gpt-5.4:
        context_length: 272000
        supports_vision: true
      openai/gpt-5.4-mini:
        context_length: 272000
        supports_vision: true
      openai/gpt-5.3-codex-spark:
        context_length: 128000
        supports_vision: false

~/.hermes/config.yaml

Optional

Makes Ren the default. Skip it to leave your current default alone.

~/.hermes/config.yaml
model:
  provider: ren-codex
  default: openai/gpt-5.6-terra