Skip to content

Reference ​

The tables on this page are generated from the code when the site is built, and each one is in alphabetical order.

Commands ​

CommandArgumentsSummaryOptions
ahpd automation export <id>
id The automation's id.
Write an automation as an automation file
--vscode Write VS Code's automation file.
--out PATH Write the file here instead of printing it.
ahpd automation import <file>
file The .automation.md file.
Make an automation from an automation file
--config-file PATH Read this instead of the file under the configuration directory.
--folder PATH The folder it runs in, one this host serves.
--vscode Read VS Code's automation file.
ahpd automation listThe automations this host holds
ahpd completion <shell>
shell bash, zsh, fish
Print the shell completion script (bash, zsh, fish)
ahpd configSay where the configuration is, and what it says
ahpd configureAsk for each setting a first install needs, and write it
--config-file PATH Read this instead of the file under the configuration directory.
ahpd paths add <folder>
folder The folder, by path.
Serve a folder
--config-file PATH Read this instead of the file under the configuration directory.
ahpd paths listThe folders this host serves
--config-file PATH Read this instead of the file under the configuration directory.
ahpd paths remove <folder>
folder The folder, by path.
Stop serving a folder
--config-file PATH Read this instead of the file under the configuration directory.
ahpd plugin config <name>
name The plugin, by its id or as plugins names it.
Show a plugin's options
--config-file PATH Read this instead of the file under the configuration directory.
ahpd plugin config <name> <key> <value>
name The plugin, by its id or as plugins names it.
key One option.
value The value: JSON when it parses, otherwise text.
Set one of a plugin's options
--config-file PATH Read this instead of the file under the configuration directory.
ahpd plugin config unset <name> <key>
name The plugin, by its id or as plugins names it.
key One option.
Remove one of a plugin's options
--config-file PATH Read this instead of the file under the configuration directory.
ahpd plugin disable <name>
name The plugin, by its id or as plugins names it.
Turn a configured plugin off, keeping its entry and options
--config-file PATH Read this instead of the file under the configuration directory.
ahpd plugin enable <name>
name The plugin, by its id or as plugins names it.
Turn a configured plugin on
--config-file PATH Read this instead of the file under the configuration directory.
ahpd plugin install <name...>
name A package name. One or more.
Install a backend or another plugin into the configuration directory
--config-file PATH Read this instead of the file under the configuration directory.
--no-enable--enable Install it without naming it in the file.
--keep Take it out of the configuration and leave the package installed.
ahpd plugin listWhat the configuration names, and what a run would load
ahpd plugin remove <name...>
name A package name. One or more.
Take a plugin out of the configuration, and uninstall it unless --keep
--config-file PATH Read this instead of the file under the configuration directory.
--no-enable--enable Install it without naming it in the file.
--keep Take it out of the configuration and leave the package installed.
ahpd plugin update <name...>
name all, or a package name. One or more.
Move the plugins named, or every installed one with all, to the version that fits this daemon
--force Install each package on its own, so one npm cannot install does not stop the others.
ahpd project add <id>
id The id a membership is written with.
Name a project
--config-file PATH Read this instead of the file under the configuration directory.
--users FILE The people who may use this host.
--title TEXT What a client shows for it. Without one, its id is what it shows.
ahpd project listWhat this install names as a project
--config-file PATH Read this instead of the file under the configuration directory.
--users FILE The people who may use this host.
ahpd project rm <id>
id The id to take out.
Take a project out of the file
--config-file PATH Read this instead of the file under the configuration directory.
--users FILE The people who may use this host.
ahpd proxy listThe providers this proxy would call, and the model names that point at them
ahpd restartStop it and start it again with the line it was started with
--force Restart even while a turn is running.
ahpd startRun it in the background and let go of it
ahpd statusSay whether one is running, and where
ahpd stopStop the one running in the background
ahpd team add <id>
id The id a membership is written with.
Name a team
--config-file PATH Read this instead of the file under the configuration directory.
--users FILE The people who may use this host.
--title TEXT What a client shows for it. Without one, its id is what it shows.
ahpd team listWhat this install names as a team
--config-file PATH Read this instead of the file under the configuration directory.
--users FILE The people who may use this host.
ahpd team rm <id>
id The id to take out.
Take a team out of the file
--config-file PATH Read this instead of the file under the configuration directory.
--users FILE The people who may use this host.
ahpd usageThe pools this host was charged that the caller may see
ahpd usage <pool>
pool Which pool to read, as a record was charged to it.
What one pool spent today, this week and this month
ahpd user add <id>
id The identifier their credential answers with.
Add a person
--config-file PATH Read this instead of the file under the configuration directory.
--users FILE The people who may use this host.
--issuer NAME A provider of their own, rather than this host's default.
--role NAME A role to give them. Repeatable. (repeatable)
--membership TEAM[:PROJECT] What their work may be charged to, written team, team:* or team:project. Repeatable; user member replaces the whole list. (repeatable)
--primary TEAM[:PROJECT] The one of those that work naming no scope of its own is charged to.
ahpd user listWho is in the file
--config-file PATH Read this instead of the file under the configuration directory.
--users FILE The people who may use this host.
ahpd user member <id> <entries...>
id Whose memberships to replace.
entries A team, team:* or team:project. One or more.
What their work may be charged to
--config-file PATH Read this instead of the file under the configuration directory.
--users FILE The people who may use this host.
--unset Take every membership away, rather than naming one.
ahpd user primary <id> [entry]
id Whose primary to set or take away.
entry One of their memberships, written team or team:project.
Where their work that names no team and project is charged
--config-file PATH Read this instead of the file under the configuration directory.
--users FILE The people who may use this host.
--unset Take their primary away, rather than setting one.
ahpd user rm <id>
id The identifier to take out.
Take a person out of the file
--config-file PATH Read this instead of the file under the configuration directory.
--users FILE The people who may use this host.
ahpd user token <id>
id Whose credential to mint.
Mint a credential, shown once
--config-file PATH Read this instead of the file under the configuration directory.
--users FILE The people who may use this host.
--host ADDR Bind here. Default 127.0.0.1. Pass 0.0.0.0 to accept from other machines, which needs a token.
--port N Listen here. Default 9187; 0 picks a free one.
--url Print the whole ws:// URL a client can be given.
ahpd vault delete <name>
name The name to take out.
Take a name out
ahpd vault listEvery name this host keeps a secret under
--config-file PATH Read this instead of the file under the configuration directory.
ahpd vault set <name>
name The name to keep it under, as host:<name>, team:<team>/<name> or user:<id>/<name>.
Keep a value under a name

Daemon options ​

KeyFlagTypeDescription
advancedTools
--advanced-tools
booleanOffer the tools that declare they need advanced permission, such as the computer's three.
archiveDirtyWorktree
--archive-dirty-worktree VALUE
keep | commitWhat archiving a session does with a working tree that has uncommitted changes: keep leaves the tree, commit commits the changes on its branch and removes the tree.
automations
--automations VALUE
file | memoryfile keeps automations beside the configuration and fires their schedules; memory keeps them until this process ends.
clientToolTimeoutMs
--client-tool-timeout-ms MS
integerHow long a call a client runs may wait. Default ten minutes; 0 waits for ever.
closedChats
--closed-chats VALUE
hidden | deleteWhat closing one chat of a session does to its conversation in the backend: hidden keeps it, delete removes it.
flag only
--config-file PATH
stringRead this instead of the file under the configuration directory.
connectionToken
--connection-token SECRET
stringRequire this secret on every connection.
connectionTokenFile
--connection-token-file PATH
stringRequire the secret in this file. A fresh one is written if the file is not there.
deltaWindowMs
--delta-window-ms MS
integerHow long a streamed delta waits for the next one before it is sent. Default 75; 0 sends every delta as it arrives.
host
--host ADDR
stringBind here. Default 127.0.0.1. Pass 0.0.0.0 to accept from other machines, which needs a token.
httpfile onlyobject | booleanServe the HTTP API: true under /api on the daemon's own listener, or an object whose port gives it a listener of its own and whose host binds that listener. Set in the configuration file only.
issuer
--issuer GITHUB|URL
stringAn authorization server whose tokens are also accepted: github, or an OpenID Connect issuer.
mcpServersfile onlyobjectThe MCP servers every session is offered, by the name a person gave them: a stdio server is a command an agent starts, and an http one is an endpoint it calls. An env or a header is a credential wherever it is, so each answers <set>. A session adds the servers of its own client plugins over these. Set in the configuration file only.
flag only
--no-cwd
booleanServe only the folders named above, and never ask about the folder this was started in. Refused when none is named.
flag only
--no-plugins
booleanLoad none, whatever the configuration file says.
origins
--origin URL
string[]An origin this host also answers to, such as http://203.0.113.5:9187. Repeatable.
paths
--path DIR
string[]A directory this host serves. Repeatable; the first is the default a client gets when it names none.
flag only
--plugin-option PLUGIN.KEY[.KEY...]=VALUE
string[]Set one option of a plugin for this run, over the configuration file: <plugin>.<key>=<value>, where everything after the plugin is a key path set as deep into the plugin's options as it goes, a key on the way down that is not there made as it goes; the value is read as JSON when it parses and as text otherwise. Repeatable.
plugins
--plugin SPEC
string[]A package, a path, or a package installed in the configuration directory, loaded at startup. Repeatable. Naming one runs its code in this process with this process's permissions: installing a plugin is the trust decision.
policiesfile onlyobjectWhether the policies saying who may use which agent, model and computer are enforced: check refuses a session and a turn that no policy allows, naming the policy that refused it. Off by default, and the rows are written and listed either way. Set in the configuration file only.
port
--port N
integerListen here. Default 9187; 0 picks a free one.
proxyfile onlyobjectThe providers this proxy calls and the model names that point at them: providers are keyed by the id a model entry names, and a model name is written <maker>/<name> with the entries serving it. An entry under a built-in id replaces it whole. A key is named by the environment variable holding it, never written here. sessionCalls is record (the default) or skip: whether a call made with a session's own token is policy-checked and recorded by the proxy. Set in the configuration file only.
pullRequestLookup
--pull-request-lookup VALUE
url | branchHow merged sessions learn the state of a pull request: url asks for each pull request by its page, branch asks for the pull requests of the session's branch.
resource
--resource URL
stringThe https identifier this host advertises for its own sign-in. Default: derived from --host and --port.
routesfile onlyobjectWhere the plugins' routes are served. Absent is the daemon's own port. A port gives them a listener of their own that serves nothing else, and a host binds that listener. Set in the configuration file only.
sessionResidencyLimit
--session-residency-limit COUNT
integerHow many sessions are loaded at most. Over it, the least recently used quiet session is let go. Default 10; 0 sets no limit.
sessions
--sessions VALUE
file | memoryWhere the read and archived bits and a session's settings go.
sessionTools
--session-tools
--no-session-tools
booleanOffer the session tools. On by default; --no-session-tools offers none.
sessionToolsProviders
--session-tools-providers PROVIDER
string[]Offer the session tools only to the sessions of these providers. Empty offers them to every provider.
shellEnvfile onlyobjectThe environment every shell this host starts is given: a variable name set to its value, or to null to remove it, such as {"XDG_CONFIG_HOME": "/home/me/.config"}. Set in the configuration file only.
sleepAfterMinutes
--sleep-after-minutes MINUTES
integerMinutes a session with nothing in hand stays loaded before its agent is let go. It wakes when something needs it. Default 30; 0 never lets it go for quiet.
flag only
--stdio
booleanServe one connection over stdin and stdout instead of binding a port. This is how a host runs inside a container for another host to carry: one line of JSON per frame, no token, and the connection is this host itself.
trustToken
--trust-token
booleanA person's connection token authorizes them as well as admits them.
unownedAutomations
--unowned-automations VALUE
every | noneWhat an automation that names no owner wakes on. every is the default: an automation nobody made is nobody's work, so every session is offered to it. none wakes on nothing.
updateCheck
--update-check
--no-update-check
booleanAsk npm, in the background, whether a newer version exists. On by default; --no-update-check, NO_UPDATE_NOTIFIER, CI and "updateCheck": false in the configuration turn it off.
usagefile onlyobjectHow a turn is written down: per "turn" writes one record when the turn ends, which is the default, and per "report" writes one record for every usage report a turn sends. timezone names, as Intl names one, the zone a day and a week start in, and is the system's own zone when it is absent. Set in the configuration file only.
users
--users FILE
stringThe people who may use this host.
wire
--wire FILE
stringAppend every frame, both directions, to this file as JSON lines.
withoutConnectionToken
--without-connection-token
booleanAccept any connection. Only when the port is already reachable by nobody else.
worktreesRoot
--worktrees-root DIR
stringKeep every session worktree under this folder, as <dir>/<repo>/<name>. Default: <repo>.worktrees beside each repository.

Global options ​

OptionDescription
-h, --helpShow help for the current command
--jsonEmit stable machine-readable JSON
--no-color--colorDisable colour, as does a non-terminal or NO_COLOR
-q, --quietPrint only identifiers or requested values
--refreshFetch the command surface --remote cached again.
--remote URLRun the administration commands against a daemon over its HTTP API, rather than here.
--token SECRET
env AHPD_TOKEN
The credential --remote presents. Defaults to AHPD_TOKEN.
--token-file PATHRead the credential --remote presents from this file.
--verboseInclude diagnostics on stderr
--versionPrint the version
--yesRun a command that removes something without asking