Managoat is the hosted Fountain. Fountain is the open-source engine, and its name is on the CLI, the API, the SDK and this manual. Everything here applies to Managoat unless a page says it is for a self-hosted server.
All commands
Every command and every flag, generated from the binary. For what to reach for and why, start at the CLI reference.
fountain acp
Speak the Agent Client Protocol on stdio (spawned by an editor)
Speak the Agent Client Protocol on stdio.
Not meant to be run by hand: an ACP-capable editor spawns this process and talks JSON-RPC to it over the pipe. stdout carries the protocol and nothing else; diagnostics go to stderr.
--agent names the Fountain agent a session runs — the protocol has no field for it, so it is configured here. Point one editor entry at each agent you want to reach.
--vault attaches a vault to every conversation this process opens. Vault values override the agent's environment, so this is where per-entry secrets belong — an identity the agent posts under, for instance. Two entries pointing at the same agent with different vaults stay separate; the same secret in a shared environment would not.
--environment provisions every conversation this process opens from that environment instead of the agent's own. One agent config can then run under several environments — one entry per environment — without duplicating the agent. The vault still wins over it on key collision.
--permission decides what happens before the agent runs a tool. "ask" puts the question in your editor, as an approval prompt, and the tool waits for your answer; "auto_deny" refuses; the default, "auto_allow", runs it. Narrow it per tool with key=verdict pairs — --permission execute=ask asks before shell commands and allows the rest. Keys match the tool card's title first and then ACP's kind (execute, edit, read, fetch, …), and a launch may only narrow what the agent already allows.
Nobody answering is an answer: an unanswered prompt is denied after the server's timeout, and so is one your editor dismisses or disconnects from. The turn continues either way.
What it is, and is not: a control surface for a conversation running in a Fountain sandbox — watch it, steer it, interrupt it. It has no access to the files open in your editor, and the paths it reports are inside the sandbox, not on your machine.
fountain acp [flags]
Options:
--agent string Fountain agent name or id to open sessions against
--environment string environment name or id to provision each session's conversation from, instead of the agent's own
--log-level string stderr log level: debug, info, warn, error (default "info")
--permission string what happens before the agent runs a tool: auto_allow, ask, auto_deny, or key=verdict pairs (for example "execute=ask")
--sandbox string sandbox id to attach each session's conversation to, instead of provisioning a new one
--sandbox-mode string ephemeral or persistent: where each session's conversation runs, instead of the agent's default
--vault string vault name or id to attach to each session's conversation
fountain agent list
List agents
fountain agent list [flags]
Options:
--json output JSON
fountain agent show
Show an agent
fountain agent show <id>
fountain apply
Apply resource definitions from a YAML file or directory
fountain apply [flags]
Options:
-f, --file string path to YAML file or directory
--var strings extra variable for ${VAR} substitution (KEY=VAL, repeatable)
fountain auth login
Authenticate and save credentials
fountain auth login
fountain auth logout
Remove saved credentials
fountain auth logout
fountain auth whoami
Print current user info
fountain auth whoami
fountain buzz agents list
List hosted Buzz agents
fountain buzz agents list [flags]
Options:
--json output JSON
fountain buzz agents set-access
Change who may @-mention a hosted Buzz agent (restarts its harness)
Set buzz-acp's inbound author gate on a hosted Buzz agent and restart its harness so it takes effect.
--respond-to owner-only | allowlist | anyone | nobody --allowlist comma-separated 64-hex pubkeys (allowlist mode; required non-empty there)
Note: a later provider deploy from the Buzz desktop resends the desktop's own record for the agent and overwrites what is set here.
fountain buzz agents set-access <name-or-id> [flags]
Options:
--allowlist string comma-separated 64-hex pubkeys admitted in allowlist mode
--respond-to string owner-only | allowlist | anyone | nobody
fountain conv delete
Delete a conversation
fountain conv delete <id>
fountain conv interrupt
Interrupt the running turn
fountain conv interrupt <id>
fountain conv list
List conversations
fountain conv list [flags]
Options:
--json output JSON
fountain conv prompt
Send a prompt to a conversation and stream the result
fountain conv prompt <id> [flags]
Options:
-i, --image strings image file path (repeatable)
-p, --prompt string prompt text (required)
fountain conv show
Show a conversation
fountain conv show <id>
fountain conv stream
Stream conversation events
fountain conv stream <id>
fountain conv terminate
Terminate a conversation
fountain conv terminate <id>
fountain env list
List environments
fountain env list [flags]
Options:
--json output JSON
fountain env show
Show an environment
fountain env show <id>
fountain keys create
Create a new API key
fountain keys create <name>
fountain keys list
List API keys
fountain keys list [flags]
Options:
--json output JSON
fountain keys revoke
Revoke an API key
fountain keys revoke <id>
fountain run
Run an agent (create conversation + stream until done)
fountain run <agent-name-or-id> [flags]
Options:
--environment string environment name or id to provision from, instead of the agent's own
-p, --prompt string prompt text (required)
--sandbox string sandbox id to attach to, instead of provisioning a new one
--sandbox-mode string ephemeral or persistent, instead of the agent's default
--vault string vault name or id
fountain runner
Turn this machine into a sandbox provider for your Fountain agents
Run this machine as a self-hosted Fountain runner.
The daemon dials out to Fountain (no inbound port, works behind NAT), holds the connection, and serves sandboxes for agents whose sandbox_provider is "runner": each sandbox is a directory under --root, and the agent's processes run here, as you, with HOME pointed at that directory. Idle sandboxes park by stopping their processes; the directory — the agent's memory — stays.
Trusted mode, and the only mode: there is no VM, container or egress policy between the agent and this machine. Run it on a machine you would hand a capable colleague a shell on. See docs/integrations/runners.md.
Names are unique per account; a second daemon with the same name is refused. The default name is this machine's hostname.
fountain runner [flags]
Options:
--log-level string debug|info|warn|error (default "info")
--name string runner name (default: the hostname, lowercased)
--root string sandbox root (default: ~/.fountain/runners/<name>/sandboxes)
fountain sandbox list
List sandboxes
fountain sandbox list [flags]
Options:
--json output JSON
--status string comma-separated statuses to include (default: all)
fountain sandbox reset
Destroy a persistent sandbox; the next launch builds a clean one
fountain sandbox reset <id>
fountain sandbox show
Show a sandbox and the conversations on it
fountain sandbox show <id>
fountain vault create
Create a vault
fountain vault create <name> [flags]
Options:
--description string vault description
fountain vault delete
Delete a vault
fountain vault delete <id-or-name>
fountain vault delete-secret
Delete a vault secret
fountain vault delete-secret <id-or-name> <key>
fountain vault list
List vaults
fountain vault list [flags]
Options:
--json output JSON
fountain vault set-secret
Set a vault secret
fountain vault set-secret <id-or-name> <key> <value>
fountain vault show
Show a vault
fountain vault show <id-or-name>
fountain webhooks create
Create a webhook endpoint
fountain webhooks create <url> [flags]
Options:
--description string what this endpoint is for
--event strings event to subscribe to; repeatable. Defaults to conversation.turn.done, conversation.turn.failed and conversation.provision.failed
fountain webhooks delete
Delete a webhook endpoint
fountain webhooks delete <id>
fountain webhooks deliveries
Show recent delivery attempts
fountain webhooks deliveries <id> [flags]
Options:
--json output JSON
--limit int how many attempts to show (default 20)
fountain webhooks list
List webhook endpoints
fountain webhooks list [flags]
Options:
--json output JSON
fountain webhooks pause
Stop delivering to an endpoint
fountain webhooks pause <id>
fountain webhooks redeliver
Send one recorded event again
fountain webhooks redeliver <id> <delivery-id>
fountain webhooks resume
Start delivering to an endpoint again
fountain webhooks resume <id>
fountain webhooks rotate-secret
Mint a new signing secret
fountain webhooks rotate-secret <id>
fountain webhooks show
Show a webhook endpoint
fountain webhooks show <id>
fountain webhooks test
Send a test event
fountain webhooks test <id>
Global flags
Accepted by every command.
--profile string credentials profile name