The 47 Built-In Hermes Tools Claude Code Doesn't Have (and 3 It Does Better)
A toolset comparison between Hermes and Claude Code. Hermes ships 47 built-in tools for general agent work; Claude Code's narrower set is tighter for code.
Hermes and Claude Code overlap in purpose but diverge sharply in breadth. Hermes is built for general server-resident agent work — research, comms, scheduling, file work, web scraping, image generation. Claude Code is built for code. The tool inventories reflect that difference, and the difference is instructive.
This piece is an honest comparison. Not "Hermes has more tools, therefore Hermes is better." Tool count is a red herring. What matters is which tools your workflow actually needs, and how well each runtime integrates them.
Key Takeaways
- Hermes ships 47 built-in tools plus native MCP support for adding more.
- Claude Code ships a narrower set focused on code work: Read, Edit, Write, Bash, Grep, Glob, Task, WebFetch, WebSearch, plus MCP.
- Hermes unique tools skew toward general knowledge work: web scraping, TTS, image generation, scheduling, messaging.
- Claude Code's Read, Edit, and Bash are tightly integrated with the editing harness — the agent can iterate on a file in place in a way Hermes has to orchestrate explicitly.
- MCP is native in both runtimes — the same MCP servers work in either, which narrows the gap for anything you can ship as an MCP.
- Pick by use-case, not by count. A broad server agent benefits from Hermes; a coding session benefits from Claude Code.
What Ships in Hermes
The 47 built-in tools cover a deliberate breadth. A representative non-exhaustive list:
- Web: search via Exa, scrape via Firecrawl, fetch a URL, parse RSS.
- Files: read, write, edit, list, glob, move, delete.
- Shell: bash execution in six terminal backends (local, Docker, SSH, Daytona, Singularity, Modal).
- Media: TTS via edge-tts, image generation via fal, image description, OCR.
- Scheduling: cron scheduler for natural-language recurring tasks.
- Messaging: send via eight gateways (Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Feishu, DingTalk).
- Memory: persist, recall, search memory entries.
- Delegation:
delegate_task()to subagents, including bundledclaude-codeskill for Claude Code subagent spawning. - Data: JSON and CSV manipulation, simple charting.
This is genuinely useful if your agent lives on a VPS and does a mix of research, writing, scheduled reports, and occasional code tasks.
What Ships in Claude Code
Claude Code's tool list is shorter and more focused:
- Read — read a file, with line numbers.
- Edit — exact-string replacement in a file with preserved indentation.
- Write — create a new file or replace an existing one.
- Bash — run shell commands, with sandboxing.
- Grep / Glob — search by content and by path pattern.
- Task — dispatch a subagent for a sub-task.
- WebFetch / WebSearch — fetch a URL, search the web.
- NotebookEdit — edit Jupyter notebook cells.
Plus MCP for everything else. That is effectively the entire harness.
Where Each Wins
Three honest observations.
Hermes wins on breadth. If you need an agent that wakes up on a cron, scrapes a page, summarizes it into a markdown memo, sends the memo to your Telegram, and optionally reads it aloud as a voice note, Hermes does that with built-ins. Claude Code would need MCP servers for most of those steps and would not be designed around the cron case.
Claude Code wins on code integration. The Read/Edit loop is tighter than the equivalent Hermes filesystem tools. The Edit tool's exact-string replacement with preserved indentation is a quiet win over "write the whole file again" patterns. The Task tool's subagent model is optimized for parallel code exploration. Bash is sandboxed with permission prompts in a way that fits iterative coding.
MCP levels the playing field. Both runtimes speak MCP natively. Any capability shipped as an MCP server runs in both. The unique-to-Hermes tools matter mostly when you need capability quickly without writing or finding an MCP server for it. For mature capabilities with good MCP implementations, the "Hermes has more built-ins" point gets weaker.
A Side-by-Side Table
| Capability | Hermes | Claude Code |
|---|---|---|
| Read/Edit/Write | Yes (generic) | Yes (editor-integrated) |
| Bash | Yes (6 backends) | Yes (sandboxed) |
| Grep/Glob | Yes | Yes |
| Web search | Exa built-in | WebSearch built-in |
| Web scrape | Firecrawl built-in | Via MCP |
| TTS | edge-tts built-in | Via MCP |
| Image gen | fal built-in | Via MCP |
| Cron scheduling | Built-in | Via external scheduler |
| Messaging gateways | 8 built-in | Via MCP |
| Subagent delegation | delegate_task() | Task tool |
| MCP support | Native | Native |
| Notebook editing | Via filesystem | NotebookEdit built-in |
Neither column is "more right" than the other. The columns reflect what the runtime was built for.
The 3 Things Claude Code Does Better
Being concrete about Claude Code's edge:
- Edit. The exact-string replacement semantics with indentation preservation is engineered for code. Hermes's filesystem write tools are more general-purpose and do not have the same "surgical diff" ergonomics.
- Task. The subagent dispatch pattern is woven into the harness. You get parallel exploration with per-subagent tool permissions and clean output reporting. Hermes has
delegate_task(), which is excellent for general delegation, but Claude Code's Task tool is specifically tuned for code exploration. - Bash permission flow. Sandboxed execution with per-command permission prompts fits iterative coding. Hermes has backends — Docker, SSH, Modal, Daytona — that solve a different problem (where the command runs), which is powerful for infrastructure work but heavier than a quick confirm-and-go for a
pytestrerun.
How to Decide
Three rough rules of thumb.
- Coding-heavy work in a single repo: Claude Code. The tight Read/Edit/Bash loop is the right tool.
- General server agent, cron jobs, messaging, research: Hermes. The built-in breadth saves integration time.
- Mixed: run both. Hermes can spawn Claude Code as a subagent for code tasks via its bundled
claude-codeskill. The agents hand off work cleanly.
For the cross-runtime delegation pattern, see Spawning Claude Code as a Hermes Subagent. For the philosophical framing of when to pick each, see Hermes vs Claude Code: When to Use Which.
Sources
- Hermes Agent repository — https://github.com/NousResearch/hermes-agent
- Hermes documentation — https://hermes-agent.nousresearch.com/docs/
- Anthropic Claude Code documentation — https://docs.anthropic.com/claude/docs/claude-code
- Model Context Protocol — https://modelcontextprotocol.io
- Series: Hermes vs Claude Code: When to Use Which
- Series: Spawning Claude Code as a Hermes Subagent
- Series: MCP in Hermes vs MCP in Claude Code Compared