Appearance
ahpd 0.12
The good stuff
Webhooks arrive, worktree sessions clean up after themselves, and the docs are a site.
- Webhooks: an endpoint with its own secret talks to a bot or fires an automation.
- Worktrees that tidy up: archiving shelves a worktree, and a merged session archives itself.
- Computers over ssh: an ssh machine runs a session nested over ssh.
- The docs site: every page at softov.github.io/ahpd.
0.12.0 - 2026-10-15
Upgrading
- A plugin id is a bare slug, such as
webhookorcomputer. The npm package names stay@ahpd/.... The daemon skips a plugin whose exportednameis not a slug, andahpd plugin listshows it aserror. - Sessions, automations, wake senders and usage saved under an old owner, such as
plugin:@ahpd/webhook, read as the new one. Nothing on disk is rewritten. @ahpd/webhookis published to npm for the first time.docs/sdk/LIBRARY.mdis now docs/sdk/BUILD-A-HOST.md, and upgrading has its own page, docs/server/UPGRADE.md.
Webhooks
@ahpd/webhookkeeps endpoints as records, each with its own vault secret, and passes a call only with that secret as its bearer token. See packages/webhook.- A webhook talks to a bot by thread, or fires an automation whose run reads the event.
- Routes can listen on a public port of their own.
- A callback follows no redirect. A refused chat answers 409, and a failed sync turn answers 502.
Sessions and VS Code parity
- A session and its chats are marked read and unread together, and a turn marks its chat unread, as the protocol does.
- Archiving a session shelves its worktree, and unarchiving restores it.
archiveDirtyWorktreesays what archiving does with uncommitted changes. - A merged session archives and deletes itself.
pullRequestLookupsays how the host learns a pull request's state. - A turn started on a busy chat is refused.
- Automations run with no client, so VS Code lists them. Every automation due at once fires, a run can be stopped, and each automation keeps its 50 newest runs.
- A customization switched off for every session, or for one folder, stays off in each new session there.
- The root state says what machine the host runs on, and the host sends its build.
#completes a file, and#chat:completes a chat of the session. A chat attachment gives a pointer and an excerpt.- A session tool acts as the person it works for, with VS Code's limits on spawning and messaging. The session tools can be switched off, and a running Claude session follows the switch.
- A host can take a remote session and keep its origin, and the agent is told to report back to it.
- A turn's end pushes the files of a watched changeset.
shellEnvsets the environment of every shell the host starts, including Claude's Bash commands.- A session record keeps its working folder, and Claude and pi look for a session there first.
Agents
- Claude: a client tool's JSON Schema reaches the model whole, a cancelled call closes its confirmation, a spawn failure names its cause, and the handshake has a bound.
- ACP: a withdrawn question is removed, and a question can take a typed answer.
- cofold:
@cofold/agents0.4.0, cofold's slash commands are offered in a session, and/compactdraws one notice.
Bots
- A bot's first turn is its filled template, each new chat of a bot starts with the template, and a fork gets no preamble.
- An edit passes when its template is gone.
Computers
- An ssh machine is listed from the options, and a session on it runs nested over ssh.
- A restart of this host leaves a nested session for the next one to resume.
- A profile names the OCI runtime its machines run under, such as
runsc.
Daemon
- On Windows,
ahpd stopandahpd restartreach the daemon through a named pipe, andstopwaits for it to exit. - The
shutdownmethod stops the daemon gracefully, and the host closes each WebSocket with 1001. ahpd pathslists, adds and removes the served folders, and a change reaches the running daemon.ahpd statusshows the start folder.ahpd startlogs each stage, and npm installs a plugin on Windows.- A plugin's late problem is logged.
session:writeholdschat:write.- A 0.10.0 protocol offer is answered with 0.10.0.
Documentation
- The docs are a site at https://softov.github.io/ahpd/.