> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xpander.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# September 2026

> Product updates released in September 2026.

**2026-09-27**

Long-running agent processes, Session Manager, shared sessions GA, private and scoped skills, Claude Opus 5.5 default, budgets for your own keys

## New Features:

* **Long-running agent processes:** An agent on Claude Code, Codex or OpenCode now stays alive across messages as one resident process instead of starting a fresh run for every turn. While it works it posts progress notes and questions into the thread, it can pause itself until a time or an event (a pull request merge, a channel reply, your answer to a question) and wakes with the reason, and it ends the process itself when the job is done. Follow-up messages steer straight into the live process, and a parked process resumes at once when you write to it. In the app a live process shows an **In progress** pill with its current state and the agent's last note, an **Awaiting your answer** chip when it holds a question, **Finish process** in the Stop dialog and the conversation menu, and a finish card listing the **actions taken** (pull requests merged, branches pushed) as linked chips.
* **Confirmation before irreversible actions on shared work:** Closing or merging a pull request, changing its base, rewriting or deleting a branch, deleting or archiving a repository, and any write to a pull request or branch the process did not author now go through the person first.
* **Session Manager:** The Task Manager becomes the Session Manager. Inside a conversation it lists the session's turns, one row per message, under a summary card with state, turns, tool calls, duration and credits, plus **Stop** and **Notify**. A working reply reads "Working for Ns" over its latest activity and folds into "Worked for Ns" with details on hover once it finishes. Steering is the default for follow-ups, and you can pick an effort level for the agent.

![Acme IT Ops is mentioned in a shared session and answers, then Session Manager opens with Done, 2 turns, tokens, cost and duration above the list of turns](https://mintcdn.com/xpanderai-099931d1/OLVE_t2lWLfY5isq/images/changelog/2026-09-27-session-manager.gif?s=bf39d17caa27c36b733715bd849ebd29)

An agent answers in a shared session, then Session Manager lists every turn with its tokens, cost and duration.

* **Shared sessions are generally available:** A shared session room gets its own Session Manager listing every agent's turns with per-turn state and clocks, an **Activity** view with the session's total tokens and cost, and **Archive** and **Restore** in the session options menu.

![Move to a shared session dialog where the session is named Demo - Travel readiness room, Bob Martinez and Acme IT Ops are invited, then the new shared session opens with the imported messages](https://mintcdn.com/xpanderai-099931d1/OLVE_t2lWLfY5isq/images/changelog/2026-09-27-shared-session.gif?s=6b9d96fec14cae496058ae700d728b13)

Conversation actions > Move to a shared session: name the session, invite people and agents, and it opens with the conversation's messages.

* **Private and scoped skills:** A registry skill can be organization-wide, restricted to groups or people, held by specific agents, or private. Manage the whole audience in one place, see provenance badges for agent-created and repository-managed skills, and repository-managed skills render locked. Settings gains a **Skill Registry** with **Code skills** and **MCP servers** tabs: create private code skills, import Markdown or ZIP bundles, edit instructions and pick the audience. A publish API lets a repository push skills to the registry, and audiences are enforced on the files delivered into an agent's workspace.

![Skill card showing Shared with Private, then People is chosen, the Engineering group is picked and saved, and the skills list shows it shared with a group](https://mintcdn.com/xpanderai-099931d1/OLVE_t2lWLfY5isq/images/changelog/2026-09-27-scoped-skill.gif?s=668c1a38c354002d33ce0b314aaa085f)

Settings > Skills: a new skill starts private; share it with the Engineering group and Save.

* **Secrets manager, round two:** A connection can reference a Vault secret instead of holding a pasted token, and the OAuth **Authorize** flow stores the token server-side as a Vault secret the browser never sees, honoring **Personal** or **Organization** access. A shared **Add secret** dialog covers OAuth, API key and String types, and a String secret reaches the agent as a file with the bound variable carrying its path. An agent's **Secrets** list shows the secrets its connections use, and a secret deleted underneath a connection is flagged as missing instead of failing silently. Admins can set a default location for new secrets, including write-back to Azure Key Vault.

![Vault secrets with no secrets, Add secrets lists vault secrets, DEMO\_STATUSPAGE\_TOKEN is added, and the agent shows 1 secret with Always, Ask for approval or None access](https://mintcdn.com/xpanderai-099931d1/OLVE_t2lWLfY5isq/images/changelog/2026-09-27-agent-secret.gif?s=2cc46ee8753b16eb82de6c2c0669f750)

Agent settings > Advanced > Vault secrets: add a vault secret to the agent and choose when it can read it.

* **Claude Opus 5.5 is the default model:** New agents, workflows and Omni-built agents start on Claude Opus 5.5 on Anthropic and Amazon Bedrock, and agents on Claude Code run it. Under Claude Code the Bedrock rail lists Anthropic models only, since the CLI cannot run the others.

* **Budgets for your own keys:** Per-task, agent, user and organization budgets now accrue spend at nominal cost for agents running on your own provider key, so warnings and stop thresholds apply while your usage stays unbilled. Usage is attributed to the model that actually answered, with compaction and summarizer calls categorised separately. The agent API accepts your organization's custom-provider slugs, custom providers show under a harness lock when their protocol matches, an unpriced model reads "Set a model cost to enable", and a worker falls back along the model chain when a model keeps producing tool calls its provider cannot parse.

![Agent settings scrolled to Budget, Per-agent budget switched on, the monthly limit set to 2000 credits with Warn at 80 percent and Stop at 100 percent](https://mintcdn.com/xpanderai-099931d1/OLVE_t2lWLfY5isq/images/changelog/2026-09-27-budgets.gif?s=389b7c3199955cd935e0adacb1c8febb)

Agent settings > Advanced > Budget: turn on a per-agent budget, set 2,000 credits a month, warn at 80% and stop at 100%.

* **Slack replies land where the conversation began:** A conversation opened from a Slack channel keeps answering into its origin thread even when it continues from the app. Agents can @-mention people by name in Slack replies, and user-group mentions are understood. The Slack block in an agent's Channels card is regrouped into **Auto Engagement Rules** and **Agent handle**, with the explanatory prose in folds.
* **Name a conversation from its first message:** A title directive in the opening message names the conversation deterministically, and generated titles stay put when a turn finishes.
* **Browser switch on harness agents:** **Advanced > Runtime** gains a **Browser (Playwright)** switch; turning it off starts the CLI without the browser server for lighter, faster turns.
* **Change the connection of an MCP skill:** A remote MCP skill's row shows its connection and offers **Change connection**, keeping its exposed tools and approval settings.

![Agent settings where the Acme Inventory row expands to show its connection, then Change connection opens the connection picker](https://mintcdn.com/xpanderai-099931d1/OLVE_t2lWLfY5isq/images/changelog/2026-09-27-change-connection.gif?s=e2f10b3eacec3f7efd94ad058d8c0d7e)

Agent settings: a skill's row shows its connection, and its menu > Change connection lists the connections to pick from.

* **Pending tool approvals on the task API:** A gated agent's held tool calls are visible on the task read endpoint with their summary, reason and deadline, and can be decided from the API.
* **Local database skill on a shared file:** The local DB tools accept a database path, so an agent can work on a SQLite file in a shared location.

## Improvements:

* **Faster turns:** Idle executors wait on the controller for work instead of polling, warm segments stay ready between turns, a follow-up reaches a live CLI within about 50 ms, the agent payload is cached on the executor, admission gates run side by side and are warmed when a schedule fires, harness turns use a one-hour prompt cache, and the CLI prompt and tool listing are smaller. Fleet nodes run 32 turns each, and turns no longer end on a wall clock while the agent is alive.
* **Sidebar:** Agents are pages with a flat recent list and card hovers, the agent home no longer repeats **Recent sessions**, a new conversation appears at once under the **Me** filter, and conversations can be found by name.
* **Notifications:** One **Notify me when it finishes** switch shows whether you will be notified, and an owner receives a single completion notification instead of two.
* **Chat rendering:** Bubbles stay mounted through send, stream and the post-turn sync, the pending reply shows a thinking shimmer from half a second, timers start from the last user message, long prompts collapse in attachment bubbles too, tool rows open as pending and fill in place, and a platform stop notice reads as a status line rather than the answer.
* **Harness step names:** Steps are named by tool and argument on every CLI (Read file, Search in files, Load skill), never by runtime label or raw shell line, and process plumbing never shows as a tool row.
* **Live surfaces:** Manifests accept `type` as an alias for `kind`, every rejection names the valid block kinds, a bad file write answers with repair details, a prose-led surface shows a title-first tile with an **Open live surface** label, and dual-line chart labels stay legible when an edge label is long.
* **Execution status truth:** A thread whose sub-task failed lists under **Failed**, the sidebar dot lights only the executing agent, Slack senders show their name or a Slack label instead of a raw id, and a finished sub-task flips its badge within seconds.
* **Developer access** shows the conversation invoke URLs with the streamed reply and how to continue the conversation.
* **Air-gapped and self-hosted installs:** A Claude Code agent falls back to the Bedrock sibling when the Anthropic leg has no credential, the Bedrock credential chain is re-probed after a miss, price rows for your own keys stay out of the model pickers, and per-request log noise is off on the pods.
* **Workspaces:** Clones inside a conversation are git worktrees over one shared object store per repository, with a 20 GiB disk default, and conversations created before this release adopt a resident process on their next message.
* **Security:** The agents service refuses an agent outside the caller's organization, and client-supplied ids are normalized and validated at every route.
* **SSO:** An identity-provider error at the callback shows the provider's own message and lands on the login page, and pre-authenticated agents exchange the SSO user's stored token when the turn carries none.

## Bug Fixes:

* Fixed a Claude Code turn never ending when the LLM proxy refused the call; it now ends and shows the upstream reason as a failure card.
* Fixed the chat **Stop** button not halting a running harness turn on a self-hosted controller.
* Fixed a reply being replaced by an earlier turn's text after the turn ended.
* Fixed a recovered tool error marking the whole turn **Failed** in the Session Manager.
* Fixed a reply splitting into two folds when a progress note landed mid-turn.
* Fixed workflow schedules silently doing nothing after their first fire.
* Fixed per-agent harness settings never reaching the fleet harness.
* Fixed a Slack channel turn showing "Something went wrong" when the agent finished by waiting for an event.
* Fixed Slack @-mentions being lost in piped tokens and table cells, and handle requests in channel threads being dropped without a trace.
* Fixed simultaneous Slack alerts being lost during a roster rate limit, and the app joining Slack channels on every page load.
* Fixed a chat crash when opening a conversation that contained an Omni delegation.
* Fixed saving an agent resurrecting a connection that had been removed, and a connector without a spec breaking every call to the agent.
* Fixed a rejected organization LLM key adding a round trip to every call; it is parked and the platform key serves at once.
* Fixed a message sent with no user being attributed to the logged-in user.
* Fixed API connector enrichment failing under OpenAI strict structured outputs.
* Fixed the MCP OAuth consent redirect pointing at the API host when the app URL was empty.
* Fixed the pending counter starting at the idle gap and a finished reply re-typing itself.
* Fixed A2A message/send hanging on harness agents, and webhooks answering before the agent replied.
* Fixed a greeting being titled "New Task".
* **As always, our agents and humans continuously fix various bugs, and sometimes create new ones (that will be fixed in the next update.)**

**2026-09-22**

Faster replies, token streaming, inline skill cards, the conversation API, Omni as an agent

## New Features:

* **Faster replies:** Your message goes straight to the agent and the reply starts as soon as its model answers. The Task Manager shows one row per conversation, with every message as a turn on it, from every channel: Xpander Chat, the REST API, Slack, Teams, WhatsApp, Telegram, email, webhooks, A2A, MCP clients and schedules.
* **Text streams token by token:** An agent's reply streams as it is written, including for agents on Claude Code, Codex and OpenCode. A dropped stream resumes where it left off.
* **Skill calls inline in the thread:** A turn reads like a plain chat: your bubble, the agent's text as paragraphs, and each skill call as a collapsed row with **Summary** (what it asked, what came back) and **Full** views. No task card in the thread.

![A message about the weather in Berlin is sent, a Get Berlin weather step appears and the reply streams in, then the step opens on Summary and switches to Full with its input](https://mintcdn.com/xpanderai-099931d1/OLVE_t2lWLfY5isq/images/changelog/2026-09-22-skill-calls.gif?s=ca3fca87f7e74beaa5a39d8cebfe282f)

The reply streams in, the skill call is a collapsed row, and opening it shows Summary and Full.

* **Conversation API:** Send messages to an agent, stream replies, queue or steer follow-ups, stop a turn and read the thread back under `/v1/agents/{agent_id}/conversations/...`. `GET /v1/tasks/{task_id}` and the SDK expose `conversation_id` and `conversation_kind`. See the [Conversations overview](https://docs.xpander.ai/api-reference/v1/agents/conversations/overview.md).
* **Omni is an agent:** Omni is an agent like any other, with its own skills. The `@Omni` mention in a chat and the Omni MCP connector for your own clients work as before.

![Omni's chat with Agent settings opening, Core Skills expanding to show its built-in and optional skills, then Schedules and Channels](https://mintcdn.com/xpanderai-099931d1/OLVE_t2lWLfY5isq/images/changelog/2026-09-22-omni-agent.gif?s=29116846e539b9381c277fc530d92932)

Omni's Agent settings: its own mode, skills, schedules and channels, like any other agent.

## Improvements:

* **Structured output on request only:** A task's `output_schema` is honoured as-is, including on scheduled runs; without one the agent answers in its configured format.
* **Credits:** Every message is one invocation credit plus the model usage and skill calls it makes.
* **Weather, past conversations, inbox, channel history and result delivery** are built-in skills on every agent that has the matching channel.

## Bug Fixes:

* Fixed a scheduled run's `output_schema` being ignored.
* Fixed a conversation on Claude Code, Codex or OpenCode losing its session between messages.

**2026-09-20**

Secrets and credentials manager, skill sharing and a publish API, archived conversations, gated web access

## New Features:

* **Secrets and credentials manager:** A new **Secrets** section on the agent declares which credentials it needs and shows their status. Personal credentials live in **My connections**, with a guided vendor wizard and validation. Vaults support typed secret kinds with metadata and `.env` bulk import. Secrets resolve on every turn, including personal credentials and a git credential helper inside the agent's workspace.

* **Share skills with control:** Skills carry visibility scopes and per-agent grants, provenance badges, and locked repository-managed skills. A public publish API publishes a skill to the registry programmatically.

* **Archive conversations and tasks:** Conversations and tasks can be archived and unarchived, with an archived filter in history and matching public API routes.

![Archive is confirmed, the conversation leaves the sidebar list and shows an Archived bar with a locked message box, then Restore brings it back](https://mintcdn.com/xpanderai-099931d1/OLVE_t2lWLfY5isq/images/changelog/2026-09-20-archive.gif?s=f48a3afd70e018cd5a5f29561401d491)

Conversation actions > Archive: the conversation leaves the list and is read-only until Restore.

* **Reasoning tab in the execution log:** The agent's thoughts are collected on a dedicated **Reasoning** tab next to the execution log.
* **Reports from Markdown:** An agent can publish a Live Surface report from a title and Markdown; xpander builds and validates the layout.
* **Gated web access:** Gated mode now holds the harness's web-fetch and web-search calls for approval, and the gated commands editor is available on agents running on Claude Code, Codex or OpenCode.

![An agent in Manual approval mode asks to fetch a web page, the WebFetch request waits with Decline and Approve, it is declined, and the agent replies that it did not load the page another way](https://mintcdn.com/xpanderai-099931d1/OLVE_t2lWLfY5isq/images/changelog/2026-09-20-gated-web.gif?s=ea734add2b97a449abb1ec353f380af8)

With Manual approval, the agent's web fetch waits for Approve or Decline; after a decline it does not go around it.

* **Conversations move between harnesses without losing context:** A handoff digest carries a conversation's context when it switches between Claude Code, Codex and OpenCode.

## Improvements:

* **Scheduled runs in the thread:** An agent's scheduled runs read as regular thread lines with a next-run bar, and the thread stays live as runs land.
* **Model picking:** The LLM settings model picker is searchable and scrollable, and creating an agent without picking a model follows the organization's default LLM.
* **Workspace persistence:** `pip` installs persist across turns, and plan files live in the conversation's working directory.
* **Step names:** Skill steps served over MCP are named by the call they made, and action steps show the workspace root correctly.

## Bug Fixes:

* Fixed scheduled-run Slack replies being lost when a run produced an empty result.
* Fixed legacy MCP OAuth callback URLs breaking after a registry migration.
* Fixed creating an agent wiping all pending self-scheduled jobs.
* Fixed thread scroll jumps and a background refetch storm in long conversations.
* Fixed message content being clipped while resizing the chat window or a panel.
* Fixed the conversation breadcrumb running under the share badge in a narrow chat column.
* Fixed Slack auto-engagement rules not being evaluated for user mentions; the Slack channel now shows on task list rows next to its agent.
* Fixed an organization switch reloading the old organization's URL instead of landing on home, and stale user caches surviving the switch.
* Fixed deleting an agent not stopping its in-flight turns.
* Fixed attachments and the shared local database not being accessible to agents on Claude Code, Codex or OpenCode; the local database skill works there now.
* Fixed a task being misrouted to the wrong runtime and reported as successful when an agent's metadata could not be resolved.
* **As always, our agents and humans continuously fix various bugs, and sometimes create new ones (that will be fixed in the next update.)**

**2026-09-17**

Slack agents can answer into other channels, concise progress in Slack, Teams and Telegram

## New Features:

* **Send a Slack agent's replies to another channel:** A channel routed to an agent can now answer into other channels as well as, or instead of, the one it was asked in - an alerts channel, a leadership channel, or both. Pick **Where** on the channel row: *This channel* (the default, unchanged), *This channel and more*, or *Somewhere else*, then add up to 10 destinations. The workspace app posts the copy under the agent's own name and avatar, so no per-agent Slack connection is needed, and a relayed answer carries a **Relayed from #channel** line so readers can see where the question was asked. The same destinations are the agent's own permission list while it works. Only completed answers are relayed; errors, progress updates and direct @mentions stay put. See [Slack](https://docs.xpander.ai/guides/deploy/slack.md).

## Improvements:

* Channel turns show one updating status line by default, replacing the detailed skill list introduced in the May 3 Slack update.
* **Show detailed tool activity** opts into readable, deduplicated skill steps with a twelve-row cap. Native Slack details may remain visible after completion.
* Existing silent preferences remain silent, and raw shell commands are hidden from channel progress.

**2026-09-14**

Agents on Claude Code, Codex & OpenCode, executor fleet runtime, Runtime Environments, Slack agent handles, GPT-6 Astra

## New Features:

* **Run your agents on Claude Code, Codex, or OpenCode:** Agents can now run on Claude Code, Codex, or OpenCode inside xpander, chosen from a harness picker. The chat composer gains a combined CLI, model, and permission-mode picker, a slash-command menu, and held clarifying questions, and you can switch CLIs mid-conversation while keeping the full conversation history. Harness agents get skills sync, connected MCP servers, workspace secrets, dynamic tools, output format and schema support, their plans surfaced in the activity view, and human-in-the-loop approval for the CLI's own tools, and new conversation agents are now created on the harness by default.

![A conversation on OpenCode where the harness picker is filtered to Opus and switched to Claude Code, Opus 5.5; the next message is answered using the earlier reply, under a Continued on Claude Code divider](https://mintcdn.com/xpanderai-099931d1/OLVE_t2lWLfY5isq/images/changelog/2026-09-14-harness-switch.gif?s=a2d7d02b0a396c05dc165dba37ae83f8)

Switching a conversation from OpenCode to Claude Code: the agent keeps the history and shortens its earlier answer.

![Approvals set to Manually approve, a disk space question sent, a bash approval card with Decline and Approve, Approve clicked and a table of free disk space returned](https://mintcdn.com/xpanderai-099931d1/OLVE_t2lWLfY5isq/images/changelog/2026-09-14-permission-mode.gif?s=b8147a1feaf89050a6380c58e011f945)

Manually approve: the agent's shell command waits on an approval card, runs once approved, and the answer follows.

* **Executor fleet runtime:** Harness agents run on a shared, autoscaling executor fleet, a new agent is available instantly with no container to wait for, every turn runs in its own hardened sandbox with strict memory limits, agent workspaces persist on fleet volumes with quotas and cleanup, and compute usage is metered. The fleet scales on queue depth, and rolling updates drain executors without ever killing a running turn.
* **Runtime Environments:** Define a reusable runtime environment once and attach it to agents from a new settings tab with a full editor. Its configuration files land in the agent's home directory (for example `~/.aws` and `~/.kube`), and its context reaches the agent's prompts automatically. Agent-level memory files are also remembered across conversations now.

![Agent settings where Runtime environment is changed from None to Payments team, then asking who is on call for payments returns Priya Shah and Marco Rossi from the environment's context](https://mintcdn.com/xpanderai-099931d1/OLVE_t2lWLfY5isq/images/changelog/2026-09-14-runtime-environments.gif?s=56004670534713af63b5758f6b22931b)

Attaching the Payments team environment to an agent: its answer now uses the on-call context the environment carries.

* **Native Slack handles for agents:** Give an agent its own Slack handle, provisioned and routed natively, configurable per agent or workspace-wide, with admin authorization from workspace settings and clear setup and recovery guidance.
* **GPT-6 Astra and Claude Code on Amazon Bedrock:** GPT-6 Astra joins the model catalog with the full reasoning-effort range available in agent, workflow, and default LLM settings, and new Claude Code agents in xpander cloud now start on Amazon Bedrock with Claude Fable 5.1 as the default model.
* **Live Surface PDF export:** Export a Live Surface to a PDF natively, including on air-gapped installs, along with a round of rendering fixes.
* **Richer Live Surface documents:** Live Surfaces now accept rich text documents with in-page navigation and brand callouts, and full-page documents received layout polish.

![A surface named Acme IT policy at a glance where the Contents menu jumps to Reporting a lost device and then Passwords and MFA, each with a callout](https://mintcdn.com/xpanderai-099931d1/OLVE_t2lWLfY5isq/images/changelog/2026-09-14-surface-documents.gif?s=b1a4d436acc30604bad91ec94781ee93)

A rich text surface: Contents jumps between sections, and callouts flag the rules that matter.

* **Custom theme on public share pages:** An organization's custom theme now applies to logged-out viewers of public share links, and the custom CSS theme editor moved to a full code editor with syntax highlighting.

![Custom theme page where Emerald and then Pink are chosen as the accent color, then the page scrolls to the Custom CSS code editor and CSS is typed in](https://mintcdn.com/xpanderai-099931d1/OLVE_t2lWLfY5isq/images/changelog/2026-09-14-custom-theme.gif?s=fa6f2de0b2d2f4134bed285fb93a8e42)

Platform > Organization > Custom theme: pick an accent color and write CSS in the code editor.

* **Background users for integrations:** Configure a default background user and per-integration credential overrides, with channel credentials resolved securely from the vault at runtime.

![Agent settings where Advanced under Skills opens Default background user, bob is searched for and chosen, and the setting shows Bob Martinez](https://mintcdn.com/xpanderai-099931d1/OLVE_t2lWLfY5isq/images/changelog/2026-09-14-background-user.gif?s=37edc6deb85a262e8fc4fad337a01d18)

Agent settings > Skills > Advanced: setting the agent's default background user.

* **Sealed licensing for self-hosted installs:** Licenses are issued as sealed install and activation artifacts, agent and seat caps are enforced, and admins see a license-expiry banner in the navigation.

![License page showing Air-gap edition licensed until September 11, 2027, then Omni suggestions and promotions is switched off and on under Organization features, with a confirmation each time](https://mintcdn.com/xpanderai-099931d1/OLVE_t2lWLfY5isq/images/changelog/2026-09-14-license.gif?s=c43ad1ee3e5f53a7f145fae04bb6f6c0)

Platform > Organization > License: the edition and its expiry, then an organization feature turned off and back on for everyone.

* **Resume a task over the API:** A dispatched task can now be resumed programmatically, continuing the same piece of work instead of starting over.

## Improvements:

* **Invite-only cloud:** Cloud signup is now invite-only, visitors without an account are pointed at booking a demo, and new customer organizations are provisioned by our team with an admin invitation (US or EU region) in one step.
* **Sidebar and navigation:** Conversations are grouped by agent and recent activity with server-persisted read/unread marks, opening an agent narrows the sidebar with an org-wide switcher in the breadcrumb, Slack conversations group by channel, and the sidebar's background task-feed traffic was cut significantly.
* **Task steps read better:** Step rows now read as the model's own note with flat details, delegation steps fold together, shell steps are labeled from the actual command, and file paths display relative to the agent's real working directory.
* **Workflow builder hardening:** The new workflow builder reads test presets saved by the legacy builder, asks before deleting a router and cascades its branches, preserves notification fields it cannot display, seeds new nodes from the organization's default LLM, exposes a copyable cURL for the invoke endpoints, and loads every workflow's latest runs in a single request.
* **Budgets and BYOK clarity:** An organization-stored LLM key now counts as bring-your-own-key on every path, unpriced BYOK usage reads as "your own key: not charged" instead of a missing configuration, the per-agent budget editor points at the org-wide enforcement switch when it is off, and a budget block stops a running turn immediately.
* **Slack and Teams engagement:** Auto-engagement no longer drops messages arriving in the same second, bot-authored and attachment-only alerts are now read correctly on both Slack and Microsoft Teams, and Live Surface links render as Slack buttons.
* **Smarter heartbeats:** An agent's autonomous heartbeat now names what it actually found, stops repeating itself, and paces itself on its owner's failures rather than the whole organization's.
* **Secrets:** Replace or rotate a workspace secret straight from chat, and saving a secret no longer restarts a harness agent's workspace, it simply applies on the next turn.
* **Computer view:** Hidden files and folders are now visible in the agent's Computer view.

## Bug Fixes:

* Fixed conversation messages disappearing after a page refresh, and rapid realtime task updates being able to crash the app.
* Fixed Safari sign-in hanging on stale browser locks at startup.
* Fixed the provider models dialog closing itself when a price or access tooltip was hovered.
* Fixed agent lists failing to load when they contained legacy drafts, and pinned background credential identities being lost on save.
* Fixed basic-auth connections not sending their credentials on a self-hosted install.
* Fixed a sub-agent's clarifying question not reaching the parent conversation's live stream.
* Fixed links in a delivered task answer opening a new browser tab instead of the workspace pane.
* Fixed screenshot captures ignoring the requested viewport width and firing before a surface's entrance animation had finished.
* **As always, our agents and humans continuously fix various bugs, and sometimes create new ones (that will be fixed in the next update.)**

**2026-09-06**

Custom skill builder, LLM Providers table, workflows support in new UI

## New Features:

* **Custom skill builder in the new UI:** A new skill generator creates a custom skill from any OpenAPI spec, with AI enrichment when available and a spec-only path when it is not. Skill creation runs in the background so closing the dialog mid-run is safe, and custom skills now have a full lifecycle: upload a new spec version (preloading the current auth method), delete, and versioned generator updates with an ownership guard.

![Create connector dialog where the name Demo - Asset Register and a description are typed, asset-register.yaml is attached, then the progress steps finish with Demo - Asset Register is ready with 4 operations](https://mintcdn.com/xpanderai-099931d1/OLVE_t2lWLfY5isq/images/changelog/2026-09-06-custom-skill-builder.gif?s=d5c89c9465ad92d0e7522cd355b2530e)

Creating a connector from an OpenAPI spec: name it, attach the spec, and it is ready with its operations.

* **One Providers table for LLM settings:** LLM settings now show a single Providers table with keys, models, and costs per provider. Built-in rows meter the default rate while BYOL rows own their model costs, platform-wired default providers show their real Ready state, and provider costs are editable on licensed installs. A new usage and charges card shows BYOK cost in dollars, and wallet usage reads expose per-bucket pricing sources.

![Models page where the Claude Opus 5.5 row menu opens Test model, a message is sent and Claude Opus 5.5 replies Ready with its latency and token counts](https://mintcdn.com/xpanderai-099931d1/OLVE_t2lWLfY5isq/images/changelog/2026-09-06-providers.gif?s=66079a84b726a5c7b5b5ad3c6d975c37)

Platform > AI governance > Models: testing a provider's model from the Providers table.

* **Workflow run history and replay:** Workflows now record full run history with per-node runs, node history, and replay; a run test opens the task-run card, and the execution log gained an orchestration mode.

![Workflow canvas where 3 runs opens a list of earlier runs, the Dave Okafor security key run is opened and shows Done, its input, a P1 request logged result, then the execution log with Score priority, Workflow finished and Output Summarizer](https://mintcdn.com/xpanderai-099931d1/OLVE_t2lWLfY5isq/images/changelog/2026-09-06-workflow-runs.gif?s=ad5071642d3ec6cda9acbb5773aef894)

A workflow's run history: open an earlier run to see its input, result and every step of its execution log.

## Improvements:

* **Faster first token on long threads:** First-token latency was cut significantly on long conversations.
* **Sidebar polish:** Building on the new Conversations list, rows gained an action strip with double-click rename, phone swipe gestures, visible channel threads, and a failed run's red count now clears once you look at the agent.
* **Slack:** Auto-engagement now works for agents at any sharing level, and attempting to connect a Slack workspace already held by another organization returns an actionable explanation instead of a generic error.
* **Scheduled runs pace themselves better:** Daily managed schedules are spread across the whole day instead of clustering on the hour, and scheduled agent jobs are jittered to avoid thundering herds.

## Bug Fixes:

* Fixed steered messages rendering twice in the chat thread, and a user message being duplicated after a delegated agent task completed.
* Fixed message text disappearing when a mention pill was rendered, and the MCP skill picker losing its options across a refresh.
* Fixed Google Drive/Gmail built-in skills returning 500 on certain calls, and a Google Analytics report call failing with a 404.
* Fixed Live Surfaces not being accessible in shared conversations on self-hosted installs, and crash-recovered turns now surface their real result over MCP.
* Fixed zero-progress task stalls when a local skill served over MCP was starting up, and workspace MCP skills now launch by resolved path and explain failures from both output streams.
* Fixed workflow run steps and workflow skill rows showing raw internal ids instead of readable names.
* Fixed attachment upload failures into the workspace passing silently, they now surface with a toast.
* Fixed a legacy reasoning card reappearing at the start of some runs.
* **As always, our agents and humans continuously fix various bugs, and sometimes create new ones (that will be fixed in the next update.)**

**2026-09-04**

Sidebar task navigation and builder chat improvements

## Improvements

* **Find agent work from the sidebar:** The Conversations list brings agent, person, source, date, and status filters together, with pinned conversations, upcoming scheduled runs, and a See all view. See [Tasks](https://docs.xpander.ai/use/agents/conversations.md#the-task-record).

![Sidebar Filters menu where Agents opens, Demo is typed in the search, Demo - IT Helper is chosen and the list narrows under a Demo - IT Helper filter chip](https://mintcdn.com/xpanderai-099931d1/OLVE_t2lWLfY5isq/images/changelog/2026-09-04-sidebar-filters.gif?s=2376490bcad777283e26c6ad7280abf8)

The sidebar's Filters: narrowing the conversation list to one agent's work.

* **Builder chat:** Intermediate builder narration is suppressed while a build is in progress; normal conversation responses remain available outside the build.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.