Runtime guides and plugins
Development source reviewed 2 November 2026. These exporters, plugin packages, diagnostics, and conversation modes require the matching updated service and app. Their documentation is not evidence that a running installation has been upgraded. Use your own service’s deployed-version guide and check availability.
Suzo accepts compatible Streamable HTTP MCP clients. The runtime catalog supplies names and icons; it does not gate protocol support. Select the canonical other ID and optional runtimeName for a custom runtime. Agent-initiated cloud calls do not require a local receiver or speech helper.
For the human
- Add a contact on the phone and send Copy setup prompt to the agent, or use the manual client from your trusted service’s
/setup/client.mjs. - Choose the conversation policy. Continue an existing task, or explicitly approve a reusable profile to create a fresh conversation for each incoming call.
- Load the connection or plugin in the intended runtime and verify
get_suzo_statusfrom that session. Keep the saved contact credential separate from the scoped conversation credential. - Choose incoming callbacks and local speech independently. A receiver check does not establish runtime admission, and installation does not authorize an automatic test call.
For the connecting agent
Use the exact origin and expiring code supplied by the phone. Reuse an existing private contact connection instead of redeeming another pairing code. Read that service’s /setup/agent, its MCP instructions, and get_suzo_guide topics before configuring the selected mode. Preserve unrelated client configuration and the human’s existing permissions.
For existing-task mode, keep the scoped bearer with that running task. For new-per-call mode, the approved profile provisions a distinct call-scoped credential into each newly created conversation before admitting it. A process-wide environment or plugin setting may be shared by several chats; it does not itself provide session isolation. Report the actual missing runtime capability if the required scope or approval routing cannot be supplied.
Native configuration exports
The setup client reuses its saved contact credential. On another computer, supply the existing private connection through its supported private-file flow; do not pair a duplicate.
node suzo-connect.mjs --export-harness codex --agent <contact-id>
node suzo-connect.mjs --export-harness hermes --agent <contact-id>
node suzo-connect.mjs --export-harness claude-code --agent <contact-id>
node suzo-connect.mjs --export-harness other --agent <contact-id>
Files are written under ~/.suzo/agents/<id>/harness-export/<target>/. Exports contain secret references, focused skills and current contract references. They do not edit global settings, load a chat, install a receiver or place a call. Supply secret values through the client’s private mechanism.
| Client | Export and reload | Incoming work |
|---|---|---|
| Codex | TOML mcp_servers entry with bearer_token_env_var and a 60-second tool timeout. Verify native tools in the intended session. |
An authorized App Server owner can expose existing or fresh-conversation operations. A second process reading saved chat files is not control of an already-running desktop chat. |
| Hermes | YAML mcp_servers entry with URL, bearer environment reference and 60-second timeout. Apply to the intended profile and use its supported MCP reload. |
The maintained native owner uses the installed TUI gateway, real admission receipts and a separate operator approval channel. Fresh calls have separate native processes, homes and scoped tools. Existing canonical gateway conversations can use the guarded native-session plugin described below. |
| Claude Code | HTTP .mcp.json entry with a bearer environment reference. Verify the installed version and session scope. |
The maintained owner uses the official Agent SDK with isolated MCP configuration, native session/admission confirmation and human tool approvals. It owns the conversation from startup; it does not attach to arbitrary desktop chats. A Claude account or supported API authentication is required. |
| Other/custom | Generic HTTP entry; adapt its environment reference to the client’s documented secret mechanism. | Use the same authenticated callback contract through supported runtime APIs, a fixed command bridge or an authenticated HTTP bridge. No new catalog implementation is required. |
For an existing Hermes Telegram or other gateway conversation, the native-session integration guide provides a guarded plugin for its original owner. It checks the exact conversation, chat route, workspace and explicitly selected native permission policy before each scoped tool call. Installation does not approve a call destination or migrate a legacy contact. This path pins one conversation; following a chat through future /new sessions remains a proposed policy.
Installable private plugins
node suzo-connect.mjs --export-plugin portable --agent <contact-id>
node suzo-connect.mjs --export-plugin codex --agent <contact-id>
node suzo-connect.mjs --export-plugin claude-code --agent <contact-id>
Packages are written under ~/.suzo/agents/<id>/plugin-export/<target>/ with a real manifest, MCP configuration, five focused skills and their references. Each package uses this deployment’s URL and contains no contact, session, receiver or provider secret.
- Portable Agent Plugins 1.0.0: root
plugin.jsonandmcp.json. The importing client configures private bearer authentication; no environment interpolation or OAuth is assumed. - Codex:
.codex-plugin/plugin.json,.mcp.json, and a contact-specific bearer environment reference. Check the installed loader; the native TOML export is available when that loader cannot supply the field. - Claude Code:
.claude-plugin/plugin.jsondeclares the sensitivesuzo_bearersetting used by its HTTP connection. Older clients without sensitive plugin settings can use the native export.
Follow the generated README.md and the runtime’s local plugin installation flow. No public marketplace listing, hosted signup or OAuth service is implied. Clients that accept only OAuth cannot use a private bearer deployment merely by importing a manifest. The same focused skill folders can also be installed through the harness-package export without a plugin.
Discover guides and recover
get_suzo_status and suzo://status are read-only diagnostics. get_suzo_guide and suzo://guides/<topic> expose current setup, session/lease, task, panel, runtime and callback contracts without needing a browser. HTTP companions use /setup/<topic>.md on your service origin. Status reads neither renew presence nor ring/probe a phone or receiver.
A saved configuration is not native discovery; native discovery is not approved ownership; approved metadata is not runtime admission. Read MCP recovery, the callback workflow, and the call loop. Keep one named connection per person’s independent service and use it throughout that call/history lookup.
Runtime-specific sources: Codex MCP, OpenAI plugin packaging, Hermes MCP, Hermes integration APIs, Claude plugins, Claude Agent SDK, and Claude human approvals. Configuration contracts and isolated tests do not establish native plugin installation, live admission, original-owner approvals, provider speech or a physical call.
Focused skills
The service’s /setup/agent guide covers connection and installation only. Install the packaged skills through the native export or plugin rather than pasting usage instructions into every setup prompt.
suzo-connect: pairing, MCP configuration and setup verification.suzo-calls: conversation ownership, call lifecycle, durable work, cancellation and paged history.suzo-call-panels: native information panels and real actions.suzo-appearance: private asset uploads and compatible pet imports.suzo-runtime: the relevant Codex, Hermes, Claude or custom-runtime setup and recovery path.
Use tool descriptions for ordinary calls. Load a skill when its additional workflow guidance is needed; load only the runtime references that apply.