UAT: agents server disconnect command missing — no way to clear server connection configuration #4894

Open
opened 2026-04-08 20:16:40 +00:00 by HAL9000 · 2 comments
Owner

Bug Report

Feature Area: Server Mode — server connect/disconnect commands

What Was Tested

The agents server command group for completeness of the connection lifecycle.

Expected Behavior (from spec)

Per ADR-023 (Server Mode), the server connection has a lifecycle:

  • Connect: set server.url and server.token to enter server mode
  • Disconnect: clear the server connection to return to local-only mode

The spec describes a connection lifecycle where the client can disconnect from the server. The agents server command group should provide a disconnect subcommand that clears the server URL and token, returning the client to local-only mode.

The spec also references the A2aHttpTransport.disconnect() method (defined in transport.py) as part of the transport interface, indicating disconnect is a first-class operation.

Actual Behavior (from code)

File: src/cleveragents/cli/commands/server.py

The server command group only has three subcommands:

  • connect — sets server URL
  • status — shows current mode
  • serve — starts ASGI server

There is no disconnect command. To disconnect from a server, users must manually run:

agents config set server.url ""
agents config set server.token ""

This is non-obvious and not documented. The server status command would still show server_mode: stubbed if the URL is set to an empty string (depending on implementation).

Steps to Reproduce

$ agents server --help
# Only shows: connect, status, serve
# No disconnect command

Code Location

  • src/cleveragents/cli/commands/server.py — missing disconnect command
  • src/cleveragents/a2a/transport.pyA2aHttpTransport.disconnect() method exists but no CLI exposes it

Impact

Users have no clean way to disconnect from a server and return to local-only mode. The connection lifecycle is incomplete.


Automated by CleverAgents Bot
Supervisor: UAT Testing | Agent: uat-tester

## Bug Report **Feature Area:** Server Mode — server connect/disconnect commands ### What Was Tested The `agents server` command group for completeness of the connection lifecycle. ### Expected Behavior (from spec) Per ADR-023 (Server Mode), the server connection has a lifecycle: - Connect: set `server.url` and `server.token` to enter server mode - Disconnect: clear the server connection to return to local-only mode The spec describes a connection lifecycle where the client can disconnect from the server. The `agents server` command group should provide a `disconnect` subcommand that clears the server URL and token, returning the client to local-only mode. The spec also references the `A2aHttpTransport.disconnect()` method (defined in `transport.py`) as part of the transport interface, indicating disconnect is a first-class operation. ### Actual Behavior (from code) **File:** `src/cleveragents/cli/commands/server.py` The `server` command group only has three subcommands: - `connect` — sets server URL - `status` — shows current mode - `serve` — starts ASGI server There is **no `disconnect` command**. To disconnect from a server, users must manually run: ```bash agents config set server.url "" agents config set server.token "" ``` This is non-obvious and not documented. The `server status` command would still show `server_mode: stubbed` if the URL is set to an empty string (depending on implementation). ### Steps to Reproduce ```bash $ agents server --help # Only shows: connect, status, serve # No disconnect command ``` ### Code Location - `src/cleveragents/cli/commands/server.py` — missing `disconnect` command - `src/cleveragents/a2a/transport.py` — `A2aHttpTransport.disconnect()` method exists but no CLI exposes it ### Impact Users have no clean way to disconnect from a server and return to local-only mode. The connection lifecycle is incomplete. --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Medium — Missing agents server disconnect command; incomplete connection lifecycle
  • Milestone: v3.5.0 (Autonomy Hardening — server mode)
  • Story Points: 2 — S — Adding a disconnect command is a small task
  • MoSCoW: Should Have — Disconnect command is part of the complete server connection lifecycle per spec
  • Parent Epic: #4947 (Server Implementation Legendary)

Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: project-owner

Issue triaged by project owner: - **State**: Verified - **Priority**: Medium — Missing `agents server disconnect` command; incomplete connection lifecycle - **Milestone**: v3.5.0 (Autonomy Hardening — server mode) - **Story Points**: 2 — S — Adding a disconnect command is a small task - **MoSCoW**: Should Have — Disconnect command is part of the complete server connection lifecycle per spec - **Parent Epic**: #4947 (Server Implementation Legendary) --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner
freemo added this to the v3.5.0 milestone 2026-04-08 23:40:50 +00:00
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Medium — agents server disconnect command missing
  • Milestone: v3.5.0 — Server disconnect CLI is M6 scope
  • Story Points: 3 — M — Adding server disconnect command
  • MoSCoW: Should Have — Server disconnect is needed for server mode but not blocking local workflow
  • Parent Epic: #360 (Autonomy Hardening + Stubs M6)

Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: project-owner

Issue triaged by project owner: - **State**: Verified - **Priority**: Medium — `agents server disconnect` command missing - **Milestone**: v3.5.0 — Server disconnect CLI is M6 scope - **Story Points**: 3 — M — Adding server disconnect command - **MoSCoW**: Should Have — Server disconnect is needed for server mode but not blocking local workflow - **Parent Epic**: #360 (Autonomy Hardening + Stubs M6) --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
cleveragents/cleveragents-core#4894
No description provided.