The registry currently has two terminal-auth compatibility mismatches with the current ACP RFD:
.github/workflows/client.py advertises clientCapabilities.terminal: true plus _meta["terminal-auth"], but not the current v1 capability clientCapabilities.auth.terminal: true. A conforming agent that only checks the current capability returns no terminal auth method, so verify_agents.py --auth-check fails with No authMethods in response.
AUTHENTICATION.md says terminal-auth args replace the default launch args. The current RFD specifies that clients reconstruct the configured base launch and append the descriptor args. Zed already implements the append behavior.
Current RFD: https://agentclientprotocol.com/rfds/auth-methods
Validator:
|
|
|
proc = None |
|
t0 = time.monotonic() |
|
try: |
|
# Make binary executable if needed |
|
exe_path = Path(cmd[0]) |
|
if exe_path.exists() and not os.access(exe_path, os.X_OK): |
|
exe_path.chmod(exe_path.stat().st_mode | 0o755) |
|
|
|
# Start agent process |
|
proc = subprocess.Popen( |
|
cmd, |
|
cwd=cwd, |
|
env=full_env, |
|
stdin=subprocess.PIPE, |
|
stdout=subprocess.PIPE, |
|
stderr=subprocess.PIPE, |
|
text=True, |
|
bufsize=0, |
|
**subprocess_group_kwargs(), |
Docs:
|
"type": "terminal", |
|
"args": ["--setup"], |
|
"env": { |
|
"VAR1": "value1" |
|
} |
|
} |
|
``` |
|
|
|
**Key points:** |
|
|
|
- The `args` array specifies additional command-line arguments (e.g., `--setup`, `--login`) |
|
- The `env` object defines environment variables to pass to the process |
|
- These **replace** the default args/env for the agent during the setup flow |
|
- The agent should handle its interactive login flow separately from standard ACP operation |
Suggested compatibility-safe change:
- Have the auth validator advertise
auth: { terminal: true } while retaining the legacy hints during the preview transition.
- Update
AUTHENTICATION.md to describe base launch + appended args and env overlay semantics.
- Add a validator test for an agent that gates terminal auth on
clientCapabilities.auth.terminal.
I found this while preparing a registry entry for MiniMax Code; its current ACP implementation follows the RFD capability shape and reproduces the auth-check failure.
The registry currently has two terminal-auth compatibility mismatches with the current ACP RFD:
.github/workflows/client.pyadvertisesclientCapabilities.terminal: trueplus_meta["terminal-auth"], but not the current v1 capabilityclientCapabilities.auth.terminal: true. A conforming agent that only checks the current capability returns no terminal auth method, soverify_agents.py --auth-checkfails withNo authMethods in response.AUTHENTICATION.mdsays terminal-authargsreplace the default launch args. The current RFD specifies that clients reconstruct the configured base launch and append the descriptor args. Zed already implements the append behavior.Current RFD: https://agentclientprotocol.com/rfds/auth-methods
Validator:
registry/.github/workflows/client.py
Lines 214 to 233 in 921b987
Docs:
registry/AUTHENTICATION.md
Lines 65 to 78 in 921b987
Suggested compatibility-safe change:
auth: { terminal: true }while retaining the legacy hints during the preview transition.AUTHENTICATION.mdto describe base launch + appended args and env overlay semantics.clientCapabilities.auth.terminal.I found this while preparing a registry entry for MiniMax Code; its current ACP implementation follows the RFD capability shape and reproduces the auth-check failure.