Hermes Agent is an open-source AI tool from Nous Research. Connect it to a model and choose which tools it can use. Set which actions need your approval. Hermes can save notes and search past chats. It can create reusable instructions with /learn. It can also connect to chat apps and schedule tasks.
This guide covers setup and memory. It also covers skills, messaging, MCP, cron, profiles, Hermes Desktop, and safety. Commands can change. Check the official guides for current details.
Summary
Hermes Agent is an open-source tool from Nous Research. It uses an AI model and tools. It can handle chat tasks, use saved notes and instructions, connect to chat apps, and schedule work. This guide covers setup, /learn, MCP, profiles, Desktop, and approval settings. Commands can change by version. Check the official guides for current details.
What Is Hermes Agent?
Hermes helps you set up an AI agent. Choose its model and tools, then give it tasks. With the right permissions, it can search the web, read or edit files, run commands, and work with media. It can save notes and create instructions. It can also schedule tasks, connect to apps, or assign work to other agents. Hermes can run on your computer or another machine. Your settings control its access.
Why People Use Hermes Agent
Hermes combines an AI model, tools, saved notes, and reusable instructions. Use it for repeat tasks such as research, coding, writing, and reports. It can also run scheduled tasks. Give it clear instructions and limited access. Review important work.
Memory and session search
Memory files store notes Hermes can use in future chats. Session search helps find details from older chats that do not belong in those saved notes.
Skills with /learn
A skill is a set of steps for a task you repeat. With /learn, Hermes can study a web page, notes, documents, or a task walkthrough. It can save reusable instructions. Review them before you rely on them.
Messaging and scheduled work
Messaging gateways connect Hermes to supported chat apps. Cron schedules repeat tasks. Test each task in a live chat before you set it to run on its own.
Who Should Use Hermes Agent?
Hermes suits technical founders and teams that repeat digital tasks. It can help engineering, marketing, research, content, operations, and IT teams.
Founders can pair Hermes with our business startup guide. It shows how an agent can handle repeatable tasks.
Hermes is not ideal if you only want a clean chatbot with no setup.
It is also not ideal if you want to give an AI full access to private files without learning the safety model first.
Give Hermes only the permissions each task needs. Profiles keep its settings and data separate. They do not sandbox filesystem access.
How Hermes Agent Works
The Model
Hermes needs a configured provider and model before it can respond.
You can configure providers with:
hermes model
You can use hosted models, local models, custom endpoints, or provider routers. A beginner should use the easiest stable provider first.
Do not start by tuning routing, fallback, local models, and custom endpoints. Get one clean model working first.
The Tools
Tools let Hermes work with files, commands, web pages, and connected services. Choose tools for each platform with:
hermes tools
A Telegram bot may need fewer tools than a local coding agent. Match its toolset to the job.
| Tool Area | What It Enables |
|---|---|
| Web | Search and extract page content |
| Terminal and files | Run commands, read files, patch files |
| Browser | Navigate and inspect web pages |
| Media | Vision, image generation, text-to-speech |
| Memory | Save and search long-term context |
| Automation | Cron jobs and message delivery |
| Delegation | Spawn child agents |
| MCP | Connect outside tool servers |
The Memory
Hermes uses bounded memory.
Its two main memory files are:
| Store | Purpose |
|---|---|
MEMORY.md | Agent notes about projects, tools, lessons, and environment facts |
USER.md | User profile, preferences, style, role, and expectations |
Hermes always loads its memory files. Session search covers more past chat details and runs when needed.
A good memory entry is compact:
User writes for a general audience. Use clear, simple words, short sentences, and no filler.
A bad memory entry is vague:
User likes writing.The Skills System
Skills are on-demand knowledge documents.
They teach Hermes how to do a task. They can include steps, rules, warnings, examples, and verification checks.
Skills can be used as slash commands:
/plan create a rollout plan for the payment refactor
Or:
/github-pr-workflow review this change and prepare a PR
Use skills for workflows you run more than once.
The Beginner Path: Your First Working Hermes Setup
Start with one working setup: install Hermes, choose a provider, run a chat, and resume the session. Add other features after this works.
Step 1: Install Hermes
On Linux, macOS, WSL2, or Termux, the common install path is:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
You can also install with pip:
pip install hermes-agent
hermes postinstallStep 2: Choose a Model
Run:
hermes model
This opens the provider and model setup flow.
If you want the fastest guided path, use:
hermes setup --portalStep 3: Start Chatting
Run:
hermes
Or use the TUI:
hermes --tui
Test with something concrete:
Check my current directory and tell me what project this looks like.
A good first test should prove that:
- Hermes starts
- The model responds
- Tools are available
- It can inspect your environment
- You can continue the chat
Step 4: Resume the Session
Run:
hermes --continue
Or:
hermes -c
This confirms session storage works.
If this fails, fix it before moving to bots, cron, or MCP.
Hermes Desktop
Hermes Desktop is a native app built around the same agent used by the CLI and gateway. The official guide lists support for macOS with Apple silicon, Windows, and Linux. Desktop shares the Hermes configuration, sessions, skills, and memory with the CLI.
When Hermes Desktop Makes Sense
Use Hermes Desktop when you want the power of Hermes without living in the terminal all day.
Use Desktop to manage chats, projects, and files. You can also change settings, models, and profiles. Desktop may suit you if you prefer not to use a terminal.
Desktop vs CLI vs TUI vs Dashboard
Hermes has several surfaces. They are not all the same.
Hermes offers several interfaces:
- Hermes Desktop: Native app for macOS, Windows, and Linux. Use it to manage chats, projects, settings, and files.
- CLI (
hermes): Run scripts and control Hermes from the terminal. - TUI (
hermes --tui): Use a more interactive terminal interface. - Web Dashboard: Manage keys, sessions, and settings in a browser.
- Messaging Gateway: Connect Hermes to apps such as Telegram, Discord, Slack, or WhatsApp. Send tasks or receive alerts through chat.
Use Desktop for visual work. Use the CLI for scripts or terminal control. Gateways connect Hermes to chat apps. Open the dashboard in a browser to manage your installation.
How to Install Hermes Desktop
Download Hermes Desktop for macOS or Windows from the official site.
On Linux, macOS, or Windows, you can include Desktop in the CLI install:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash -s -- --include-desktop
If you already have Hermes installed, run:
hermes desktop
That uses your current Hermes setup.
What You Can Do in Hermes Desktop
Use Desktop to chat and watch tool activity. Manage projects, files, and settings. It also uses your existing skills and memory.
Best Hermes Desktop Workflow
Here is a simple way to use Desktop well:
- Install Hermes.
- Run the setup flow.
- Confirm one clean chat works.
- Open Hermes Desktop.
- Start a new session for one clear task.
- Add project context or files.
- Turn repeated tasks into skills with
/learn. - Use CLI or gateway only when they are the better fit.
Desktop should not replace every interface.
Think of it as the main visual workspace. The CLI is still best for scripts and deep terminal work. Messaging gateways are still best for remote access and alerts.
Desktop Safety Notes
Desktop looks friendlier than the terminal, but it is still the same agent.
That means the same safety rules apply:
- Do not give it broad access on day one.
- Keep approvals on.
- Use sandboxed backends for risky work.
- Review memory and skill writes if the workflow is sensitive.
- Be careful with connected tools, files, and credentials.
- Use separate profiles for separate jobs.
The interface does not change what tools or permissions the agent has.
A Practical Learning Sequence
- Install Hermes, configure one model, and confirm you can resume a session.
- Add only the project context and durable memory Hermes needs.
- Teach one repeat task and review the skill created with
/learn. - Connect one messaging platform or schedule one low-risk job.
- Add MCP tools or separate profiles only when the workflow needs them.
The Hermes Command Map
Hermes has two main command surfaces:
- Shell commands, like
hermes model - In-chat slash commands, like
/model
This difference matters.
Essential Shell Commands
| Command | What It Does |
|---|---|
hermes | Start the default chat |
hermes --tui | Start the terminal UI |
hermes chat -q "..." | Run a one-shot query |
hermes -z "..." | Return only the final answer, useful for scripts |
hermes model | Add or choose providers and models |
hermes setup | Run setup wizard |
hermes setup --portal | Set up Nous Portal and Tool Gateway |
hermes doctor | Diagnose config and dependency problems |
hermes gateway setup | Configure messaging apps |
hermes gateway run | Run gateway in foreground |
hermes tools | Configure toolsets |
hermes skills | Browse and manage skills |
hermes mcp | Manage MCP servers |
hermes cron | Manage scheduled jobs |
hermes sessions | Browse and manage sessions |
hermes profile | Manage profiles |
hermes security audit | Run dependency and supply-chain audit |
hermes backup | Back up Hermes home |
hermes update | Update Hermes |
Essential Slash Commands
| Slash Command | Why It Matters |
|---|---|
/help | See available commands |
/status | Show current model, profile, session, cwd, usage, and recap |
/new | Start a new session |
/resume | Resume a named session |
/sessions | Browse sessions |
/model | Switch between configured models |
/learn | Create a skill from docs, URLs, notes, folders, or workflows |
/skills | Search, install, inspect, approve, or reject skills |
/memory | Review or approve memory writes |
/cron | Manage scheduled tasks |
/handoff | Move current CLI session to a messaging platform |
/compress | Summarize long context |
/rollback | Restore from checkpoints |
/goal | Set a standing goal Hermes keeps working toward |
/subgoal | Add criteria to an active goal |
/background | Run a prompt in a separate background session |
/steer | Add a mid-run nudge without interrupting |
/yolo | Disable approval prompts for the session |
/voice | Toggle voice mode |
/usage | Show token and cost usage |
Installed skills can also become dynamic slash commands.
If you create a skill named seo-brief, you may be able to call it like this:
/seo-brief create a blog brief for "best AI tools for small business"Messaging Gateways: Use Hermes Where You Already Work
A gateway connects Hermes to supported messaging apps. Send tasks through them or receive alerts there.
What Gateways Are For
Use a gateway when you want Hermes to:
- Send you reports
- Receive tasks from your phone
- Work in team channels
- Trigger workflows from chat
- Deliver alerts
- Continue sessions outside the terminal
- Let approved users interact with an agent
Common Gateway Patterns
Personal Telegram Assistant
Use for:
- Daily briefs
- Reminders
- Quick research
- Link summaries
- Server alerts
- Voice notes
Discord Team Bot
Use for:
- Developer support
- Repo summaries
- Release notes
- Community workflows
- Moderator support
Slack Work Assistant
Use for:
- Standups
- PR summaries
- Support triage
- Incident reports
- Team reminders
Email Assistant
Use for:
- Inbox summaries
- Draft replies
- Follow-up reminders
- Report delivery
Home Assistant Bot
Use for:
- Smart home control
- Status questions
- Home alerts
- Routine automation
Gateway Safety
Gateways need strict permissions.
Use admin and user command splits when your platform supports them.
A team member who only needs /help, /status, and /new should not have /yolo, /model --global, or broad tool access.
Also avoid giving risky toolsets to public or shared channels.
For example:
- A private Telegram bot can use research tools.
- A coding profile can use terminal and file tools.
- A team Slack bot may only need summaries and reports.
- A public Discord bot should have the smallest toolset possible.
Advanced Hermes Agent Use Cases
Use Case 1: AI Research Analyst
Workflow:
- Create a
researcherprofile. - Enable web tools.
- Create a research skill with
/learn. - Schedule daily or weekly research with
/cron. - Deliver results to Telegram or Slack.
Example:
/learn my research workflow: define the question, search primary sources, compare claims, extract useful data, cite sources, and end with clear next steps.
Then:
/cron add "every Monday at 8am" "Research new AI agent security papers and send me a clear summary"
This automates the research steps in our AI-powered research hack guide.
Use Case 2: SEO Content Operator
Workflow:
- Create a
marketerprofile. - Add your writing rules to
USER.md. - Create skills for blog briefs, outlines, and final edits.
- Use
@urlfor competitor pages. - Use
/learnto save your structure. - Use cron for content monitoring.
Example:
/learn how I create publish-ready SEO blog posts: keyword intent, reader pain, TL;DR, strong headings, examples, objections, FAQs, and final polish.
If your team also makes graphics, keep approved font files in one shared place. See our guide to managing fonts on iPhone and iPad.
Use Case 3: Coding Agent
Workflow:
- Create a
coderprofile. - Add
AGENTS.mdto your repo. - Enable terminal and file tools.
- Use checkpoints.
- Use
@difffor reviews. - Use subagents for research or refactors.
Example:
Review @diff for bugs, security issues, missing tests, and unclear code.
Turn on checkpoints:
hermes chat --checkpoints
Checkpoints can snapshot a project before risky file changes and restore with /rollback.
Use Case 4: Operations Bot
Workflow:
- Create an
opsprofile. - Run it on a VPS or Docker.
- Connect Slack or Telegram.
- Add safe monitoring scripts.
- Use cron for checks.
- Use
hermes sendfor alerts.
Example:
hermes send --to slack:#ops --subject "[Server]" --file /tmp/report.md
Use this for clear, low-risk alerts before you let Hermes make changes.
Use Case 5: Multi-Agent Workbench
Advanced users can use profiles, kanban, delegation, and background sessions.
Subagent delegation lets Hermes spawn child agents with isolated context and restricted toolsets. Each child agent gets only the goal and context passed to it, and only the final summary comes back to the parent.
Agents can handle separate tasks. Assign research or code review to one agent. Ask another to inspect a different set of files or compare approaches.
Example:
Research three ways to build this feature. Delegate one agent to backend risks, one to frontend UX, and one to deployment concerns. Bring back a combined recommendation.Safety Before You Grant Access
Hermes can read files, run commands, call connected tools, and retain selected memory. Check each environment’s permissions before connecting private data or production systems.
Do These Things First
- Use Docker, SSH, Modal, Daytona, or a VPS for risky work.
- Keep approval prompts on.
- Avoid
/yolounless the environment is disposable. - Limit tools per platform.
- Use allowlists in messaging apps.
- Review skills before trusting them.
- Turn on memory and skill write approval if you want more control.
- Use separate profiles for separate jobs.
- Use checkpoints for code work.
- Never give production access on day one.
The Prompt Injection Problem
Persistent agents can retain harmful instructions. They may come from memory, skills, files, web pages, messages, or scheduled jobs.
Limit Hermes’s access. Review changes to memory and skills. Keep approval on for risky actions. Run important tasks in a sandbox. Treat instructions from files, pages, and messages as untrusted until you verify them.
What happens if you choose “Always allow” for a command?
Hermes records each approved command pattern in a permanent allowlist. It stores the list in ~/.hermes/config.yaml. Matching commands can run without another prompt in later sessions. Allow only patterns you trust. For unfamiliar commands, approve once or for the current session. See the official Hermes security guide.
Common Hermes Agent Mistakes
Mistake 1: Installing Everything Before Testing Anything
Do not start with MCP, five gateways, cron jobs, and custom skills.
Start with one clean chat.
Mistake 2: Giving the Same Tools to Every Platform
Your local coding agent may need file and terminal tools.
Limit tools on a public Discord bot. Give it no file or terminal access unless its tasks require them.
Mistake 3: Letting Memory Fill With Junk
Keep Hermes memory small by saving durable facts.
Save durable facts, not random chat notes.
Mistake 4: Saving an untested skill
Create a skill when you need the same steps more than once. Test it on a new input and review the result before relying on it.
Mistake 5: Using Profiles as Sandboxes
Profiles separate Hermes state.
Profiles do not restrict file access on their own.
Mistake 6: Automating before you test
Run the task in chat before scheduling it. Review the first few results. Start with low-risk tasks.
Before You Automate Work
Before you schedule a task:
- Install Hermes, configure one provider, and confirm
hermes doctorreports no blocking errors. - Start a chat, check
/status, and confirm you can resume the session. - Give the agent only the project context and tools the task needs.
- If the task repeats, create a skill with
/learnand test it on a new input. - Test the task in chat before creating a cron job.
- For messaging, limit who can use the bot and which tools it can access.
- Add MCP servers or profiles only when the workflow needs them.
- Keep approvals on and use checkpoints before file or terminal changes.
Sources
- Hermes Agent documentation
- Hermes Agent GitHub repository
- Hermes Agent command reference
- Hermes Agent slash commands reference
- Hermes Agent Desktop app guide
- Hermes Agent memory guide
- Hermes Agent skills guide
- Hermes Agent security guide
- Sleeper Channels and Provenance Gates: Persistent Prompt Injection in Always-on Autonomous AI Agents
Use and trademark notes
This article is for education. Nous Research did not endorse or sponsor it. This article has no affiliation with Nous Research.
Hermes Agent is open-source software. Commands, features, and install steps can change between releases. Confirm current details in the official documentation before you install or automate.
Protect agents with real tool access. Use sandboxes, approvals, allowlists, and limited permissions. Take these steps before connecting production systems.
Hermes Agent, Nous Research, and other product names are trademarks. Their owners hold those marks.