Skip to content

[Bug]: ACP extra allows agent-client-protocol 0.9.0+, but hermes-acp still imports removed acp.schema.AuthMethod #3150

@rileymoore4521

Description

@rileymoore4521

Bug Description

Summary

The acp extra currently allows agent-client-protocol>=0.8.1,<1.0, but hermes-acp appears incompatible with agent-client-protocol==0.9.0.

What I observed

Installing Hermes with the ACP extra resolves and installs ACP successfully, but launching hermes-acp fails with:

ImportError: cannot import name 'AuthMethod' from 'acp.schema'

Why this seems to happen

In pyproject.toml, Hermes defines:

acp = ["agent-client-protocol>=0.8.1,<1.0"]

But in acp_adapter/server.py, Hermes imports and uses:

from acp.schema import AuthMethod

With agent-client-protocol==0.9.0, acp.schema no longer seems to expose AuthMethod; the newer schema uses concrete auth method types instead ( 'AuthMethodAgent', 'AuthMethodEnvVar', 'AuthMethodTerminal').

Steps to Reproduce

cd ~/.hermes/hermes-agent
VIRTUAL_ENV="$HOME/.hermes/hermes-agent/venv" uv pip install -e ".[acp]"
VIRTUAL_ENV="$HOME/.hermes/hermes-agent/venv" uv pip install "agent-client-protocol==0.9.0"
~/.hermes/hermes-agent/venv/bin/hermes-acp

Expected Behavior

2026-03-26 02:22:26 [INFO] acp_adapter.entry: Loaded env from /home/myro/.hermes/.env
2026-03-26 02:22:26 [INFO] acp_adapter.entry: Starting hermes-agent ACP adapter
2026-03-26 02:22:27 [INFO] acp_adapter.server: ACP client connected

Actual Behavior

Traceback (most recent call last):
File "/home/myro/.hermes/hermes-agent/venv/bin/hermes-acp", line 10, in
sys.exit(main())
^^^^^^
File "/home/myro/.hermes/hermes-agent/acp_adapter/entry.py", line 73, in main
from .server import HermesACPAgent
File "/home/myro/.hermes/hermes-agent/acp_adapter/server.py", line 12, in
from acp.schema import (
ImportError: cannot import name 'AuthMethod' from 'acp.schema' (/home/myro/.hermes/hermes-agent/venv/lib/python3.11/site-packages/acp/schema.py)

Affected Component

CLI (interactive chat)

Messaging Platform (if gateway-related)

No response

Operating System

Rocky Linux 9.7

Python Version

3.11.15

Hermes Version

v0.4.0

Relevant Logs / Traceback

Traceback (most recent call last):
  File "/home/myro/.hermes/hermes-agent/venv/bin/hermes-acp", line 10, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/myro/.hermes/hermes-agent/acp_adapter/entry.py", line 73, in main
    from .server import HermesACPAgent
  File "/home/myro/.hermes/hermes-agent/acp_adapter/server.py", line 12, in <module>
    from acp.schema import (
ImportError: cannot import name 'AuthMethod' from 'acp.schema' (/home/myro/.hermes/hermes-agent/venv/lib/python3.11/site-packages/acp/schema.py)

Root Cause Analysis (optional)

In pyproject.toml, Hermes defines:

acp = ["agent-client-protocol>=0.8.1,<1.0"]

But in acp_adapter/server.py, Hermes imports and uses:

from acp.schema import AuthMethod

With agent-client-protocol==0.9.0, acp.schema no longer seems to expose AuthMethod; the newer schema uses concrete auth method types instead.

I verified that AuthMethod did not exist in the new schema by running

import acp.schema
print(dir(acp.schema))

The new auth methods are 'AuthMethodAgent', 'AuthMethodEnvVar', 'AuthMethodTerminal'

Proposed Fix (optional)

No response

Are you willing to submit a PR for this?

  • I'd like to fix this myself and submit a PR

Metadata

Metadata

Assignees

No one assigned

    Labels

    type/bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions