Skip to content

CLI Commands

--registry <path> Registry file path
Default: ~/.society/registry.json
Env: SOCIETY_REGISTRY

The --registry flag must appear before the subcommand.


Auto-detect available agents and register them.

Terminal window
society onboard # auto-detect CLIs, Docker, SSH, A2A agents
society onboard --deep # also probe SSH/Docker hosts for live agents and CLIs
society onboard --manual # interactive wizard for manual setup
FlagDescription
--deepProbe SSH hosts and Docker containers for live A2A agents and CLI tools
--manualInteractive wizard for manual setup

By default, scans for CLIs (claude, codex, ollama, etc.), Docker containers, SSH hosts, and A2A agents on local ports. Presents a numbered list and lets you select which to register.

With --deep, additionally SSHes into each host from ~/.ssh/config and Tailscale peers to probe for live A2A agents on common ports and detect installed CLI tools (claude, codex, aider, etc.). SSH hosts that resolve to the same IP are grouped and you pick a preferred route.

Use --manual for the interactive wizard that prompts for name, description, transport type, and transport-specific config.


List all registered agents.

Terminal window
society list

Output columns: NAME, TRANSPORT, ENDPOINT, SKILLS


Remove an agent from the registry. Prompts for confirmation.

Terminal window
society remove my-agent

Health-check an agent by sending a test message.

Terminal window
society ping my-agent

Reports: transport type, agent name, skills, and latency in milliseconds.


Start a single agent from a config file.

Terminal window
society run --config <path> [--stdio]
FlagDescription
--configPath to agent YAML config (required)
--stdioRun as stdio agent instead of HTTP server

Send a message to a registered agent.

Terminal window
society send [--thread <id>] <name> <message>
FlagDescription
--threadThread ID to continue a conversation

The --thread flag must come before the agent name. Remaining arguments after the name are joined as the message text.


Export the registry as JSON.

Terminal window
society export [--output <path>]

Without --output, prints to stdout.


Import agents from a JSON file or URL.

Terminal window
society import agents-backup.json
society import https://example.com/agents.json

Prompts interactively for conflicts: overwrite, skip, or rename.


Discover an agent from an A2A endpoint.

Terminal window
society discover http://server:8001

Fetches the agent card from /.well-known/agent-card.json (or the legacy /.well-known/agent.json), displays it, and optionally adds it to the registry with a transport config you choose.


Start an MCP server on stdio.

Terminal window
society mcp

Exposes each registered agent as an MCP tool (send_<name>). See MCP Integration for setup details.


Manage the agent daemon.

Start agents in the background.

Terminal window
society daemon start # all agents in agents/
society daemon start echo claude # specific agents
society daemon start --agents ~/agents # custom directory

Stop the running daemon (sends SIGTERM, waits up to 5s).

Terminal window
society daemon stop

Show daemon uptime, PID, and running agents.

Terminal window
society daemon status

Start agents in the foreground (logs to stdout, Ctrl+C to stop).

Terminal window
society daemon run
society daemon run echo greeter

Check for a new release and update the binary in place.

Terminal window
society update

Downloads the latest release from GitHub, verifies it matches your OS and architecture, and replaces the current binary. On macOS, applies ad-hoc code signing automatically.

Dev builds (built from source without version ldflags) cannot self-update — use the install script or rebuild from source instead.


Print the current version.

Terminal window
society version
# society v0.1.0

Manage Claude Code skills for society.

Install society skills into ~/.claude/skills/.

Terminal window
society skill install

Update previously installed skills to the latest version bundled with your society binary.

Terminal window
society skill update