> ## Documentation Index
> Fetch the complete documentation index at: https://herm.liftaris.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Frequently asked questions about Herm

> Answers about Herm, Hermes Agent compatibility, installation, settings, eikons, skins, plugins, and where each system owns behavior.

This FAQ explains how Herm fits with Hermes Agent and Eikon. It favors current source truth over old release notes.

## Runtime and install

<AccordionGroup>
  <Accordion title="Does Herm replace Hermes Agent?">
    No. Herm is a terminal UI for Hermes Agent. Hermes Agent owns models, providers, tools, sessions, profiles, cron, skills, memory, MCP, and gateway runtime behavior.

    Herm starts and talks to the Hermes gateway so you can operate those surfaces from one terminal interface.
  </Accordion>

  <Accordion title="What Hermes Agent version does Herm support?">
    Herm tracks current Hermes Agent behavior. It does not promise compatibility with old Hermes Agent versions because gateway and session interfaces change quickly.

    If an update breaks Herm, use `/status` and `/logs` to inspect Herm and gateway versions, then update Herm to a current release.
  </Accordion>

  <Accordion title="Can I use Herm without Bun?">
    Yes. Bun is the development runtime and the recommended package runner. The npm global install is also supported.

    ```bash theme={null}
    npm i -g herm-tui
    ```

    To try Herm without a global install, run:

    ```bash theme={null}
    bunx herm-tui
    ```
  </Accordion>

  <Accordion title="Can I use Herm on Windows?">
    Windows is supported through the npm launcher. If the gateway cannot find Python or the Eikon tab reports Python-related errors, set `HERMES_PYTHON` to the full interpreter path.

    ```powershell theme={null}
    $env:HERMES_PYTHON = "C:\Python311\python.exe"
    ```
  </Accordion>
</AccordionGroup>

## Configuration and data

<AccordionGroup>
  <Accordion title="Where does Herm store settings and sessions?">
    Herm reads Hermes Agent data from `HERMES_HOME`, which defaults to `~/.hermes`. Hermes Agent stores sessions, profiles, skills, memory, cron jobs, and related runtime data there.

    Herm stores its own UI preferences in `$HERMES_HOME/herm/tui.json` by default. Set `HERM_CONFIG_DIR` to move those preferences elsewhere.
  </Accordion>

  <Accordion title="How do I change the model Herm uses?">
    Use `/model` in the chat composer to open the model picker. You can also use the Config tab, which exposes the main model slot and auxiliary model slots.

    Model behavior is still owned by Hermes Agent. Herm only provides the UI for editing the relevant settings.
  </Accordion>

  <Accordion title="How do I reload changed API keys?">
    Edit the active profile `.env` file, then run `/reload` in Herm. The gateway re-reads environment values without a full restart.
  </Accordion>
</AccordionGroup>

## Eikons

<AccordionGroup>
  <Accordion title="What is an eikon?">
    An eikon is an animated terminal avatar shown in the Herm chat sidebar. `.eikon` artifacts decode to typed NDJSON runtime records and may be stored as plain UTF-8 or gzip-compressed bytes.

    Standard states are `idle`, `listening`, `thinking`, `speaking`, `working`, and `error`.
  </Accordion>

  <Accordion title="How do I install a new eikon?">
    Open `/marketplace`, select an entry, and press `Enter` to open its actions dialog. Choose an install action, then use the dialog or Gallery to activate the entry when ready.

    For local source media or package sources, open `/gallery`, press `n`, and use the New / Install dialog.
  </Accordion>

  <Accordion title="What does eikon.liftaris.dev do?">
    [eikon.liftaris.dev](https://eikon.liftaris.dev) is a discovery gallery. It previews catalog entries and shows install instructions. Native install, use, update, source download, and deletion flows happen in Herm or the Eikon CLI.
  </Accordion>
</AccordionGroup>

## Themes, skins, and plugins

<AccordionGroup>
  <Accordion title="What are skins?">
    A skin is a Hermes Agent skin setting that Herm can mirror with a matching Herm theme and bundled eikon when available. Use `/skin [name]` to apply one.

    Switching skins does not delete local themes, eikons, or sessions.
  </Accordion>

  <Accordion title="How do I write a plugin?">
    Herm plugins are bundled TypeScript modules. A plugin exports a `HermPlugin` with an `id`, optional `enabled` flag, and `tui(api)` factory.

    Current plugins can register `app_bottom` UI, routes, command-palette actions, gateway event listeners, KV state, lifecycle cleanup, and Eikon rasterizers. User-installed plugin directories are not loaded yet.
  </Accordion>

  <Accordion title="Which plugin examples should I read first?">
    Start with the bundled `demo.clock` and `demo.files` source files, then read [Plugin examples](/plugins/examples). Those examples match the current bundled-only plugin model.
  </Accordion>
</AccordionGroup>

## Related docs

* [Quickstart](/quickstart)
* [Common issues](/troubleshooting/common-issues)
* [Eikon overview](/eikon/overview)
