Skip to content

feat: add Hermes CLI agent detection and configuration#9833

Open
KuaaMU wants to merge 3 commits intowarpdotdev:masterfrom
KuaaMU:feat/add-hermes-cli-agent
Open

feat: add Hermes CLI agent detection and configuration#9833
KuaaMU wants to merge 3 commits intowarpdotdev:masterfrom
KuaaMU:feat/add-hermes-cli-agent

Conversation

@KuaaMU
Copy link
Copy Markdown

@KuaaMU KuaaMU commented May 1, 2026

Summary

Add Hermes (Nous Research's AI coding agent) to Warp's CLI agent framework.

Motivation

Fixes #9745. When users run hermes or hermes chat in Warp, the terminal now correctly detects it as a CLI agent and shows the agent toolbelt (Rich Input, slash commands, etc.), matching the behavior of Claude Code, Gemini CLI, Codex, and other supported agents.

Changes

  • Add CLIAgent::Hermes variant with command prefix hermes
  • Map to CLIAgentType::Hermes for telemetry tracking
  • Set brand color to Nous Research purple (#7C3AED)
  • Support Agents skill provider
  • No bundled logo yet (icon returns None) — maintainers can add an official SVG later

Verification

  1. Build: cargo check should pass with the new variant
  2. Detection: typing hermes or hermes chat in a Warp terminal should activate the CLI agent toolbar
  3. Telemetry: CLIAgentType::Hermes events should be reported correctly

@cla-bot
Copy link
Copy Markdown

cla-bot Bot commented May 1, 2026

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have the users @KuaaMU on file. In order for us to review and merge your code, each contributor must visit https://cla.warp.dev to read and agree to our CLA. Once you have done so, please comment @cla-bot check to trigger another check.

@github-actions github-actions Bot added the external-contributor Indicates that a PR has been opened by someone outside the Warp team. label May 1, 2026
@oz-for-oss
Copy link
Copy Markdown
Contributor

oz-for-oss Bot commented May 1, 2026

@KuaaMU

I'm starting a first review of this pull request.

I reviewed this pull request and requested human review from: @zachbai.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Copy link
Copy Markdown
Contributor

@oz-for-oss oz-for-oss Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR adds Hermes to the CLI agent enum, command detection metadata, skill-provider filtering, brand color configuration, and telemetry mapping.

Concerns

  • No blocking correctness or security concerns found in the changed lines.

Verdict

Found: 0 critical, 0 important, 0 suggestions

Approve

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

@oz-for-oss oz-for-oss Bot requested a review from zachbai May 1, 2026 18:08
@KuaaMU
Copy link
Copy Markdown
Author

KuaaMU commented May 1, 2026

@cla-bot check

@cla-bot cla-bot Bot added the cla-signed label May 1, 2026
@cla-bot
Copy link
Copy Markdown

cla-bot Bot commented May 1, 2026

The cla-bot has been summoned, and re-checked this pull request!

@xsourabhsharma
Copy link
Copy Markdown

Thank you for the contribution!

  • Nice work! This looks great and matches what I was planning to implement as well.
  • I had also started working on a fix for this from issue #9745, but your PR already covers the Hermes CLI detection and configuration, so I'll pause my changes and follow this one instead.
  • Happy to help test or review if needed.

Copy link
Copy Markdown
Contributor

@zachbai zachbai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the change

@xsourabhsharma
Copy link
Copy Markdown

@KuaaMU Hey! Thanks for this PR the Hermes CLI agent integration looks solid and matches the existing patterns well.

However, your branch currently has a merge conflict that needs to be resolved before this can be merged into master. The conflict appears to be in:

  • app/src/terminal/cli_agent_sessions/listener/mod.rs — this file has overlapping changes with recent commits on master.

Could you please:

  1. Rebase or merge master into your branch (KuaaMU:feat/add-hermes-cli-agent) locally.
  2. Resolve the conflict in listener/mod.rs the conflict is likely around the create_handler match block where the CLIAgent::Hermes handler is being added, and master may have added new handlers after your branch was created.
  3. Run cargo check to make sure everything still builds cleanly after the resolution.
  4. Force-push the updated branch to GitHub.

Once the conflict is resolved, the CI checks will re-run and this PR should be ready to merge. Zachbai has already approved the changes, so after the conflict resolution this should be good to go!

Let me know if you need any help resolving it.

KuaaMU and others added 2 commits May 6, 2026 14:09
Add support for Hermes (Nous Research's AI coding agent) to the CLI
agent framework:

- Add CLIAgent::Hermes variant with command prefix 'hermes'
- Map to CLIAgentType::Hermes for telemetry
- Set brand color to Nous Research purple (#7C3AED)
- Support Agents skill provider
- No bundled logo (icon returns None), maintainers can add later

Fixes warpdotdev#9745

Signed-off-by: KuaaMU <[email protected]>
@KuaaMU KuaaMU force-pushed the feat/add-hermes-cli-agent branch from c3a602a to a0ad5b8 Compare May 6, 2026 06:10
@KuaaMU
Copy link
Copy Markdown
Author

KuaaMU commented May 6, 2026

Hey! Just pushed the fix. The conflict was because master added the new Vibe variant in the same match arms where we added Hermes — basically two PRs touching the same spots.

What I did: created a fresh branch off latest master, cherry-picked our 2 commits, and manually resolved all the conflicts. Both Hermes and Vibe are now properly included across all the match statements.

Couldn't run cargo check locally due to incomplete checkout on my end, but the changes are purely mechanical — just adding enum variants to exhaustive match arms, no logic changes. CI should confirm it builds fine.

Let me know if anything else is needed!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed external-contributor Indicates that a PR has been opened by someone outside the Warp team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Hermes Chat in Warp does not get the agent toolbelt / Rich Input / remote-control like Gemini CLI, and the session is harder to use

3 participants