Skip to main content

abadge agent add

Register a new agent. Generates an Ed25519 keypair on-device, stores the private key in ~/.abadge/agents/, and uploads the public key. For local_cli and local_mcp kinds, the agent ID and private-key path are also written to the matching localAgents.* config slot so that abadge run and the MCP server find them automatically.
Agents authenticate only with Ed25519 keypair sessions. There is no long-lived agent API key.

--mcp-config (local_mcp only)

The binary path defaults to ${ABADGE_INSTALL_DIR:-~/.abadge/bin}/abadge-mcp.

Keypair registration

1

Generate keypair

The CLI uses WebCrypto to generate an Ed25519 keypair locally.
2

Upload the public key

POST /v1/agents is called with publicKey (JWK JSON) and metadata.
3

Store the private key

Written to ~/.abadge/agents/<agent-id>.ed25519.jwk with 0600 permissions inside a 0700 directory.
4

Update config

For local_cli and local_mcp agents, ~/.abadge/config.json gets localAgents.cli or localAgents.mcp populated.
Remote agents skip the config step — the CLI prints the agent ID, kind, and path to the private-key file, plus a warning that you must configure the remote service with those credentials yourself.

abadge agent list

Output columns: ID, Name, Kind, Locality, Enabled, Created.

abadge agent rm <agent-id>

Revoke an agent. Invalidates all active abs_... sessions and disables future authentication.
Permissions are not deleted; they remain visible (and useless) until the agent is removed or re-enabled.

abadge agent mcp-config <agent-id>

Print the Claude Desktop config snippet for an already-registered local_mcp agent.
The agent is resolved from the API (in the active organization), so this works even when the agent was registered with --json (which does not write the local mcp config slot). It requires the agent’s private key to exist locally at ~/.abadge/agents/<agent-id>.ed25519.jwk — the path abadge agent add writes. If the key file is missing, the command errors and explains that the key must exist on this machine. The command also rejects an id that resolves to a non-local_mcp agent.

Deprecated aliases

For backwards compatibility: The deprecated verbs print a deprecation notice on stderr and re-dispatch to the canonical verb.