Skip to main content
xpander Desktop for everyone, Omni Sidekick on every page, AI Gateway as the only model path, MCP tool gateway, editable live surfaces, agent-built skills and connectors, native Slack tools

New Features:

  • xpander Desktop for everyone: Desktop is open to every cloud member. Install it from the branded download page, with Homebrew, npm, apt, winget or Scoop, with a one-line curl or PowerShell command, or roll it out through MDM with installer packages and a managed URL profile. Connector sign-ins finish in your system browser, and Desktop says what is wrong when an xpander URL cannot be reached. Self-hosted and air-gapped installs serve Desktop from their own UI image.
  • Computer control on Desktop: Agents can zoom into a screen region at full resolution, an App automation switch (on by default) controls app scripting, and a Limit risky apps setting (off by default) adds per-app control tiers with an Esc stop that cannot be faked. Deleting files refuses folders that hold secrets or trusted roots.
  • Omni Sidekick: A floating Omni widget is available in the chat app and on every Platform page. Drag it anywhere and it keeps its spot. It reads the page you are on, with secrets removed, and the conversation you have open. Omni can read and change admin settings for you (members, groups, roles, models, budgets, rate limits, API keys, policies, channels, secrets, projects, knowledge bases, approvals, the skills registry and the MCP registry). Every change is staged on a confirm card, you approve it, and it is audited. The same admin tools are on the Omni MCP server.
  • AI Gateway is the only model path: Every model call, including Bedrock, agent-level endpoints and keys, OpenCode off-catalog models and Codex on a person’s ChatGPT plan, now goes through the gateway. The LLM Gateway is renamed AI Gateway in the product.
  • Bring your own models, round two: Custom endpoints work with Claude Code, Codex and OpenCode, including Anthropic-protocol endpoints. A Test model card checks a model before you use it, models discovered on your own endpoint wait for approval with a model profile, and a watchdog checks custom endpoints every 2 minutes, marks unhealthy ones on the Models page and alerts you.
  • Rate limits: Set gateway rate limits per second or over a rolling minute, with a floor, live use and a model rate test, right inside the budgets table.
  • MCP tool gateway: mcp.<your domain> serves one MCP gateway for each person, whose catalog is that person’s tool library. Sign in with OAuth and connect connectors from the MCP client itself.
  • Editable live surfaces: Type straight into text, diagram, HTML and title blocks, edit any block inline and see its edit history. New diagram and HTML blocks, governed images, and one block that can join several sources with a preview of each. HTML dashboards stay inside a live surface, and reports in chat default to live surfaces with live sources.
  • My Surface: The agent home is a live surface built from your own conversations and runs, with lanes, board settings and instant load.
  • Agents build skills and connectors: An agent can build a SKILL.md skill, a connector from an OpenAPI spec (with OAuth2 sign-in read from the spec), or a desktop connector that records the steps of an app with no API. Each one starts as a draft. Admins approve and test agent-built items in the skills registry and set who may build them.
  • Native Slack tools for agents: Agents get built-in Slack tools. An agent asks for approval before its first Slack message to a new person, and with Each user an agent can post from a person’s own Slack account after they connect it.
  • Branch a conversation: Start a new conversation from any message.
  • Conversation hover card and progress card: Hover a conversation in the sidebar to see its status, a one-paragraph recap and its runs. A long turn shows a task card with its real steps, and the Worked for fold splits into Plan and Activity.
  • Who can send tasks to new agents: An org or group default in Policies decides who may send tasks to newly created agents, and agents that Omni builds get their creator’s default.
  • Custom-header MCP servers: The MCP form tests every auth mode and refuses a save that cannot connect.
  • Get your Omni by API: GET /v1/agents/omni returns, or creates, the Omni of the API key’s owner.

Improvements:

  • Platform pages redesigned: Every Platform page follows one layout. The Tool repo is now the Skills registry under Agents and scales to hundreds of items with approvals first, Models provider rows open a panel with Enable all and Disable all, and per-rule saves never overwrite another admin.
  • The product name is Omni across the web app, Desktop and user-facing messages.
  • Billing and usage: A turn configured for a personal plan never bills the organization key without asking, plan usage stays current through the gateway, a usage window past its reset shows as started over, cache read and write tokens are shown beside input and output, and each gateway call is priced by who pays for its tokens.
  • Faster Logs: Session turns read from call summaries, and the trace pane shows every marked turn’s message.
  • Approvals: One Manual-mode approval covers its whole tool group for the run, including calls held in parallel, and a reply resumes correctly after an approval decision.
  • Secrets: Harness agents can see and request organization vault secrets that are not bound to them, through a binding link page, and the workspace secrets link now lasts 7 days.
  • Chat: Smoother streaming, pinned conversations kept on the server, conversations open at their latest message, the running turn’s steps show when you reopen it, See all conversations follows the sidebar filters, a question card can be skipped, and image tool results show a thumbnail that opens the file.
  • Phone layout: The composer pickers move to a tray under the input and the Omni launcher stays clear of Send.
  • Live surface PDFs print light in dark mode and include their images.
  • Security: Agent-written config can no longer switch off the harness gate or the platform model login, unused APIs that logged secret values are removed, and base images are patched for critical vulnerabilities.
  • Self-hosted: Hybrid policy checks keep the last policy bundle while the cloud is unreachable, and an environment is only offered the built-in tools its controller supports.
  • Google Drive built-in creates folders and uploads into a chosen folder or shared drive.
  • The built-in User policy and role now show as Member.

Bug Fixes:

  • Fixed @Agent mentions starting a task on every tagged agent, and a card raised by a summoned agent not resuming on that agent.
  • Fixed a workflow Agent node not returning when a harness turn finished, and manager-agent runs not failing on a team error.
  • Fixed MCP elicitations not being answerable through the public tasks API.
  • Fixed a relayed turn replaying an earlier turn’s answer.
  • Fixed turn recovery interrupting a live process, and a CLI switch on a live process staying on the old CLI.
  • Fixed a child task on another agent not being claimed.
  • Fixed workspace paths inside tool arguments not being mapped.
  • Fixed the async webhook answering Started when the run was refused.
  • Fixed Omni cards landing twice on a direct task, one delete card per agent in a batch delete, and unreadable list changes in the agent diff card.
  • Fixed each staged agent not getting its own Publish card.
  • Fixed personal skills not being shared when attached or injected by the skills registry.
  • Fixed direct connector invokes on relative server URLs.
  • Fixed PATCH with gated_commands: null not clearing the gates, and task delete not removing the task.
  • Fixed API contract defects on custom functions, knowledge base updates, template import and webhooks.
  • Fixed live surfaces not reading the agent’s own local database, typed text lost on a save error, and updates not showing in the open surface pane.
  • Fixed shared HTML and text files not rendering when the content type had a charset, and .doc/.docx files not offering a download.
  • Fixed the model picker not drawing on first paint, and composer harness picks not showing their save state.
  • Fixed org-shared surfaces closing when their agent was not shared.
  • As always, our agents and humans continuously fix various bugs, and sometimes create new ones (that will be fixed in the next update.)
LLM Gateway live for every organization, Surfaces page and live data sources, email-triggered workflows, knowledge bases for harness agents, Teams channel posts, fine-grained policies and projects, old UI retirement

New Features:

  • LLM Gateway is live: Every model call now goes through one gateway: agents on every runtime, workflow nodes, summaries, bots, voice-note transcription, image generation and the platform’s own helper calls. Three new pages appear for organizations whose gateway answers: AI models & keys, Governance > Usage and Governance > Logs. Logs show a session cockpit with a tokens chart, a money toggle and the exact payer of each call, can be filtered by what started the run, mark unbilled platform operations, and keep prompt and response text by default, with capture settable per group. A Connect your tools wizard sets up Claude Code, Codex and OpenCode in one click, including Claude Code on your own Claude plan. Built-in xp-fast and xp-compaction model aliases are available, and the gateway forwards only allow-listed client headers upstream.
  • Log export to your own storage: Send gateway request logs as Parquet files to your own S3, GCS or Azure bucket every 20 seconds, one row per request with ids, models, route, tokens, cost and timings, never text. Test writes a real test file. OpenTelemetry export is available as OTLP/HTTP.
  • Surfaces page: Surfaces joins the left navigation and lists every live surface you can see, grouped by date, with All, Yours and Shared with you tabs, search, a small live preview per row and a menu to open, open full page, copy the link or delete. Starter cards for a dashboard, board, tracker, report or timeline open an Omni chat with the sentence started. The top-bar Live Surface button is replaced by this page and by Open surfaces in the command palette.
  • Live data in surfaces: A live surface block can read an attached connector or MCP tool and runs for each viewer exactly as the agent’s own call would, so a person never sees another person’s data. A block with no access shows a clear no-access state, publishing is one call that holds up under load, and the header is now the title, Data, visibility, Maximize and Close.
  • Email-triggered workflows: A workflow can start from an email sent to it and runs its full graph, with safe handling of inbound mail. An agent’s email settings list the last 20 emails it received, each opening in a viewer, and keep a 72-hour debug log.
  • Knowledge bases for harness agents: Agents on Claude Code, Codex and OpenCode can list and search their connected knowledge bases, read-only, as agno agents do. Knowledge bases are no longer gated and are available to everyone.
  • Agents post to Teams channels: An agent can post to a Microsoft Teams channel it is bound to, and thread replies continue the conversation with the agent.
  • Forms and withdrawals on approvals: An MCP server can ask you for input in an approval card with a form, and harness agents can run stdio MCP servers and MCP tasks. The person who asked can withdraw a pending approval, the approval card names the approvers and says the run resumes, and a declined approval answers one retry, not the whole conversation.
  • Fine-grained policies and projects: Policies can now name resources, conditions and an Ask effect, and decide agents, operations and commands. Agents belong to Projects, with a project picker, access per person and group, and project policies. The built-in Everyone group is named in policy grants.
  • Tool repo, round two: Add and edit items on the Tool repo page, set audiences and checks, and see versions. Items set to Off are hidden from lists, catalogs and Omni, and every invoke path is gated. An agent panel shows what the Tool repo turned off.
  • Agent-built tools start as drafts: A custom function an agent builds becomes a draft only the builder and the person it was built for can use. Each test run is stored with secrets masked, publishing needs a passing test and the user’s approval, and an admin switch can send publishing to an approval queue or turn building off for the organization, a team or one agent.
  • Guided setup for AWS: A guided Amazon Bedrock IAM role setup, with a Test connection, and an assume-role helper when connecting AWS connectors.
  • More ways to bring your own model: A custom endpoint provider is open to every cloud admin who may add keys, and the Azure endpoint is stored next to each Azure key.
  • Old UI retirement: The legacy console shows a retirement notice from 18 October and redirects to the chat app from 1 November. Custom container and OpenClaw options are hidden, and organization admins can create API connectors without a licence.
  • @mention an agent in an agent chat: An @Agent mention sends that agent a task, and the mention picker lists only agents that accept tasks.

Improvements:

  • Agents’ schedules run on the agent’s own harness and model. Scheduled tasks can no longer reopen a process held for a person, and only pending self-schedules count against the limit.
  • Notifications and unread: Notifications are marked read per user, the feed stays fresh, conversation rows share one source of unread truth, the organization-wide list refreshes when it changes, and a one-click notify bell sits on the chat status line.
  • Sources on conversations: Source chips show on the conversations list and the Session Manager, with the source filter back in the filter menu.
  • Cross-agent work: A task prompt names the sending agent, a clearer origin line replaces the old one, and a run on another agent is a step in the thread, not a card.
  • Usage and budgets: Usage Costs grouped by Person names the members, budgets bind runs on your own keys on every billing plan, and budgets are enforced on self-hosted installs.
  • Platform audit: A full audit of the Platform console fixed model pickers, action pickers, request details and access policies, and models bulk actions are open to every admin.
  • Faster pages: The surfaces list is compressed and skips redundant reads, surfaces open instantly, the creating task’s log is left out of lists and views, and the trace timeline folds runs of plain calls into range rows.
  • Security hardening: A user-chosen model endpoint never receives an xpander key or reaches internal addresses, its address is pinned against DNS rebinding and validated when saved, expired organizations cannot run agents through the webhook, relayed calls no longer replay as the install service key, harness start_service commands are gated, reserved environment names are refused before a secrets link collects them, and base images are patched for two known vulnerabilities.
  • Rendering: Diagrams render with a new built-in renderer, connector and provider logos are bundled and theme-safe, and an MCP row shows its status in the Connection row with tools as a checkbox table and descriptions on hover.
  • Agents’ prompts: The agent description is left out of harness and OpenClaw prompts, and the managed description is regenerated on every publish.
  • Self-hosted and air-gapped: The workspace secrets link and asset links use the install’s public host, Redshift IAM sign-in works, Claude Code on a pinned Bedrock model keeps its model family, and removed connectors are dropped from the on-prem library.

Bug Fixes:

  • Fixed a harness run parked on an MCP sign-in not resuming when the sign-in completed.
  • Fixed a remote MCP session dropped by the server ending the run; it reopens and an expired token is refreshed.
  • Fixed an MCP server reading as Connected before a tool call had worked.
  • Fixed an agent save re-checking an unchanged default user, and the app hiding the reason when a save was refused.
  • Fixed agent enable and disable riding a draft instead of going live at once.
  • Fixed a workflow created through the API losing its nodes.
  • Fixed a compaction wake loop, and Claude Code refusal retries going to direct Anthropic on Bedrock pins.
  • Fixed an open process that waits between turns showing a Working dot, and an answered question card staying in the thread.
  • Fixed a shared reply following a viewer’s model override.
  • Fixed schedule cards appearing in channel live surfaces.
  • Fixed OCR dropping text from some documents, and a stalled Redis holding up probes and the heartbeat.
  • Fixed large prompt captures not landing in time.
  • Fixed the Browser agent showing a duplicate screenshot operation, and harness agents missing the always-on screenshot tool.
  • Fixed storage signed links losing their token in harness output.
  • Fixed connector proxies not following same-host http to https redirects.
  • Fixed a warning missing when a live connector runs on a connection with no credentials.
  • Fixed the phone composer hiding the text field, and switched-to sessions not opening at their last position.
  • Fixed a conversation on an organization-wide agent reading Only you.
  • As always, our agents and humans continuously fix various bugs, and sometimes create new ones (that will be fixed in the next update.)
Accounts, Policies and Tool repo in Platform, agents that message people, control over who can task an agent, pin an agent to a Claude plan, MCP sign-in with your SSO token

New Features:

  • Accounts: Organizations you operate are now Accounts, replacing the MSP wording. A new Accounts page lists them with members and spend, Open account switches into one, and a public Accounts API creates, updates and removes accounts and manages their members and budgets. Account creation hands the first admin an invitation, or a one-time sign-in link when email delivery is off.
  • Policies and Check access: Platform > Access gains Policies, where you write and attach access policies to people and groups, and Check access, which shows what a person can do and which policy decides it. Members shows each person’s effective role, and roles are policies.
  • Tool repo: A new Platform page lists every callable item in one place (connectors, built-in tools, skills, MCP servers and custom functions) and sets each one Optional or Off. For connectors and MCP servers you can also limit the tools to all, read-only or a custom selection, and the choice is enforced wherever agents run.
  • Agents can message people: An admin can let an agent send a direct message to a person in the organization. It goes out on the person’s linked Slack, email, WhatsApp or Telegram, comes from the agent, and a reply continues the agent’s conversation. Turn it on under Channels > Direct messages and choose the channels and the people it may reach.
  • Choose who can send tasks to an agent: Each agent’s owner decides which agents may hand it work, from agent settings. Omni is one entry on that list and replaces the Omni discovery switch. A delegated task shows the source agent, the user and the rule that allowed it.
  • Pin an agent to a Claude plan: Pin a shared agent to your own Claude plan so every turn, including scheduled ones, runs on it. Give each plan a name, see the connected Claude account and its usage in the model picker, and get a bell notification when the plan reaches its limit. A spent plan falls back to the organization’s licence and returns when the limit resets.
  • MCP sign-in with your SSO token: An MCP server can now authenticate with the signed-in user’s SSO token, so each person reaches it as themselves.
  • Move serverless agents to an external harness: The external harness is offered to serverless agents, on the agent home too, with a banner that shows progress until the agent switches.
  • Live Surface gallery blocks: New block types with typed table columns and kanban cards give agents more ways to lay out a report.
  • Disk that grows by itself: A harness agent’s disk grows automatically when it reaches 90% of its limit, up to five times the base size, and the owner gets an email with the largest folders and a link that opens the agent with a cleanup prompt.
  • Open an agent chat from a link: A link can open an agent’s chat with a prefilled prompt.
  • Background tasks model: One setting chooses the model used for background tasks, replacing the agent routing model card.

Improvements:

  • Sidebar: One notice on each row replaces the status pills: green only for a real unread answer, a glow for a failed resident session, and an Unread filter that matches. Finished resident sessions join the date timeline and a failed delete only restores the row.
  • Cost and billing: Totals separate what xpander bills from what your own keys cost, the cost split shows who pays, an organization sees one money unit everywhere, and per-end-user budgets now apply. Tier-contract customers see their tier statement, and the licence view shows the licence start.
  • Schedules: Regular agent schedules show a paused state with Pause and Resume, schedule edits keep the agent’s default user, and empty schedule prompts are refused. A self-schedule from a live harness process fires as a followed turn in the same conversation, and scheduled surface refreshes update their surface in one conversation.
  • Inactive agents are refused on every run path and their schedules skip.
  • Harness agents: The composer’s model pick is honoured on Claude Code and Codex, a failing MCP server is skipped instead of stopping the run, a turn ends with the provider’s error instead of retrying silently, OpenCode works with custom OpenAI-compatible providers, custom provider picks run on agno turns too, typed live surface blocks are the default over Markdown, and Claude Code is updated to 2.1.289. Fleet nodes can run on kernels without Landlock where the chart allows it.
  • Sub-agents: Each sub-agent gets its own live row instead of “N sub-agents running”.
  • Chat: A chat keeps up with a run opened mid-way, the working indicator follows the process’s activity, @mentions render as chips in the Session Manager, the in-chat live surface preview has a capped height, a direct-turn thought reads as a plain step, and a harness agent’s skills/ folder opens read-only in Computer. Shared-session agent threads stay out of the lists and unsaved tool toggles survive a refresh.
  • Slack: Messages from Slack apps count as bot senders without an Authorize card, a reply to an agent’s channel post continues its conversation, an agent’s own posts have no Open in xpander button, a thread read keeps the whole instruction, and an agent’s DM shows the agent and reaches a person linked in several workspaces. Messaging channels answer in text and publish a live surface only on request.
  • Security hardening: Revoked API keys stop working at once, MCP sign-in tokens no longer carry the organization key, file uploads are scoped to the caller’s organization, the custom function sandbox is walled off from the network, an unused connection-string endpoint is removed, only the chat widget may be framed, and logo and avatar pickers no longer accept SVG.
  • Sign-in: The legacy token handoff is stripped from the URL and PKCE verifier cookies stay on the shared auth domain, fixing a bad_code_verifier sign-in error.
  • Custom providers: Test connection uses a stored key you pick.

Bug Fixes:

  • Fixed Finish process ending a harness run while questions, waits or background shell commands were still open, and an empty resident result showing the no-reply line instead of the last update.
  • Fixed a finished resident process reading as live in history, and a stale task notification showing as the result of a resumed Claude Code session.
  • Fixed a service exit on a harness agent showing as a note from a person.
  • Fixed a secret saved during a live fleet segment not reaching the next message, and link-saved secrets missing from a harness agent’s Secrets.
  • Fixed one bad tool failing an agent load; Omni now checks that an agent loads.
  • Fixed a task for another agent landing in the sender’s conversation instead of opening its own.
  • Fixed turns being able to bind the executor’s loopback ports.
  • Fixed filler descriptions on CLI tool steps.
  • Fixed the Scope check counting changes that were not real.
  • Fixed xplivesurface-create rejecting an inline manifest without a workspace path.
  • Fixed policy categories with no actions showing in the policy editor.
  • Fixed web-chat @Omni mentions not running as a guest turn.
  • As always, our agents and humans continuously fix various bugs, and sometimes create new ones (that will be fixed in the next update.)
Workflows in new UI, redesigned Platform and sidebar, debug logs for support, personal Claude plans, agent workspace copy and move

New Features:

  • Workflows are generally available on the new UI: No preview entitlement needed.
Workflow canvas with Start, a Score priority code step and End; Test opens, a request about a stolen security key is typed, Run, then the run card shows Done with a P1 result

A two-step workflow: Test with a request, Run, and the result comes back marked P1.

  • UI updates: The Platform settings pages are rebuilt on the chat design system, with details opening in a right-hand card. The sidebar is now a flat nav (New chat, Agents, Workflows, Scheduled) over one filterable conversation list, and it is resizable.
Members & groups page where clicking Bob Martinez opens a card with email, role, groups and agents

Platform > Organization > Members & groups: a member's details open in a right-hand card.

Sidebar navigation, the sidebar edge dragged wider and back, then the Recents filter menu with Agents, People, Source, Status and Date

The sidebar: New chat, Agents, Workflows, Surfaces and Scheduled over one conversation list. Drag its edge to resize it; Filters narrows the list.

  • Debug logs for support: Download a debug-logs zip from the Support dialog or the thumbs-down note. Feedback reports redact credentials, and sharing with xpander support is opt-in.
Thumbs-down on an agent reply opens What went wrong, a note is typed, Download debug logs is clicked and a Downloaded xpander-debug-logs-conversation zip message appears

Thumbs-down on a reply, add a note, then Download debug logs saves that conversation's zip.

  • Copy and move agent workspaces: Duplicating an agent, or moving it to an external harness, now copies its whole workspace and keeps its model.
  • Agent directory layout: Harness agents get per-conversation sessions/ folders and a shared/ folder, migrated automatically. The Computer view browses the whole agent directory.
  • Schedules in agent settings: Create and edit an agent’s schedules from inside any conversation. Scheduling for Claude Code, Codex and OpenCode agents is now managed by xpander.
New schedule card where a plain-language task is typed, Generate turns it into Weekdays 09:00 with its instructions, and after Add the schedule shows in Agent settings and in the chat

Agent settings > Schedules: describe the task, Generate fills in when it runs, then Add.

  • Slack questions as thread messages: An agent’s follow-up questions arrive as a new message with buttons that mentions you.

Improvements:

  • Faster, more scalable agent runs: Shorter cold starts, no per-user process caps, better spread across executors, and the fleet rolls itself after a new harness image.
  • Claude Code runs at the 1M-token context window, and Claude Sonnet 5.5 pricing is added.
  • Sub-agent steps nest under their Agent row, and Stop cuts only the running turn of a live process.
  • Harness agents start with the Playwright browser on, pick up newly added connectors mid-session, and get image text from Slack as context instead of in your message.
  • Self-hosted and air-gapped: Claude Code on Bedrock, the custom theme included, private-range MCP servers, and working skill bundle downloads.

Bug Fixes:

  • Fixed Slack system messages triggering auto-engagement, and stuck hourglasses or lost replies on steered Slack messages.
  • Fixed the pending-changes bar being invisible in light mode and the queue chip showing for files-only sends.
  • Fixed the sidebar pinning Omni on the platform home, and “Agent not published yet” appearing on real load errors.
  • Fixed duplicated agents switching runtime, and an MCP token under two identities forcing a sign-in.
  • Fixed a racing follow-up being answered twice, a lost steer from a finished child, and the answer before Finish process being replaced by “Done.”
  • Fixed unreadable skill bundle files, Add model missing on keyless providers, and connectors with unusual tool schemas failing on harness agents.
  • As always, our agents and humans continuously fix various bugs, and sometimes create new ones (that will be fixed in the next update.)