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 config set <key> <value>
key One setting, as config.json names it.
value The value: JSON when it parses, otherwise text.
Set one setting of the daemon
--config-file PATH Read this instead of the file under the configuration directory.
ahpd config unset <key>
key One setting, as config.json names it.
Remove one setting of the daemon
--config-file PATH Read this instead of the file under the configuration directory.
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 doctorSay what is wrong, and how to fix it
ahpd join <url>
url The hub to join, as ws://host:port or http://host:port.
Join a hub, so it can run sessions on this host
--workdir VALUE The folder a session served here starts in. Defaults to this one.
ahpd node add <id>
id The name the node is listed by.
Add a node, minting its token
--config-file PATH Read this instead of the file under the configuration directory.
--users FILE The people who may use this host.
ahpd node listThe hosts that joined this one
--config-file PATH Read this instead of the file under the configuration directory.
--users FILE The people who may use this host.
ahpd node rm <id>
id The node to take out.
Take a node 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 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 applyLoad what the plugin configuration now names
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, a path, a tarball URL, github:owner/repo or a git+ssh: spec. 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 reload <name...>
name The plugin, by its id or as plugins names it. One or more.
Import a plugin again, because the code it points at changed
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
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 model names this proxy would serve, and the providers that serve each
ahpd restartStop it and start it again with the line it was started with
--force Restart at once, ending the running turns.
ahpd service installLet the service manager start it at login and keep it running
--config-file PATH Read this instead of the file under the configuration directory.
ahpd service uninstallStop the service and take it out
--config-file PATH Read this instead of the file under the configuration directory.
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 token listThe tokens a person holds
--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.
--user ID Whose tokens to manage, when it is not your own. Needs user:write, and only grants they hold.
--team TEAM The team that holds the key, instead of a person. Needs user:write, and the key opens the proxy alone.
ahpd token mintMint a token of your own
--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.
--user ID Whose tokens to manage, when it is not your own. Needs user:write, and only grants they hold.
--team TEAM The team that holds the key, instead of a person. Needs user:write, and the key opens the proxy alone.
--label TEXT What to call it, so a listing can tell one token from another.
--grant GRANT A grant to limit it to. Repeatable; without one it holds every grant its person does. (repeatable)
--expires DATE When it stops working, as a date such as 2026-12-31 or an ISO timestamp. Without it the token does not expire.
--scope TEAM[:PROJECT] The team and project its calls are charged to, written team or team:project, and one the person is in now. A call made with it may name that scope and no other.
--limit AMOUNT:MEASURE:PERIOD A spend or call limit, written amount:measure:period such as 5:usd:day. Repeatable; without one the key has no limit of its own. (repeatable)
--meta NAME=VALUE A name=value pair the key keeps about itself, such as env=prod. Repeatable; a call made with the key adds its own entries, and the key's value wins for the same name. (repeatable)
--url Print the whole ws:// URL a client can be given.
ahpd token rm <id>
id The token to revoke, as `token list` answers it.
Revoke a token
--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.
--user ID Whose tokens to manage, when it is not your own. Needs user:write, and only grants they hold.
--team TEAM The team that holds the key, instead of a person. Needs user:write, and the key opens the proxy alone.
ahpd updateInstall a newer ahpd and start it again, moving the plugins with it
--version VALUE Install this version, instead of the one npm calls latest.
--check Answer the versions and whether the update may run, without installing anything.
--force Update even while a turn is running.
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.
agentOrchestrationLimitsScope
--agent-orchestration-limits-scope VALUE
sessionTree | sessionWhat the session tools' counts of sessions and chats made and messages sent are kept per: sessionTree keeps one count for a session and every session grown from it, session keeps each session's own as VS Code does.
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.
attachmentFetchLimitBytes
--attachment-fetch-limit-bytes BYTES
integerThe largest file a client is asked for when a message attaches one the daemon has no copy of; a larger one is left as it was sent. Default 33554432 (32 MiB); 0 sets no limit.
automations
--automations VALUE
file | memoryfile keeps automations beside the configuration and fires their schedules; memory keeps them until this process ends.
backendBackgroundWork
--backend-background-work VALUE
drop | sayWhat a backend's own background work actions come to: drop leaves every background row to the host, say says the backend's action as VS Code does.
clientToolCallDisconnectTimeoutMs
--client-tool-call-disconnect-timeout-ms MS
integerHow long a client whose connections all closed keeps its place in a session and the tool calls it owes there, as VS Code does. Default thirty seconds; 0 releases it at once.
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.
commandParserfile onlystringA .js or .ts module whose default export reads a shell command before the rules match it, as (line, shell) => ({ subCommands, writeDests, unanalyzable }) or undefined for a line it cannot read. A path is relative to the configuration file. A .ts module needs Node 22.18 or newer, Bun, or Deno, which strip types as they load. Set in the configuration file only.
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.
daemonRecordfile onlyfields | schemaVersionHow daemon.json, the record of the running daemon, is read by the verbs that find it: fields, the default, reads each field as it is there, so an older daemon's record still names its daemon in the middle of an upgrade; schemaVersion ignores a record of another schemaVersion, as VS Code's CLI ignores a registry entry of another version. Set in the configuration file only.
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.
eligibleForAutoApproval
--eligible-for-auto-approval VALUE
objectControls which tools are eligible for automatic approval. Tools set to 'false' will always present a confirmation and will never offer the option to auto-approve. The default behavior (or setting a tool to 'true') may result in the tool offering auto-approval options. A tool is named as its backend names it, a tool this host offers as host/<name>, an MCP server's tool as <server>/<tool>, and every tool of a server as <server>/*. Set in the configuration file only.
host
--host ADDR
stringBind here. Default 127.0.0.1. Pass 0.0.0.0 to accept from other machines, which needs a token.
httpApifile onlyobject | booleanServe the HTTP API under /api. true uses the daemon's port; a port gives it its own.
iconLimitBytes
--icon-limit-bytes BYTES
integerThe most one plugin icon may be, in bytes of image, a file, a data: URI or a fetched body, as VS Code bounds an icon's image. Default 262144; 0 sets no limit.
iconTimeoutMs
--icon-timeout-ms MS
integerHow long one fetch of an https: plugin icon may take before the icon is given up. Default 10000, VS Code's for an image request.
issuer
--issuer GITHUB|URL
stringAn authorization server whose tokens are also accepted: github, or an OpenID Connect issuer.
issuerVerify
--issuer-verify userinfo|jwt|auto
userinfo | jwt | autoHow a token from --issuer is checked: userinfo asks the issuer what the token means, jwt checks it against the keys the issuer publishes, and auto takes the first reading that a token shaped like a JWT allows and userinfo for the rest. Default: userinfo.
logLevel
--log-level VALUE
trace | debug | info | warn | error | offThe lowest level of line the daemon writes to its log: trace, debug, info (the default), warn or error, or off for none. Clients that read the log as OTLP choose their own level.
logTime
--log-time VALUE
local | utcThe clock the log's times are on: local, the default, as VS Code writes its logs, or utc.
managedRules
--managed-rules VALUE
checked | handedWho checks managedSettingsPermissions and eligibleForAutoApproval on a tool question: checked has the host check each on every question of its kind; handed hands them to the backends and checks none, putting a question a backend marked managed with Allow Once and Skip, as VS Code does.
managedSettingsPermissions
--managed-settings-permissions VALUE
objectThe managed permissions every session on the host is held to, in VS Code's shape: deny and ask rules in the managed rule grammar (Shell, Read, Write, Domain), disableBypassPermissionsMode "disable" to take Allow All away, and limitTo, the Domain rules a fetch stays within, each Domain or Domain(<host>) with the host as VS Code's network filter normalizes it. A Domain rule names a host whatever the scheme, port or path of a URL. A rule the managed grammar refuses stops the start. The host checks each rule on the tool questions of its kind beside the session's permissions, and hands the whole to every backend. Set in the configuration file only.
managedSettingsSandbox
--managed-settings-sandbox VALUE
objectThe floor every session's sandbox is held to, in VS Code's floor shape: enabled keeps the sandbox on, allowBypass says whether a command may leave it, allowOutbound and allowLocalNetwork the network, allowedHosts replaces the hosts a chat allows and blockedHosts joins the ones it blocks, readwritePaths and readonlyPaths replace a chat's paths and deniedPaths joins its denied ones, the server, credential and developer-tool switches turn those off or on, and failClosed keeps the sandbox on with no way out. No chat's selection lowers it. Published on each session as vscode.resolvedSandboxPolicy. Set in the configuration file only.
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.
mcpToolsfile onlynone | allWhat /mcp serves to a person's MCP client: none, the default, answers 404 there; all serves every tool the caller's grants allow that needs no session. Needs httpApi. Set in the configuration file only.
modelApifile onlyobject | booleanServe the model API under /v1. true uses the HTTP API's port; a port gives it its own.
modelProxyfile onlyobjectThe model names the model API serves, each mapped to connectors.
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
booleanLeave the configuration file's plugins out, and load only the ones --plugin names.
nodeRestart
--node-restart VALUE
end | reconnectWhat a session on a joined node does when that node's "ahpd join" restarts: end ends it with a sentence, and the next turn resumes it by id; reconnect keeps it and opens it again on the socket the node dials when it comes back. Default end.
onPathfile onlyrunnable | findExecutableHow ahpd configure and ahpd doctor find a command on PATH: runnable, the default, takes a regular file with an execute bit and skips an empty entry; findExecutable is VS Code's lookup, any file that is not a folder, with an entry that is not absolute read against the working directory. Set in the configuration file only.
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.
pluginEntryOutside
--plugin-entry-outside VALUE
refuse | warnHow a plugin whose entry points outside its own package is taken: refuse, the default, so a manifest cannot point its own package at somebody else's code; warn loads it with a warning on its row, as VS Code loads an extension whose main is outside its folder.
plugins
--plugin SPEC
string[]A package, a path, or a package installed in the configuration directory, loaded at startup. Repeatable. On the command line, each one is added to the configuration file's list. 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, and refuses a turn or a proxy call whose limits have no room left. Off by default, and the rows are written and listed either way. payOrder says which row of one scope pays first: ending (the default), regular or extra. ownLimits, true by default, lets a person read the limits that apply to them. Set in the configuration file only.
port
--port N
integerListen here. Default 9187; 0 picks a free one.
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.
readyTimeoutMs
--ready-timeout-ms MS
integerHow long ahpd start, and a restart starting the next daemon, waits for it to say where it is listening before stopping it. Default 60000; 0 waits for ever.
requireIssuer
--require-issuer
booleanOnly a token from a person's issuer signs them in; a local token only opens the socket.
resource
--resource URL
stringThe https identifier this host advertises for its own sign-in. Default: derived from --host and --port.
rootConfigWrite
--root-config-write VALUE
merged | replacedHow an object a client writes to root config is written: merged, the default, over what the key holds, a null taking a key back and a <set> leaving a credential as it is; replaced, each top-level key's value replaced whole, as the protocol's reducer applies a root config change.
rootOwner
--root-owner VALUE
host | noneWhose work a session a root connection starts is, under a users directory: host, the host itself as root:<hostName>; none, no one, as VS Code does.
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.
servicefile onlyobjectThe service that holds this daemon. name, for a daemon that runs beside another in a configuration home of its own, a lowercase letter or digit and then up to 39 letters, digits and dashes, installs it as ahpd@<name> on systemd and dev.ahpd.daemon.<name> on launchd; absent is the plain ahpd and dev.ahpd.daemon. path is the PATH the daemon is given: shell, the default, is the PATH of the shell that ran ahpd service install, and manager sets none, so the daemon runs on the manager's own, as VS Code's CLI writes its unit. Set in the configuration file only.
sessionResidencyLimit
--session-residency-limit COUNT
integerHow many sessions are resident at most, running or with their state held. Over it, the least recently used one that nothing holds is let go, with its state. 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.
steerReadBack
--steer-read-back VALUE
inTurn | ownTurnHow a steering message reads back after a restart: inTurn in the turn it steered, as shown live; ownTurn as VS Code reads it.
stopWaitMsfile onlyintegerHow long ahpd stop gives the daemon to go before it is killed. Default 5000, as VS Code's CLI gives its agent host server; 0 waits for ever. Set in the configuration file only.
terminalAutoApproveDefaults
--terminal-auto-approve-defaults VALUE
vscode | noneThe rules a session's shell commands are matched against when no window pushed any: vscode uses VS Code's terminal auto-approve table, none approves no command.
tokensPerPerson
--tokens-per-person N
integerHow many tokens one person may mint for themselves. Default 10; 0 lets nobody mint one.
toolResultResourceLimitBytes
--tool-result-resource-limit-bytes BYTES
integerThe most bytes the daemon keeps of one content a tool result or an agent's message carries inline, which a client reads back by a session-db-resource URI; larger content is left out. Default 8388608 (8 MiB), VS Code's bound; 0 sets no limit.
tunnelHostsfile onlybooleanAnswer the HTTP API to the host names of the tunnels this host keeps, as the plugin routes always do. Off by default: a tunnel is a fresh name on every start, and the API is an administration surface. Set in the configuration file only.
turnSenders
--turn-senders VALUE
said | keptWhether a turn's sender is said on what clients read: said puts it on each start and message, kept keeps it on the host alone as VS Code does.
unofferedModel
--unoffered-model VALUE
fail | keepWhat a turn naming a model its chat's agent does not offer does: fail ends the turn, keep keeps the chat's model as VS Code does.
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 the zone the store keeps its days 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.
workspacelessFolder
--workspaceless-folder VALUE
first | scratchWhere a session that names no folder works: first, the first folder this daemon serves; scratch, a folder of its own under ~/.copilot/chats, removed with the session, as VS Code does.
worktreesRoot
--worktrees-root DIR
stringKeep every session worktree under this folder, as <dir>/<repo>/<name>. Default: <repo>.worktrees beside each repository.
zshFolder
--zsh-folder VALUE
owned | asFoundHow the folder shell integration points zsh at, under the temporary folder, is taken when it is there already: owned, the default, takes only a folder of this user's that is not a link, since another user can make the known name first; asFound sets its mode on whatever is there, as VS Code does.

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