Reference

Changelog

What changed in the platform and in this documentation, by date.

Updated 2026-10-10

2026-10-10

  • Support by email (CLI 0.61). Write in Support on /c, run ghosty support open or ask your agent ("report it to support"): a case opens with your account and your agents' recent errors, and we answer by email. Replying to the email adds to the case; if it was resolved, it reopens. ghosty support ls|show|reply lists and follows them. See .
  • Archive an agent (CLI 0.60). ghosty agents archive <id> or the archive icon in Agents: it stops answering on every channel (Teams is paused with its @handle kept, personal WhatsApp disconnects without logging out) and leaves the lists. Nothing is deleted for 7 days: ghosty agents restore <id> or Archived → restore brings it back as it was. After that it is deleted automatically. ghosty agents ls --archived lists them with their date.
  • When an agent is deleted, its WhatsApp Business numbers and Messenger pages become reserved: the connection is kept, they don't answer, and in Channels of any agent in the workspace they show in amber ("Reserved, no agent") so you can turn them on there without reconnecting anything.

2026-10-09

  • Archive a workspace from the terminal (CLI 0.59). ghosty spaces archive <workspace> does what Settings → Archive does: the workspace leaves /app and ghosty spaces ls, its agents and data stay. It shows the plan first (--dry-run) and asks you to type the slug; ghosty spaces restore <workspace> brings it back. Owner or staff; logged. API: POST /api/v2/workspaces/:slug/archive. See .

2026-10-08

  • Real per-channel permissions. Every platform tool declares who it serves (team or customers) and in which channels. What the agent is told it has, what its tool list shows and what it can run now come from the same rule: in WhatsApp Business, Messenger, the widget or a customer group it no longer sees editing its own identity, its rules, the full board or your personal accounts, instead of seeing them and getting rejected. Turning a tool off in a channel (--tool channel:tool=off) only removes; a team tool is never opened to customers. In the agent page, Connectors has a per-channel switch on each connector.

2026-10-07

  • Factory: your workspace CI box behaves like ubuntu-latest. With runs-on: [self-hosted, ws-<your-workspace>] every job runs on a fresh box with Ubuntu 24.04, sudo, Docker (services:, container:, docker build, Compose), Python, Playwright and stopped databases. actions/cache, the cache: option of setup-* and Buildx type=gha store next to the box, scoped per repo and branch; Docker Hub images come from a local mirror. Add 8g for an 8 GB box. See .
  • Factory: CI is graded by what it runs. "Agent ready" flags CI as incomplete when it skips the typecheck, lint, test or build scripts in package.json, and "Prepare repo" completes your existing workflow instead of adding another one.
  • Factory: slots per plan. F1 comes with 2 execution slots and 1 CI: runs and previews of PRs without a run (the "Start preview" button) share them. If every slot is a run in progress, new work shows "Waiting for a slot" on the card, the sprint and Tasks, and starts on its own.
  • Factory: a box per run. From the moment you sign the plan, the run has its own computer: @build builds there, @check tests a clean clone of the PR and the preview runs there; it's deleted when the run closes. If your plan already has all its runs in progress, the new one waits and starts on its own. See .
  • Factory: per-repo test environment. A setup: block in .ghosty/factory.md (services, test database, test variables, script) prepares the @build and @check work box before every run, with an empty database. If it's missing and needed, @plan proposes it from your CI. See .
  • Factory: warns when a role gets stuck and says why a run failed. While @plan, @build or @check work, a command running 8+ min, the same command repeated, errors in a row, going back and forth or apt install in a box leave a ⏳ in the thread and the role is told what to check; from the second one, a push to whoever asked. When an unhealthy run closes, a 🩺 with what happened, the critical step and what to change. ghosty factory runs why <run> (CLI 0.56) and stuck patterns in runs show --timing. See .

2026-10-06

  • Factory: where a run's time and money went (CLI 0.55). ghosty factory runs show <run> --timing shows each turn of each role with minutes, model and USD, the clock split into working / waiting for a person / other, and the commands that took 60 s or more. ghosty factory runs stats gives runs, % merged, median to PR and to merge, loops, red CI and cost per merged PR; runs ls adds time and cost. API: GET …/factory/runs/:id/timing and GET …/factory/stats. See .
  • Run the board and read the audit log from the terminal (CLI 0.50). ghosty cards pause|resume|reply <agent> <card> does what the thread's pause menu and "Ask for a reply" do; ghosty cards pending <agent> [--since] [--reply] lists conversations waiting for an answer and flags the ones that must not be answered (paused, escalated, outside the 24 h window, only a reaction). channels whatsapp integrations tells who answered each number last (--orphans: those left without an agent) and channels messenger ls does the same for pages. agents set --prompt-patch / --prompt-append change one piece of the prompt on the server's copy. ghosty audit ls reads the audit log; the agent page's Save and channel changes are logged now. ghosty factory runs ls|show|rename and agents ls --handle for the factory. See .
  • Download your databases and files. In /app/datos?tab=dbs, every database has .sqlite (the whole database, for sqlite3, DB Browser or DBeaver) and table.csv (the table you're looking at, opens in Excel). From the terminal: ghosty dbs export <agent> <db> [--table T] and ghosty me files export --out folder/, which downloads every file in the account into documents/, conversations/ and library/ (rerunning only brings what's new). API: GET …/dbs/:db/export and GET /api/v2/me/files?all=1. CLI 0.49.

2026-10-05

  • Factory: plan critic. Before building, @check reviews each plan in a separate conversation (sprint tickets too). If it asks for changes they go back to @plan; you can sign without waiting.
  • Factory: escalations in plain sight. When @check stops a request, the card shows what needs deciding at the top and approving takes a second click. A "✅" in the thread replies with that card: everything is decided with clicks.
  • Factory: CI completion wakes the factory right away (it used to poll every 2 min). @build no longer waits for CI.
  • Per-role rules in .ghosty/factory.md: ## @check sections (and ## @plan, ## @build). See .
  • Factory roles from the CLI: ghosty agents teams on <id> <workspace> --factory plan,build,check (or POST /api/v2/agents/:id/teams with factory) gives those roles to an agent; agents teams ls shows the roles it holds. CLI 0.48.
  • @check on Opus 5.5: like @plan, when its agent is a Claude one and nobody asks for another model.
  • Agent memory: the rules your team teaches an agent ("from now on…", "always…") live in its page → Memory, where you can see, edit or delete them. Each one applies to all its channels or to just one (WhatsApp, Messenger, a group). The agent saves them with agent_note_save and follows them in every conversation, customers included; a customer can never add one. They are separate from your personal Memories.

2026-10-03

  • Agent email on every channel, with attachments: enviar_correo attaches account files (archivo:<id>), sends up to 5 copies, replies go to the owner by default, and there is a cap of 50 a day per agent. From customer channels it still only goes to the address of the person writing, unless the owner opens it (Advanced or PATCH /api/v2/agents/:id with email.anyFromClients). See .
  • GitHub, Calendly, Deník, Sentry and Odoo in your chat and the app: they show up in Connectors; you connect them in Teams and your personal agent uses them with your account (not from customer channels).
  • Account-level connections: GitHub, Calendly, Deník, Sentry and Odoo are no longer connected workspace by workspace in Teams; connect them once and they show up in all your workspaces. Sharing with the team is still per workspace.
  • The factory resolves a conflicted PR by merging the main branch (github_push_files with mergeFrom).
  • Google Drive in Teams: what you connect in Studio (Connectors) now shows up in Teams Settings → Integrations, and the agent uses it with the account of whoever is talking to it. If you paste a private sheet link without having connected it, the agent gives you a one-click link to connect.
  • /app/connectors?connect=<id> starts a connector directly (used by Teams and by the agent's links).

2026-10-01

  • Past conversations: in your personal chat the agent can search your other conversations (chats_search), list recent ones (chats_recent) and read one (chats_read) when you ask «remember when we talked about…?». It sees your chats with any of your agents and, if you own the agent, your WhatsApp and Messenger customers. Never tests, demos or other people's threads, and never from a customer channel.
  • Memories: what your agents remember about you (preferences, stable facts) across your personal chats, never in WhatsApp, Messenger or demos. The agent saves them with memory_save when you ask; you see and edit them with ghosty me memories or GET/POST /api/v2/me/memories.
  • Long thread: the history returns largo: true once a chat re-reads a lot on every message (or was already compacted). POST …/conversations/:id/continue opens a new linked chat (continuesFrom) that starts with the end of the previous one.
  • The history (?archivos=1) places each file with afterIndex (which message it follows) and no longer returns deliveries older than the requested tail.
  • CLI 0.32: ghosty me memories ls|add|edit|rm.
  • CLI 0.31: spaces ls (and, for staff, spaces join|leave and spaces set --combo); channels whatsapp history --list --only-ads --column and link --ads-only to bring only ad leads; boards create warns when the workspace has no Sales; the new-version notice checks every hour.
  • CLI 0.30: support for staff without scripts — conversations ls --user, conversations show --why (who sees a thread and why), turns stats, push log and the Android app's novedades. For everyone: conversations archive|rm cleans an agent's history, agents docs dedupe merges duplicated documents, me files ls --q searches your files and chat --file attaches them.
  • CLI 0.29: ghosty turns cancel stops the turn and also what the agent left running in the background in that conversation. try and chat take --media (photos, PDF) as from the app. agents ls --engine --ids to operate in bulk; agents box --recycle also renews the box of Ghosty · Lite and Goose; agents set --prompt-mode replace.

2026-09-30

  • CLI 0.28: ghosty demos try (try a demo as a visitor, also across boxes) and demos history (staff). turns ls says whether a Claude turn resumed the conversation or started from scratch. Partners: credentials create --env-file/--format env, agent apply --prompt-file, try --verbose and the GHOSTY_PARTNER_KEY_SECRET variable.
  • CLI 0.27: schedule add --teams workspace#room/thread: the agent answers in that Teams thread at the time you set.
  • Versioned documents: replacing uploads a new version of the SAME document (keeps its name, access and the agents that use it) and the previous one stays in the history. CLI: ghosty agents docs replace|history|restore; API: …/documents/:doc/versions.
  • CLI 0.26: ghosty bags (monthly or one-time token bags), ghosty spaces renew|rename, ghosty usage --workspace (turns and tokens per agent and day) and turns ls --workspace --quota-hits (messages left unanswered for lack of balance, Teams too).
  • ghosty engines ls: the valid engines and models; a model that doesn't exist is rejected with the list.
  • agents set --tool channel:tool=on|off, --avatar and --bag; agents rm --from-workspace turns it off in Teams before deleting it.
  • dbs import asks you to type the database name when a replace leaves a table empty or removes more than half of it.

2026-09-28

  • documented: @plan, @build and @check work your repo from Teams while you sign the plan and the PR.
  • The verdict card shows risk (from what the PR touches), "Read first" with file:lines and preview screenshots on desktop and mobile.
  • New "Pass first review" metric: how many PRs you approve without asking for changes, plus review time.
  • in your repo (docs/agents/ + AGENTS.md): the roles read it and keep it current through PRs.
  • for @plan, @build and @check with a rubric per role, cost, and the optional @eval judge.
  • Each reply's footer shows the model that ran that turn.
  • ghosty-factory skill so your coding agent can prepare a repo for the factory: npx skills add https://ghosty.studio.

2026-09-23

  • Switch engines: PATCH /api/v2/agents/:id accepts engine (optional model). The agent keeps its identity, skills, knowledge, channels and permissions; conversation memory stays with the previous engine.
  • A new machine for an agent (after it is recycled) now starts with the skills and files you uploaded; before, it only got the identity.
  • Google Drive connector: the agent reads the sheets, docs and CSVs you pick in Google's picker, and can append rows or update cells. It only sees what you pick. See .

2026-09-21

  • Overridable system prompt: PATCH /api/v2/agents/:id takes promptMode (append | replace); with replace the agent is only your identity, without the Ghosty persona. The house persona now answers in the language it is written to (it used to force Spanish).

2026-09-16

  • Docs for agents: every page exists as markdown at <url>.md; "Copy markdown", "Open in Claude / ChatGPT" buttons and the MCP block; at /mcp/docs (search_docs, read_doc, list_docs, openapi); copyable prompts per guide; curl/TypeScript/Python tabs; "Try it" in the reference with your token.
  • Agent creator v2: Describe / Template / Blank, eight house , upload or download an agent's .yaml recipe.
  • Agent configuration API (/api/v2/agents/:id): identity, model, files, skills and MCP servers with the agent's token. ghosty-agent skill for Claude Code/Cursor/Codex: npx skills add https://ghosty.studio. Guide: .
  • The web chat now delivers PDFs and documents to the agent (it used to fail with "could not deliver").
  • WhatsApp per agent: on the agent card turn on the channel and tick which numbers (connected from Sales) it answers.
  • Hand over an agent to another account with its configuration, memory and files (card → Avanzado).
  • What the agent delivers (documents, images) is saved in your account files and shown on the web.
  • Archived conversations no longer show in the list.
  • This documentation is born: getting started, concepts, channels, connectors, protocols (ACP, A2A, MCP), API with OpenAPI 3.1, events, errors.
  • /docs/acp moves to (redirects).
  • /openapi.yaml and /llms.txt available.

2026-09-14

  • Correct mid-turn: writing to the agent while it works enters the running turn instead of waiting for it to finish (Teams and API).
  • The stream batches tokens on mobile so as not to saturate the UI.

2026-09-11

  • Scheduled turns: the agent can work for days without anyone connected (POST …/schedule).

2026-09-09

  • Connectors in the mobile app: EasyBits as the first live connector.

2026-09-02

  • An ACP agent comes back up on its own if its machine disappeared: transparent revive before the first message.

2026-08-27

  • Attachments are delivered as access to the file: the agent reads it with its tools instead of receiving an inline copy.

2026-08-26

  • ghosty-acp published on npm (MIT, zero dependencies).