---
title: "Hermes Agent on company accounts — selan app hermes · Selan"
description: "Run Nous Research's Hermes Agent on your company's Selan accounts: its models, connectors and skills, with selan app, by hand, or on your own server."
url: https://selan.ai/docs/hermes
updated: 2026-10-29T13:50:05+02:00
---

Apps

Docs · Hermes Agent

# Run Hermes Agent on your company's accounts

[Hermes Agent](https://github.com/NousResearch/hermes-agent) is Nous Research's terminal agent. Here it gets your company's models, connectors and skills. It is one of the [Selan apps](https://selan.ai/docs/apps).

Get started

## How do I run Hermes with selan?

```bash
selan app hermes chat
```

The first time, `selan app` prints the commit and the scripts and asks `[y/N]`: only `y` or `yes` approves, and Enter refuses. It installs Hermes, then starts it. Everything after `hermes` goes to Hermes, so a single question without the screen is:

```bash
selan app hermes chat -m gpt-6.1-sol -q "hello"
```

You need `curl` and `git`. The installer fetches `uv` and Python itself if you have none. It runs on macOS and Linux; on Windows use WSL.

## How do I run Hermes without selan?

You need an API token, which an owner mints in control under [Settings → API tokens](https://control.selan.ai/settings/access). Read the script, then:

```bash
export SELAN_TOKEN=selanct_...
curl -fsSL https://raw.githubusercontent.com/selan-ai/selan-apps/main/hermes/install.sh | bash
~/.selan/apps/hermes/run.sh chat
```

Run the copy of `run.sh` that the installer leaves, rather than piping it, so Hermes has a terminal.

## How do I run Hermes on a server?

Add the [selan-apps plugin](https://selan.ai/docs/apps#plugin) to Claude Code and ask for a deploy. `deploy-google-cloud` makes a Compute Engine VM in your project. `deploy-hostinger` uses a Hostinger VPS you already have, and it has not been tested against a real VPS.

On a server, Hermes runs as its chat gateway under systemd. A server has no session, so an owner creates an API token under [Settings → API tokens](https://control.selan.ai/settings/access) and you paste it into a line that hides it. Claude never sees it. The skill keeps it in Secret Manager or in a file only root can read, and revokes it when you remove the deploy.

The gateway does nothing until it has a chat platform and an allowed user. Only you can give those. Put them in `~/.selan/apps/hermes/home/.env` on the server, for example `TELEGRAM_BOT_TOKEN` and `TELEGRAM_ALLOWED_USERS`, and restart the service. Do not set `GATEWAY_ALLOW_ALL_USERS`.

How it works

## What does Hermes put on my disk?

Everything is under `~/.selan/apps/hermes`.

| Path | What |
| --- | --- |
| `hermes-agent/` | The Hermes release the catalog pins. |
| `venv/`, `python/`, `uv/`, `cache/` | Its Python environment and the tools that build it. |
| `home/` | Hermes's own home: `config.yaml`, sessions and memory. |
| `marketplaces/` | Shallow clones of your company's plugin marketplaces. |
| `xdg/` | What Hermes and its tools keep in `~/.local`, `~/.cache` and `~/.config`. |
| `run.sh` | A copy of the launch script. |

Nothing goes to your shell rc files, to `~/.local/bin` or to `~/.hermes`. A bare `hermes` still uses `~/.hermes`, so always start it through `run.sh` or `selan app`.

The token is never written to disk. It reaches Hermes in its environment, as `ANTHROPIC_API_KEY` with `ANTHROPIC_BASE_URL` pointing at the gateway's Anthropic Messages endpoint. `config.yaml` only names it, and only connectors on `selan.ai` that sign in with your Selan session get it. Hermes can leave a background gateway process running with the environment of the launch that started it, so every launch stops any such process first.

## Which models, connectors and skills does Hermes get?

Each launch writes `config.yaml` again from what your company has switched on, so a change reaches the next launch. Change Hermes's own behaviour with `hermes config`, not by editing that file.

-   **Models.** Your company's catalog, through the gateway. Pick one with `-m`.
-   **Connectors.** The [connectors](https://selan.ai/docs/mcp-connections) that sign in with your Selan session.
-   **Skills.** The skills in the [plugin marketplaces](https://selan.ai/glossary#marketplace) your company switched on for the CLI.

**Claude models served from a Claude subscription do not answer in Hermes.** Hermes prints “Anthropic rejected this request as malformed” and “HTTP 400: Third-party apps now draw from your extra usage, not your plan limits.” Every other model answers.

## What if Hermes did not work?

-   **It says `SELAN_TOKEN` is not set.** By hand, export a `selanct_` token first. `selan app` sets it for you.
-   **It says Hermes is not installed.** Run `install.sh` first, or use `selan app hermes`, which does both.
-   **It could not read company settings.** The token is wrong, revoked or expired, or the gateway cannot be reached. Create a new one.
-   **A model answers with “extra usage”.** That is the Claude subscription rule above. Pick another model.
-   **The server's gateway does nothing.** It needs a chat platform and an allowed user in `home/.env`.
-   **Something else.** [Ask us](https://selan.ai/contact).

## Related

-   [Apps](https://selan.ai/docs/apps): the catalog, the plugin and how an app is added.
-   [Paperclip](https://selan.ai/docs/paperclip): the other app in the catalog.
-   [Models and providers](https://selan.ai/docs/providers): which of your company's accounts serve which models.
