Terminal tutorial

Install Hermes CLI and connect ScriptEngine.

Install the official Hermes command-line client, configure https://scriptengine.org/v1 as a custom provider, and prove the connection with one request.

  • Platform-by-platform setup
  • Maintained by ScriptEngine
  • Updated July 29, 2026 · Hermes source 0157180

Outcome

What you will configure

Hermes Agent can use any provider that implements the OpenAI-compatible /v1/chat/completions interface. ScriptEngine provides that interface at a single base URL, so the setup requires only an endpoint, an API key and a model ID.

The completed Hermes provider

Provider: Custom endpoint
Base URL: https://scriptengine.org/v1
API key: your private sk-se-… key
Model: a model ID currently available in ScriptEngine

Hermes queries the authenticated ScriptEngine /v1/models endpoint during setup. Choose an ID from that result rather than copying an old model name from another tutorial.

Step 1

Check the requirements

Before installing Hermes, prepare:

  • A supported system: Windows 10/11, Apple-silicon macOS, Linux or Windows through WSL2.
  • A ScriptEngine account with available credits.
  • The full ScriptEngine API key shown after provisioning. It begins with sk-se-.
  • A current model ID from the ScriptEngine model list.
Protect the API key

Use placeholders in screenshots and shell history. Do not put the real key in a Git repository, support ticket, public prompt or shared configuration example.

Hermes’ official installer handles Python, Node.js and its other managed dependencies. Linux requires Git, curl and xz-utils; see the official installation guide for distro-specific details.

Step 2

Install Hermes CLI

Choose your operating system. These are the current commands published by Nous Research.

Linux or Apple-silicon macOS

Open Terminal and run the official shell installer:

Terminal
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

Reload the shell when installation finishes:

Terminal
source ~/.bashrc  # Use ~/.zshrc when your shell is zsh
Mac compatibility

The current Hermes platform matrix lists Apple-silicon macOS as supported and Intel macOS as unsupported.

Native Windows 10 or 11

Open PowerShell or Windows Terminal and run:

PowerShell
iex (irm https://hermes-agent.nousresearch.com/install.ps1)

The installer does not require administrator rights. Open a new terminal after it finishes so the updated user PATH is available.

Windows through WSL2

Run the Linux installer inside the WSL terminal—not in Windows PowerShell:

WSL terminal
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
source ~/.bashrc

Native Windows and WSL2 installations have separate Hermes data directories. Configure ScriptEngine in the environment where you plan to run Hermes.

Step 3

Verify the installation

Run Hermes’ built-in diagnostic before adding the provider:

Terminal
hermes doctor

If the shell reports hermes: command not found, start a new terminal first. On Linux or macOS, reload ~/.bashrc or ~/.zshrc and confirm that ~/.local/bin is on your PATH.

Step 4

Connect Hermes to ScriptEngine

Run the full provider wizard outside an active Hermes chat:

Terminal
hermes model

Then enter the following values:

Hermes promptValue
ProviderThe option whose label begins Custom endpoint
API base URLhttps://scriptengine.org/v1
API keyYour complete sk-se-… key
API compatibility modeChat Completions
Model nameChoose an ID returned by the authenticated model probe
Context lengthLeave blank for auto-detection unless ScriptEngine publishes a verified limit
Display nameScriptEngine

Hermes has changed the parenthetical wording beside Custom endpoint between releases. It may mention entering a URL manually or self-hosted / VLLM endpoints; both labels lead to the custom base-URL flow used here.

Enter the base URL, not a request path

Do not append /chat/completions. Do not enter the homepage URL without /v1. The correct value is exactly https://scriptengine.org/v1.

Hermes saves the provider, base URL and model in config.yaml, while the current installer stores the secret separately in ~/.hermes/.env (or the native Windows Hermes home). The settings survive restarts.

Alternative

Configure it manually

Use this fallback when the interactive wizard cannot run. Edit ~/.hermes/config.yaml and ~/.hermes/.env on Linux, macOS or WSL2. Native Windows uses the equivalent files under %LOCALAPPDATA%\hermes.

.env
HERMES_CUSTOM_SCRIPTENGINE_ORG_API_KEY=YOUR_SCRIPTENGINE_API_KEY
config.yaml
model:
  provider: custom
  default: YOUR_MODEL_ID
  base_url: https://scriptengine.org/v1
  api_key: ${HERMES_CUSTOM_SCRIPTENGINE_ORG_API_KEY}
  api_mode: chat_completions

Replace both placeholders locally. Restrict access to the .env file and never commit it or publish a screenshot containing the key.

For current Hermes versions, use model.base_url for a custom provider. Do not rely on the legacy OPENAI_BASE_URL environment-variable route for this setup.

Step 5

Test the connection

Start a one-shot Hermes chat:

Terminal
hermes chat -q "Reply with exactly: ScriptEngine connected"

A normal model response containing ScriptEngine connected confirms that Hermes loaded the custom provider, authenticated the key and reached the selected model.

Optional: test the API key directly

This request checks the ScriptEngine key and model-list endpoint independently of Hermes:

Linux / macOS / WSL2
export SCRIPTENGINE_API_KEY="YOUR_SCRIPTENGINE_API_KEY"
curl https://scriptengine.org/v1/models \
  -H "Authorization: Bearer $SCRIPTENGINE_API_KEY"
Windows PowerShell
$env:SCRIPTENGINE_API_KEY = "YOUR_SCRIPTENGINE_API_KEY"
curl.exe https://scriptengine.org/v1/models `
  -H "Authorization: Bearer $env:SCRIPTENGINE_API_KEY"

A successful JSON model list confirms that the key and base service are reachable. Remove the temporary environment variable or close that terminal when finished.

During a chat

Switch ScriptEngine models

Once the custom provider exists, type /model inside a Hermes session to choose among configured providers and models:

Hermes chat command
/model

Choose the saved ScriptEngine provider, then select a discovered model. The terminal command hermes model performs provider setup; the in-chat command only switches among providers and models that are already configured.

Fix common errors

Troubleshooting

hermes: command not found
Open a new terminal. On Linux or macOS, reload your shell profile and verify that ~/.local/bin is on PATH. Then run hermes doctor.
HTTP 401 or “invalid API key”
Re-run hermes model and replace the key with the complete active sk-se-… value. Check for spaces, quotes copied into the value, or a rotated/revoked key.
HTTP 404 or endpoint not found
Confirm the base URL is exactly https://scriptengine.org/v1. A duplicated /v1/v1 or an appended /chat/completions in the base-URL field will route incorrectly.
Model not found
Use the exact model ID—not its display label. Check the ScriptEngine Models list or call /v1/models with the API key, then update the provider through hermes model.
Hermes still uses the old provider
Exit the active chat, run hermes model again, and start a fresh session. Inside a session, use /model and choose the saved ScriptEngine provider explicitly.

Verification

Official sources

Hermes is developed by Nous Research; ScriptEngine is a separate custom API provider. Version-sensitive installation and configuration details were checked against these official sources:

Continue learning

Prefer a native interface?

Install Hermes Desktop, reuse the same ScriptEngine provider, and continue from a chat-first GUI.

Open guide