Connect Hermes Agent to Zukko — Anthropic or OpenAI
Hermes Agent works with Claude and GPT via an API key. Here's which wizard option to pick, which base URL to set, and how to verify the Zukko connection.
4 min · · агенты · IDE
Hermes Agent connects to Zukko with a regular API key — no Claude or ChatGPT subscription needed. The key is to pick the right option in the wizard and not mix up the base URL: no /v1 for Anthropic, with /v1 for OpenAI. Below are both options step by step, ready-made configs, and common errors.
What Hermes Agent is
Hermes Agent is an autonomous AI agent from Nous Research. It runs in the terminal, has a desktop app and messaging integrations; it keeps context across sessions and creates skills as it works. The model is configured separately: Hermes supports many providers, including Anthropic and OpenAI via an API key.
With Zukko, one fetch_... key gives Hermes access to Claude, GPT, and GLM. The gateway accepts both request formats, so any model in the catalog can be called through either the Anthropic option or the OpenAI option.
If Hermes isn't installed yet, on Linux, macOS, and WSL2 it's one command:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bashFor Windows and the desktop app, see the installation guide on the Hermes website.
Step 1. Run the setup wizard
If a Hermes chat is open, exit it (Ctrl+C or /quit) and run in the terminal:
hermes modelhermes model is the full provider setup wizard: it adds providers, takes keys, and saves the config. Pick one of two options from the list:
- Anthropic — Claude models via API key or Claude Code
- OpenAI — Codex CLI or direct OpenAI API
Both work through Zukko; the only difference is the request format.
Option 1: Anthropic
In the wizard:
Anthropic
→ API key (not Claude Code OAuth)
→ API key: fetch_...
→ Model: claude-sonnet-5
The wizard saves the key to ~/.hermes/.env, so you don't need to write anything there by hand. Then set the Zukko address in ~/.hermes/config.yaml:
model:
provider: anthropic
default: claude-sonnet-5
base_url: https://api.zukko.probase_url goes without /v1: the Anthropic SDK inside Hermes adds the path itself.
Start Hermes:
hermesInside the chat, switch models with /model.
Option 2: OpenAI
In the wizard:
OpenAI
→ direct OpenAI API (not Codex CLI)
→ API key: fetch_...
→ Model: claude-sonnet-5 or gpt-5.6-sol
→ Base URL: https://api.zukko.pro/v1
The key and address live in ~/.hermes/.env:
OPENAI_API_KEY=fetch_...
OPENAI_BASE_URL=https://api.zukko.pro/v1Or set the address in ~/.hermes/config.yaml:
model:
provider: openai-api
default: claude-sonnet-5
base_url: https://api.zukko.pro/v1Here base_url goes with /v1. According to the Hermes docs, OPENAI_BASE_URL is honored only for the openai-api provider.
With this option you can use any Zukko model: claude-sonnet-5, claude-opus-5-5, gpt-5.6-sol, gpt-5.6-luna, glm-5.3, glm-5.3-flash.
Which option to choose
| Option | What to pick in the wizard | Base URL | Key |
|---|---|---|---|
| Anthropic | API key (not Claude Code OAuth) | https://api.zukko.pro | fetch_... |
| OpenAI | direct OpenAI API | https://api.zukko.pro/v1 | fetch_... |
If you mostly work with Claude, the Anthropic option is the natural fit. If you want to switch between Claude, GPT, and GLM within one provider, the OpenAI option is more convenient. More on the formats in Anthropic or OpenAI.
What it costs
Zukko prices per 1M tokens (input/output): claude-sonnet-5, claude-opus-5-5, and gpt-5.6-sol — $0.30/$0.30; gpt-5.6-luna and glm-5.3 — $0.10/$0.10; glm-5.3-flash — $0.04/$0.04. With every step the agent sends a large context to the model (instructions, memory, history), so most of the spend is input tokens. Zukko bills cached tokens at the regular input price, while vendors charge around 10% of the input price for cache reads, so for long agent sessions the real difference from the official price list is smaller than a direct price comparison suggests. Set a daily limit on the key so the agent can't spend more than planned.
Verify the connection
- Get a key on the API keys page.
- Go through the
hermes modelwizard using one of the options above. - Run
hermesand ask any question. - Open Usage in the dashboard — the request should appear there.
If it fails
401 unauthorized
The key is mistyped, revoked, or copied with spaces. Check it on the keys page.
402
Your balance has run out. Top up and retry.
404 with the Anthropic option
base_url must not include /v1. Correct: https://api.zukko.pro; wrong: https://api.zukko.pro/v1.
The OpenAI option goes to the wrong place or returns 404
Make sure that:
- The provider is
openai-api. - The base URL includes
/v1:https://api.zukko.pro/v1. OPENAI_API_KEYcontains yourfetch_...key.
The wizard offers Codex CLI or Claude Code OAuth
Those options are for official subscriptions and don't work with Zukko. Choose:
- for Anthropic — API key;
- for OpenAI — direct OpenAI API.
FAQ
Anthropic or OpenAI: which should I pick?
It's a choice of request format, not of model: the whole Zukko catalog is available through either. To see which model handles your tasks better, test it yourself — give Hermes the same task on claude-sonnet-5 and gpt-5.6-sol and compare the results and the spend in the dashboard.
How do I switch between providers?
Set up both options via hermes model. According to the Hermes docs, /model inside a chat only switches between providers and models you've already configured; new providers are added with hermes model in the terminal.
Does Hermes have a graphical interface?
According to the Hermes docs, besides the terminal there is a desktop app and messaging integrations (Telegram, Discord, and others). The model connection is configured the same way.
Does Hermes work with GLM?
Yes, through the OpenAI option: set glm-5.3 or glm-5.3-flash as the model. Note that GLM has a 128K-token context versus 1M for Claude and GPT. For the current model list, use GET https://api.zukko.pro/v1/models or the Models page in your dashboard.
A short setup cheat sheet is in the Zukko docs for Hermes.
zukko
Pay 25×
less
for Claude Code & ChatGPT
One fetch_* key and base URL api.zukko.pro — for Cursor, Claude Code, Codex, and any SDK.
Related articles
- Claude Code in Zed: connecting an external agent to your own keyIn Zed you can open Claude Code as a terminal thread, as an external agent over ACP, or configure the built-in agent. We cover each option and connect it to your key.
- Claude Code for 1C: setting up an agent to work with a configurationThe agent edits BSL text modules, not the infobase. How to dump a configuration, what goes into CLAUDE.md, how to check edits and what it costs.
- Cursor CLI: the Cursor agent in the terminal, install and setupThe Cursor agent works in the terminal as well as the editor, with the agent command. Install it, configure it, run it in scripts and compare it with Claude Code and Codex.
- Cline in Russia: installation and model setup without a foreign cardThe Cline extension runs locally, so the only question is where model requests go and how you pay for them. Step-by-step setup with one key and a task cost estimate.