OpenBot

Changelog

What's new in OpenBot

New providers, new ways to work as a team, and the fixes that make each release steadier. Every release is here, newest first, with what to do after you upgrade.

Latest release0.24.0ยท Sep 28, 2026

Download
Latest

OpenBot 0.24.0

Action needed after you upgrade

  • If you installed the Figma plugin before this version, Plugins shows it as not installed. Remove the old `figma` server from the MCP servers of the agent, then install Figma again from Plugins.

New

  • Ask an agent to set up another agent after it creates it. The agent can read another agent's profile, model, settings, skills, routines and MCP servers. It can install, turn off and remove local skills for another agent. It can set another agent to Workspace only, turn Computer Use off and change notifications. Only you can give Full access, turn Computer Use on, change auto-approve or change MCP servers. A new agent gets the access limits of the agent that creates it.
  • Ask an agent to change the provider, model or reasoning effort of another agent, as it can change a name. The agent gets an error that names the available models when a model is not available. OpenBot records which agent made the change, and the previous and new model.
  • Find local model servers, such as Ollama and LM Studio, and known ACP agents on your computer. Settings shows them under "Found on this computer", where you can add or hide each one. First run shows the same list. The scan sends no key and does not start a program that it finds. You can turn it off, or add more addresses and folders, in Settings.
  • Add a custom ACP agent, such as Goose, Qwen Code, Cursor or GitHub Copilot CLI, as a provider. "Check agent" starts the command once to make sure that it answers. Its environment variables are stored encrypted on your computer.
  • Edit a saved custom endpoint. An empty key field keeps the saved key. "Find again" loads the model list from the server.
  • Leave a joined server from its Server settings. OpenBot asks you to confirm, then removes the server from your server list. The server and its other members stay. To join again, you need a new invitation.
  • The iPhone app is in public beta on TestFlight. A card at the bottom of the sidebar shows the install steps and a QR code of the invite link. You can close the card. Settings > Mobile Connect always shows the same steps, the QR code and a button that copies the link.
  • Add Paper to the Plugins tab. Agents can read and change the file that is open in Paper Desktop. Install Paper Desktop, open it once, and open a file. Paper needs no key. The command of a local MCP server can now start with ~/, which is your home folder.
  • Search is available on mobile. It finds agents and the messages in their chats on the connected computer.
  • Resize the sidebar in OpenBot web, and drag it narrow to make it compact. A narrow browser window makes the sidebar compact by itself, as in the desktop app.
  • Open the usage report of a host from its menu in the OpenBot web server rail.
  • Press Cmd+K or Ctrl+K in OpenBot web to search all conversations on the host.
  • The "Waiting for replies" block now has a close button when every teammate has replied or failed. Before, a failed request kept the block above the message box until you sent a new message.
  • Open the server menu from the server name in the web client. The menu switches and adds servers, opens server settings and the marketplace, and sets the rail or menu layout, as in the desktop app.
  • Show the "Create your first agent" row in the web client sidebar when a server has no agents.
  • In the web app, change your display name and profile photo and disconnect account sessions. Open Profile from the account menu; it opens in the right panel of the agent on screen.
  • The web account menu now has usage, Settings (the host's settings), Marketplace, Send feedback, and Message, as in the desktop app. Before, it had only Sign out.
  • Open an invitation link in OpenBot web. The invitation page has an Open in browser button, and the web client opens the join dialog with the link filled in.
  • Open a plugin listing in OpenBot web. The plugin page has an Open in browser button, and the web client opens the marketplace on that listing.
  • "New chat" in the agent settings starts a new chat with the agent. The agent forgets the earlier chat. The earlier messages stay visible above a divider. The instructions, model, tools, memories, workspace, and browser do not change. It is available on desktop and in the web client, also for an agent on a joined server that is on this version or later.
  • OpenBot now has a macOS build for Intel Macs: download OpenBot-<version>-x64.dmg from the release. It includes the provider runtimes, Computer Use, voice input and remote desktop hosting. Intel Macs get updates for the Intel build, and Apple silicon Macs continue to get the ARM64 build. The Host package (PKG) is still for Apple silicon only.
  • The web client sidebar has channels, as in the desktop app. You can create, edit and delete a channel, open deleted channels, and use channel memories and routines. The "+" menu and the sidebar context menu have New channel.

Improved

  • The iPhone app shows an agent plan as a task list, as desktop does: a card that opens and closes, with the state of each step and a spinner on the step that runs. The last message of a chat and its read state do not include plans. Team API v4 now sends the plan of a turn beside its checklist text; older clients and hosts keep reading the text.
  • The iPhone app shows a file name in inline code, such as package.json, as desktop does: a type badge and the name in the colour of its file type. You cannot open the file from the phone yet.
  • On the iPhone app, the question form of an agent has no text field of its own. It shows "Reply in the chat" as one more answer row. Tap it, and the next message from the composer is the answer. Without that tap, the composer sends normal messages, also in a channel. A private answer still uses its own masked field.
  • On the phone, an answer from a teammate agent no longer shows as a queued message that you can edit, steer or move. The queue sheet shows it under "Waiting for replies". A computer on an older version does not send this information, so its answers still show as queued messages.
  • Show a "Connect your computer" screen in the web app when no computer is connected. It gives the three setup steps and the Download, Join with invitation and Refresh hosts buttons. Before, a small notice showed above an empty conversation. When the computers cannot load, an error message now shows at the bottom of the screen.
  • Show a centered screen with the same design when your computer is disconnected or connecting. It gives the reason and a Reconnect button. Before, a small notice showed above the conversation.
  • The web app and a joined computer now show Gemini and custom ACP agents from the host in the model picker, and can start agents on them. An owner or admin can download Gemini on the host. The host and the client must both have this version.
  • The web model picker shows the host's download progress, the Download and Cancel buttons, and the host's custom endpoints on the Custom tab, for an owner or admin. Your draft stays when you reconnect.
  • Show the OpenBot logo and an animated loading bar on the sign-in background while the web app loads. Before, the page showed only the text "Loading OpenBotโ€ฆ".
  • Ask before an import adds an agent whose name is already on the server, for example when you import the same export again. The dialog names the agents and says that each copy is a separate agent. Before, only an info icon next to the name showed this.
  • Mobile search shows one list of agents and messages, with no filter, in a rounded search field.
  • The search and add buttons on the mobile home screen are two separate buttons.
  • The mobile search sheet uses the same background and header fade as the other sheets.
  • In "Waiting for replies", the avatar of a working teammate no longer moves. The spinner at the end of the row shows that it works.
  • Agents ask a teammate, or try their connected plugins, the browser and Computer Use, before they say that they cannot do a task. When a site needs a sign-in, the agent asks you to sign in in the browser instead of stopping. When a teammate helps, the answer starts with its name. When nothing works, the agent says what it tried and what you can do to unblock it, such as installing a plugin.
  • You can make the Dynamic Island as narrow as 20% of its default width. Before, the smallest width was 70%.
  • The OpenBot logo and the greeting in the idle Dynamic Island keep a 16px inset from the edges. Only the space between them changes with the width.
  • The web client now opens the first-agent form when a computer has no agents, with the same text as the desktop app and no Cancel button. The model of a new agent is the same default that the desktop app selects.
  • A host can now have up to 3 active members: the owner and 2 other people. A new join or a reactivation that goes over this limit fails with an error. A host that already has more members keeps all of them. Removed and disabled members do not count.
  • Server members on desktop and mobile shows how many members the server has of its limit, for example "1 of 3 members". When the server is full, you cannot create an invitation until you remove a member.

Fixed

  • The web app no longer shows the agent's working notes as chat bubbles. Before, each step of a turn showed as its own bubble, and some of these bubbles were empty. The web app now shows the same messages as the desktop app.
  • Stop "Provider error" messages for Antigravity info and warning log lines, such as "Checkpoint summary was too long". Before, one message showed at each step of a long conversation. These lines now go to the log. Antigravity error lines still show.
  • When Codex ignores an unknown setting in its configuration, show one warning that names each setting. Before, a "Provider error" showed only "Codex is ignoring 1 unrecognized configuration setting", with no setting name, and it came back after each reconnect. Codex continues to work.
  • Create one routine when you ask an agent to make a new agent with a schedule. Before, both agents could save the same routine. An agent can no longer add a routine with the name of an existing one; it changes that routine instead.
  • Start a new agent on the model that you saved in setup, also when that model is a ChatGPT model. Before, the agent stayed on GPT-6 Luna. Agents from a template, the marketplace or an imported file now also start on the provider and model that you saved in setup. Before, they always started on ChatGPT. When you saved no model, a new agent starts on GPT-6 Luna, and on GPT-6 Luna in the web app too. Existing agents keep their model.
  • Show the highlight of the selected server across the full row in the mobile server list. Before, the highlight stopped at the end of the server name.
  • Keep the reason when an agent turn fails. The queue now shows the provider error after the banner closes and after a restart. Before, a failed message kept no reason.
  • Do not ask a joined server for its MCP server list when you are a member without the admin role. Before, each visit logged a refused request.
  • Show the loading placeholder in a browser tab preview while the page loads. Before, the preview could show a failure icon until the next capture.
  • Reload the web app one time when an update removed the files that it needs. Before, the first open after an update could show "This page could not load".
  • Import an agent when one of its files is already in the workspace, for example two files whose names differ only in case on macOS. The import keeps both files, saves the second one as name (2).ext, and shows a warning. A file that it cannot write is skipped with a warning. Before, the agent was not imported.
  • Connect the Figma plugin to the MCP server in the Figma desktop app on your computer. Before, the connect step always failed, because Figma does not accept a browser sign-in from OpenBot. The connect dialog shows the steps that turn on the server in Figma. The server can only read designs for now.
  • On Linux, the window no longer closes a short time after it opens on some GPU drivers. OpenBot now uses software rendering on Linux.
  • A finished agent reply no longer shows the text of another message after the chat scrolls or loads more messages.
  • Phones and other devices connect to your computer again when its network comes back. Before, the computer stayed offline for them after Wiโ€‘Fi was off, until you restarted OpenBot.
  • Show an error and a Retry button on the web sign-in screen when the session check fails. Before, the screen showed the email form with no error.
  • Stop the web sign-out from staying on "Signing outโ€ฆ" when sign-out fails. The account menu now shows the error, and you can try again.
  • Show a web session-check error as a notification. Before, the message pushed the dock and the composer out of the window.
  • Use the plain sign-in background on the web, the same as the desktop app.
  • Mobile search no longer shows sample English results that did not come from your computer.
  • Mobile chat previews and search results show message text without Markdown marks such as **.
  • A tap anywhere on the mobile search field opens the keyboard. Before, a tap near the edge did nothing.
  • A chat opened from mobile search closes with the same zoom into its row as a chat opened from the list.
  • Show the full compatibility screen in OpenBot web when a host cannot talk to this version. Before, the web showed "Your computer is disconnected".
  • Keep the server rail of OpenBot web as wide as in the desktop app. Before, it was 8 px narrower, so the sidebar and the chat moved.
  • Keep the message that you pick in global search on screen. Before, a conversation that loaded at the same time could scroll to the latest message.
  • In the web client, files that you drop on a chat or channel, or paste into its message box, now attach to the message. Before, the web client ignored them.
  • In the browser, a shared or workspace file link in a message opens the file preview. Before, it showed a "desktop only" error.
  • In the browser, a sent image no longer shows "File not found". Its card shows the name and size, and a click opens the preview.
  • In the browser, "Open" on a file card opens the preview. Before, "Open" and "Download" both downloaded the file.
  • In the browser, an image in the composer shows as a file with its name instead of a broken thumbnail.
  • In the web client, a chat with an agent now shows the unread divider and the new messages banner, and marks messages read on the host. Before, the web client did not show unread messages and did not mark them read.
  • The web account dock shows your name and email on every browser. Before, it used the macOS layout on every computer.
  • The web usage indicator reads usage again when a provider connects or disconnects on the host.
  • A channel now shows a stop button while its agents work. Before, you could not stop a channel run.
  • On a MacBook with no notch, the Dynamic Island gets narrower when you make its width smaller. Before, it kept an empty space for a notch that was not there, and the width setting had almost no effect.
  • A narrow Dynamic Island no longer cuts off the greeting at its right edge.
  • Pause the browser view in OpenBot web while the marketplace or a notification covers it, as the desktop app does.
  • The web client now shows the queued messages of an agent. You can steer, cancel, reorder, and edit them, as on desktop. The "Waiting for replies" count on the web now agrees with desktop.
  • Keep the server order that you drag in the web client's server rail. Before, the rail said the server moved, but the order did not change.
  • Show the real connection state of each server in the web client. Before, every server that was not open showed as offline.
  • Show server logos in the web client's server rail, server menu and server settings.
  • The browser preview no longer waits behind the agent's browser actions. While the agent works on a tab, or when a capture is slow, the preview shows the last frame of the same page. Before, a preview on a heavy web app could take up to 30 seconds, and it also delayed the agent's next action.
  • Browser snapshots are smaller. The page text is limited to 20,000 characters, with the text in the viewport first, and the snapshot says when it left text or elements out. Each snapshot also shows fewer and shorter console and action entries. Before, each browser action could add up to 1 MB of page text and log entries to the agent's context.
  • On Linux and macOS, OpenBot finds a provider CLI that you installed yourself, such as OpenCode under nvm, when your shell profile prints text at start. Before, a greeting or a tool such as fastfetch in .bashrc or .zshrc made OpenBot show the provider as not downloaded. MCP server commands had the same fault.
  • The web client now sets the page language to the language of its text. Before, the page always said English, and a screen reader could read other languages with an English voice.
  • While the web client loads, it shows the OpenBot loading screen from the first frame. Before, the first frame was an empty page.
  • The web client no longer uses the smooth scroll and the minimum page width of the site pages.
  • A left-click now closes a sidebar context menu. Before, the menu stayed open when you clicked the empty sidebar area or the row that opened it.
  • The $ menu in the web client shows the agent's skills, and MCP servers for an owner or admin. Skill tags in messages show as skill chips, and copied messages use the current skill names. Before, the menu was always empty and each skill tag showed as an unavailable skill.
  • The web client keeps pinned agents and channels, and collapsed sections, after a reload. Before, it forgot them, and only agents could be pinned.
  • The fullscreen browser in the web client has back, forward, reload, the address field and tab close, as in the desktop app. Before, its toolbar was empty.
  • The web browser sidebar shows tab previews. Before, the cards had no preview.
  • A new tab in the fullscreen web browser no longer fails with "The host could not complete this request".
  • In the web app, a reply streams into the chat as it arrives. Before, the app read the whole conversation again for each part of the reply.
  • In the web app, the activity line shows what the agent is doing now, as in the desktop app.
  • In the web app, an agent error shows its own text above the composer, as in the desktop app. Before, a general "The host reported an error" message replaced it.
  • In the web app, a message that fails to send shows its error one time, above the composer. Before, the same error also showed as a notification.
  • The web app shows the usage-limit notice above the message box when the selected model has no usage left. Before, only the account menu showed the usage.
  • In the web app, a reply to an older message shows the quote of that message. Before, the quote was missing until you loaded the older messages.
  • In the web app, a question card stays open until it has shown your answers. Before, it could close before the answers appeared.
  • The web app plays the completion sound when an agent with notifications on finishes a task, as the desktop app does.
  • The web app tells the host when you are writing to an agent, as the desktop app does.

OpenBot 0.23.0

New

  • Show the plan of an agent as a task list in the chat. The list changes while the agent works and stays in the history. Codex, Claude, OpenCode and Grok agents send plans. On mobile, the plan shows as a text checklist.
  • Show a "Waiting for replies" block above the message box when an agent asks its teammates. Each row shows a teammate and its status: asked, working, replied or failed.
  • Let an agent see the progress of other agents, and stop work that it gave to another agent. An agent can stop only a turn that its own messages started. It cannot stop work from you, a routine, a channel or another agent.
  • Let an agent create a new agent with the provider, model and reasoning effort that you ask for. An agent can also read the models and reasoning efforts of each provider.
  • Show the images of an agent message in a gallery when the message has two or more images. Click an image in a chat to open it in a viewer. In the viewer, you can go to the next image and download the image.
  • Read the changelog on openbot.run/changelog. It shows the changes of each release, and the steps to do after an upgrade. The Releases link in the footer now opens this page.
  • Compare OpenBot with Grok Bot, Muse, Hermes Agent, OpenClaw, Manus, Claude Cowork and Devin on openbot.run/compare. The Grok Bot article moved from News to this section. The old link opens the new page.
  • Open News, Guides and Plugins on openbot.run from a navigation menu that shows the latest articles. On a narrow screen, a menu button opens the same sections.
  • Show the reading progress of each section on news, guides and comparison pages on openbot.run. You can share a link to one section.
  • Show an animated 404 page on openbot.run, with links to the main sections.

Improved

  • Let an agent read all the replies of its teammates in one turn. Before, an agent that asked two or more teammates started one turn for each reply, and answered you again after each teammate. A message from you does not wait for the replies.
  • Show the replies of teammates in the "Waiting for replies" block, not in the message queue.
  • Move the AI providers to their own Settings tab, after General.
  • Use the onboarding provider list in the Providers & permissions dialog and in the first setup after an invitation. You can add and manage a custom provider there. On a joined server, the dialog shows only the list.
  • Show the reasoning efforts as a row of segments in the model picker. The header shows the effort after the model name. A provider that is not available is dim and shows a status dot.
  • Give the action menus and the model picker a new look. Menus now close with a motion, and a submenu moves in from the menu before it.
  • Check a hosted-site file path before the upload starts, with the same rule as the account server. A path such as api/โ€ฆ, server/โ€ฆ or node_modules/โ€ฆ, or a path longer than 240 characters, now shows a translated error.
  • Show the Grok sign-in text and the skill folder warning in French and Japanese.
  • Connect to joined servers again at once when the computer wakes from sleep. Before, the app could wait up to one minute, or longer for a host that was offline.
  • Show images from a joined server again without a new download each time. The app keeps a copy in memory for 10 minutes.

Fixed

  • Keep a question from an OpenCode agent open until you answer it. Before, the question failed after 60 seconds with "Request timed out", and a later answer went to nobody. When a provider stops waiting for a question, the question now closes.
  • Start a new agent on another signed-in provider when the default provider has no model. Before, an agent that created a new agent got the error "Grok has no available model." When no provider has a model, the error now tells you where to change the default provider.
  • Give an OpenCode agent the full result of a Computer Use action. Before, the agent got only a summary, such as the number of windows, and could not select a window or an element.
  • Show a teammate message that needs no reply as done when an OpenCode agent does not reply. Before, the message showed as failed, and the chat showed an OpenCode error.
  • Show the cost of the default Codex model in agent usage. Before, the usage panel showed no cost for this model.
  • Show the new server logo in server settings before you save it. Before, the settings showed the server initials.
  • Keep the focus in the server name menu. A click outside the menu now only closes it. Before, the click also went to the page below.
  • Generate the profile of a Gemini agent without its MCP servers and tools, as for OpenCode and Grok.
  • Remove the incomplete copy when a copy of a local agent fails. Before, the incomplete agent stayed.
  • Keep cached remote attachments in their cache folder. Before, some attachment IDs could write a file outside it.

OpenBot 0.22.0

Action needed after you upgrade

  • Workspace only is now enforced. An agent with Workspace only can write only in its workspace, the shared folder and the temporary folders. On Windows and Linux, a Grok, OpenCode or Gemini agent with Workspace only does not start. To use it, select Full access in the agent settings. Agents with Full access, which is the default, do not change.

New

  • Use Gemini with a Google AI Pro or Ultra plan. OpenBot downloads Google's Antigravity server to this computer and signs in through your browser. Members of a joined server do not see Gemini agents.
  • Select More providers on the onboarding screen to add Gemini or a custom provider.
  • Turn Computer Use off for one agent in its settings. Existing agents keep Computer Use on.
  • Let owners and admins of a joined server manage the host from their desktop: agent access, auto approve, skills, shared tables, marketplace agents, provider keys and downloads, custom endpoints, and the server name and logo. Members can only read.
  • Let owners and admins in the browser client use server settings, providers, the marketplace, agent skills, shared tables, auto approve, Try skill, plugin prompts and shared agents.
  • Update an agent that was added from a marketplace listing to the current version of the listing, from the web client or from a joined desktop.
  • Show the OpenCode Go quota in Usage when you save a Go key.
  • Show the servers in a menu instead of the server rail. Select the layout in the server name menu. OpenBot keeps the layout for each device.
  • Select the interface language on mobile.

Improved

  • Show more of the interface in French and Japanese.
  • Install the latest provider CLI on a first download. If the release check is slow or fails, OpenBot installs the pinned version.
  • Fade streamed text as a trail, and keep the fade across Markdown blocks.
  • Show the server rail and the top row on one surface.
  • Hide saved secret values in all logs, and write a local trace line when the main process fails.

Fixed

  • End the turns of a provider client that stopped. Before, these turns stayed in progress until OpenBot restarted.
  • Keep queued messages when a file delete fails.
  • Show a request timeout from any provider as a timeout.
  • Sign out and revoke sessions correctly while remote sessions are open. Before, this failed with an error and the browser kept its session.
  • Stop an error after sign-out in the web client.
  • Move the focus back to the server name after a server row closes the menu.
  • Correct one Japanese sentence.

OpenBot 0.21.2

Version 0.21.1 was not published because its macOS and Windows builds failed. This version also contains all changes of 0.21.1.

New

  • Keep a local trace of IPC calls and provider turns in logs/trace.ndjson. Each line has only a time, a name, a duration and an outcome. The file stays on this computer. The diagnostics export adds a summary for each name.
  • Add a test run to a saved routine on mobile, and show routine events in the mobile chat.
  • Show the agent name and the latest message when you long-press an agent on mobile.
  • Change the order of servers on mobile. Long-press a server and select Edit order.

Improved

  • Retry an offline remote host every 5 minutes while the app has focus, and every 15 minutes without focus. Before, OpenBot retried every minute.
  • Send sign-in and invitation emails as HTML with a plain-text part. Out-of-office replies no longer answer these emails.
  • Show a new design for the mobile server list and the agent appearance picker.
  • Open the mobile photo picker faster, and move and scale an avatar photo in the app.

Fixed

  • Keep both keys when two providers save a key at the same time.
  • Keep the stored session when you type a wrong sign-in code for a new challenge.
  • Close the live browser view when its screencast cannot start again. Before, the view stopped on its last frame.
  • Stop an error in the sidebar when you switch servers.
  • Send desktop host analytics events with the app origin. Before, the analytics server refused all of them. When you turn analytics off, OpenBot does not send these events.

OpenBot 0.21.1

New

  • Publish an agent as a template that other people can add. Press Publish in the agent chat header. OpenBot sends the instructions, the routines and the skills to openbot.run. Files and memories are not sent, and a field that looks like a secret stops the publish. The link opens a page at openbot.run/agents/<id>. Add to OpenBot shows the template in the app, and OpenBot adds the agent only when you click Add agent. Unpublish removes the template. A new publish keeps the same link.
  • Edit a routine schedule with chips in the routine panel and in the routine card in the chat.

Improved

  • Show the account profile name and avatar in the browser client.
  • Show that a sign-in server does not accept OpenBot when it refuses the registration, for example Figma. Before, OpenBot showed a credentials error. The Figma listing tells you to use the local MCP server of the Figma desktop app.
  • Get faster answers from the account server.

Fixed

  • Delete an agent on Windows. Before, deletion failed with EBUSY because a provider session kept the agent workspace open.
  • Remove a deleted agent from its channels. Before, the channel showed an Unavailable member. OpenBot also removes these members at startup.
  • Start OpenBot on Linux from a terminal. Before, the window could freeze at startup.
  • Send a steer message with the same framing as a new turn.
  • Redact each line of remote diagnostic logs.
  • Show an error when the copy of a channel message or a plugin link fails.
  • Use the fallback name for a download with a bad file name.

OpenBot 0.21.0

New

  • Import agents from Grok Bot in Server settings, Import. Add the OpenBot export agent to Grok Bot, send it one message, and choose the .zip file it saves. OpenBot imports each agent you select with its instructions, avatar, skills, routines and memories, and optional workspace files. The file is read on this computer and is not uploaded. Chat history is not copied.
  • Dictate a message on mobile. With an empty message field, press the microphone. The text shows in the field while you speak, and you send it when you are ready. Set the language in Settings, General, Dictation.
  • Delete a channel from the channel row menu on mobile. Only server owners and admins see Delete.
  • Show Skills and Files in the agent info on mobile.

Improved

  • Use less memory and CPU. OpenBot stops a provider CLI that no agent uses after 60 seconds, keeps fewer idle Claude, OpenCode and Grok sessions open, and streams attachments from disk. The first message to an agent after a long idle time can take a little longer.
  • Scroll and type with fewer frame drops in the mobile chat and agent list.
  • Use a darker dark-mode background for the mobile screen, drawer and sheets.
  • Show the provider Update button on the same row as the update message.
  • Save an agent with empty instructions on mobile.

Fixed

  • Remove a question or approval from the screen when its provider stops. Before, it stayed until a restart, and each answer failed.
  • Keep the approvals of other providers when one provider stops.
  • Keep pending questions and approvals in the web app when the host sends a partial update.
  • Type Chinese, Japanese and Korean with an input method in the message field. Before, a Latin letter went in before each segment.
  • Show the size of a stored file that is a link, not the size of its target, in Storage.

OpenBot 0.20.1

Fixed

  • Keep an animated WebP avatar animated after upload. Before, OpenBot kept only the first frame.
  • Hide the secret code input while OpenBot sends the code. The input shows again if the code fails.
  • Wrap long text in the avatar upload control.

OpenBot 0.20.0

Action needed after you upgrade

  • Desktop notifications now appear. If you turned off desktop notifications, turn them off again in Settings.

New

  • Show the skills in an agent's workspace skill folders that OpenBot did not install, such as .agents/skills. OpenBot does not change these folders. A skill shows a problem when its SKILL.md is not valid, or when the agent's provider does not read its folder.
  • Show disk use and files in a Storage tab in Server Settings, a Files view in agent settings, and a Files panel in the chat. An owner or an admin can delete a file and clear caches and logs.
  • Mute a server for a set time or until you turn it back on, and set its notification level: all activity, only when it needs you, or nothing.
  • Send a test notification and open the system notification settings from Settings.
  • Mark an agent as Workspace only in the agent settings. The setting is not enforced yet.
  • Check for provider CLI updates from a provider's actions menu. OpenBot offers the latest upstream release of Codex, Claude, OpenCode, and Grok without a new OpenBot version.
  • Add Linux arm64 builds.
  • Add a Composio listing that takes your own MCP link.
  • Show file type, size, previews, and upload progress for attachments on mobile, and show images that an agent generates.

Improved

  • Accept a skill description of up to 1024 characters, as the Agent Skills specification allows.
  • Show the open agent's provider in the usage chip.
  • Apply edited agent instructions to Codex and Claude sessions. The agent keeps its thread.
  • Ask for confirmation in one shared dialog everywhere.
  • Hide the query string of an MCP URL in logs, and mask MCP header and environment values in the server MCP panel.
  • Send fewer requests to the account service. Without app focus, an offline host retries after 15 minutes.

Fixed

  • Make Apple and Google sign-in work in the embedded browser.
  • Open OpenBot on a second launch after a quit that did not finish on Windows.
  • Show new chat replies when reduced motion is on.
  • Center the idle emoji in the Dynamic Island.

OpenBot 0.19.0

New

  • Use OpenBot in a web browser at openbot.run/app with your account and your connected hosts.
  • Set the Dynamic Island width and height in the new Dynamic Island settings tab on macOS.

Improved

  • Show every model a provider reports, newest first. When a provider no longer lists an agent's model, the agent moves to the provider's default model and keeps its thread.
  • Use less memory: close a provider CLI after 10 idle minutes and resume its session on the next message, restore only the active browser tab at startup, and keep fewer messages of closed agents in memory.

Fixed

  • Show one notice when a Codex plan reaches its usage limit, not an extra "could not continue" error.

OpenBot 0.18.0

New

  • Use OpenBot in French.
  • Open invitation (including permanent links), pairing, and plugin links directly in the mobile app.
  • See a running, waiting, blocked, or failed routine as a mark on the agent row.
  • Update a provider, or sign in with a code, from the new "More actions" menu on each provider row.
  • Start with OpenCode free models without a sign-in.

Improved

  • New ChatGPT agents start on GPT-6 Luna, and new Claude agents on Claude Opus 5.5. Existing agents keep their model.
  • Refresh the server list on other signed-in devices when a membership changes.
  • Show the routine run history in chat as one summary per run.
  • Improve mobile reply animations and keyboard scrolling.

Fixed

  • Send live view clicks to the correct point of the remote page.
  • Keep Claude narration between tool calls out of the chat bubble.
  • Keep embedded browser sign-in popups and OAuth sessions working.
  • Load a remote server's agents when one agent uses a 1M-context Claude model.
  • Show why an updated OpenCode CLI stopped, instead of "ACP connection closed".
  • Stop showing a Grok tool error as a provider error.
  • Stop showing a refused routine as a provider error; the agent now gets the reason and can correct it.
  • Keep failed Codex background refreshes out of provider error messages.

OpenBot 0.17.0

Action needed after you upgrade

  • On macOS, grant Screen Recording and Accessibility to OpenBot for Computer Use. Grants for the old Codex helper do not carry over. Remote desktop uses separate Sunshine grants in the macOS account that runs it.

New

  • Use Computer Use with Codex, Claude, Grok, and OpenCode. OpenBot now includes the Computer Use driver on macOS, Windows, and Linux.
  • Set up remote desktop access from Server Settings. Check Sunshine permissions, display availability, and the macOS user session; open a helper to grant access.
  • Test remote desktop video, mouse, and keyboard with a temporary test panel, including a local test on the same Mac. Older runtimes support a video-only test.
  • Enter passwords and authentication codes through secure browser prompts in chat. Secret values stay out of agent messages and browser captures during submission.

Improved

  • Enable ordinary auto-approval by default for new agents. Existing saved agent choices are preserved. Automatic website publishing, replacement, and deletion require Turbo.
  • Keep previous approval settings in their original file during upgrade.
  • Rename a saved MCP server named computer_use to an available computer_use_saved name. Its configuration and credentials are preserved.
  • Explain when updates are managed by the host in Settings.

Fixed

  • Backport Sunshine security fixes for malformed input packets, pairing approval, and exact client certificate checks.
  • Keep provider downloads available while provider checks run.
  • Support Canva and other MCP sign-ins that require a local redirect address.
  • Allow plugin removal from its marketplace page.
  • Keep local remote desktop tests independent of account ICE settings, reject malformed viewer URLs, and avoid repeated Sunshine restarts while granting permissions.

Removed

  • Remove the separate Codex Computer Use plugin setup and the Agent CLI setup card.

OpenBot 0.16.0

New

  • Sign in to ChatGPT with a code typed on another device. OpenBot shows the code, opens the verification page, and reports when the sign-in finishes.
  • Set standing approval for one agent or enable Turbo mode for all local agents. Turbo keeps each agent's individual approval when it is turned off.

OpenBot 0.15.3

Action needed after you upgrade

  • A server declared outside OpenBot no longer reaches a Claude or Codex agent. Add it in Settings, MCP to keep it. This covers ~/.claude/settings.json, a project .mcp.json, a plugin, agent frontmatter and ~/.codex/config.toml. Nothing is deleted: the declaration stays in its own file and OpenBot does not read it. A notice says this once. OpenCode and Grok document no equivalent setting, so their agents can still start servers from their own files, which the panel now states.
  • Sign in again once after upgrading to reach Canva, Figma, Linear, Notion, Sentry or Stripe. The six listings now connect over HTTP and OpenBot holds the OAuth client itself: it opens the browser, keeps the tokens in the operating system's secret storage, and adds the header when it hands the server to a provider. No third-party bridge program is downloaded or started. A bridge that already holds a token keeps it in its own folder, which OpenBot does not read, so the sign-in does not carry over. Removing the server forgets its sign-in, and the tokens are redacted on every log and export path like every other secret.

New

  • Start an MCP server on a computer that has no Node. OpenBot downloads Bun 1.4.2, a JavaScript runtime it owns and checks, and starts a STDIO server with it. A computer with its own Node keeps using that one: the managed runtime is the floor, not a replacement.
  • Say why an MCP server did not reach an agent. A command this computer does not have, and a working directory the provider cannot carry, each raise one notice naming the server and the reason, and the panel states the working-directory limit before the server is saved.
  • Answer a question an MCP server asks, on every provider. A server that needs a field gets one question for each field it requests, with the typed value it asked for, a secret hidden as it is entered, and a decline that names the field the server cannot do without.
  • Invite people with a permanent link, in the new Perma link tab of server settings. The link is reusable and never expires, so it suits a channel or a document rather than one person. A host keeps at most five, each one is revoked from the same tab, and a permanent link cannot be bound to an email address. Single-use invitations are unchanged. A server that speaks an older Team API does not offer the tab, because that protocol carries no permanent link.
  • Update OpenBot for every account on a shared Mac from one place, with the new Host package. An administrator installs it, and the Mac then downloads a release once, waits until every signed-in account is idle, installs it one time, and starts OpenBot again for each account. A managed account shows the host's progress and never installs on its own. The package is signed and notarized on its own, and it installs managed-host infrastructure only: the DMG is still the application. The installer also creates Standard accounts for tenants.

Improved

  • Replace a Codex thread that started before this release once, keeping its conversation and its history, so the tools the agent has match the panel.
  • Re-read a provider's remaining usage while the figure is on screen, so a window that counts down no longer reads minutes out of date. The dock, the account menu and the usage popover refresh a reading that is five minutes old. Nothing is read while no view shows the figure, and a hidden window reads again when it comes back.
  • Run two Remote Desktop sessions at the same time on a shared Mac. Each signed-in account gets its own port range, so one session no longer takes the ports the other needs.

OpenBot 0.14.1

Improved

  • Sign in to Claude from the composer notice, which opens the OAuth window instead of the authentication documentation. OpenCode, whose key is pasted in settings, no longer raises a notice with a button that starts nothing.
  • Name the provider under each mark in the header model picker rail, with its state below the name.

Fixed

  • Ship the 0.14.0 work, which no build carried: that release stopped while it was being packaged, on a test that allowed one second for the interface to answer on a machine that was building and signing the application at the same time. Everything listed under 0.14.0, the fourteen-plugin Marketplace catalog included, arrives here.

OpenBot 0.14.0

New

  • Show a host's browser tab live to a remote member, with pointer and key input back to the page.
  • Connect an MCP server before it is installed: the install dialog tests the configuration, and only a configuration that answers is saved.
  • Open a Marketplace plugin from an openbot://plugins/<slug> link on its own detail page.
  • Publish plugin pages on openbot.run from the shipped catalog: fourteen listings, each with its own mark.
  • Give each agent one silhouette and a face that matches the work, in the sidebar and the activity indicator.
  • List Marketplace plugins in the landing header on openbot.run.

Improved

  • Define when an agent's browser tabs close: no tab closes when a turn ends, the agent uses close_tab when a task no longer needs the tab, and deleting an agent closes its tabs.
  • Show the download percent while a provider connects, with Cancel during the download and Retry on failure.
  • Grow the plugin catalog to fourteen simple-auth listings: GitHub, Linear, Notion, Figma, Sentry, Context7, Stripe, PostHog, Airtable, Firecrawl, Brave Search, Resend.
  • Name the shared tables "Tables" in agent settings.

Fixed

  • Let the embedded browser copy: pages can write to the clipboard on user gesture, and right-click offers copy link, copy image address, cut, copy, paste, and select all with full link targets.
  • Align the Usage header icon with the provider logos.

OpenBot 0.13.0

New

  • Install an app and its skills together from the new Marketplace Plugins tab. Each plugin adds its MCP server record and the pinned skill versions its instructions need.
  • Let agents keep records in one shared database at ~/OpenBot/Shared/Data/agent-data.db. An agent creates, reads and writes its own tables, and the Shared tables view lists every table with its owner and lets you delete any of them.
  • Let an agent tell a teammate something without asking for an answer. The message names that no reply is due, so the teammate does not open a turn for it.
  • Let the agent complete provider authorization steps itself instead of stopping for the user.
  • Show the remaining usage for every connected provider, and show the Grok account email.

Improved

  • Handle an exhausted provider usage limit: the agent reports the limit and the time it resets instead of failing the turn.
  • Open a browser takeover page from its preview card. A takeover request no longer expands the browser over the conversation on its own.
  • Open an attached file in the right panel instead of a modal.
  • Group the agent chat message times, and correct the position of a message timestamp.
  • Use a custom agent avatar in the activity indicator.
  • Remove the View source toggle from a Markdown preview.

Fixed

  • Drop the placeholder answer that an agent sent for a teammate request.
  • Load an OpenCode ACP session before reading it at startup.
  • Remove the duplicated agent message previews.
  • Save an edited agent instruction again.
  • Keep a required input prompt visible.
  • Type into the focused page when the browser cannot target an element.
  • Keep the agent recipient menu text readable.

OpenBot 0.12.0

New

  • Open a Marketplace Skill or Agent on its own detail page, with a crumb back to the listing, a debounced search, and one install control that picks the target agent.
  • Show category artwork on every catalog Skill instead of the generic fallback glyph.
  • Preview Markdown and XLSX spreadsheet attachments in the file preview panel.
  • Create a channel from the sidebar context menus and the sidebar topbar.
  • Name the missing screen recording grant in Remote Control, open System Settings from the host's own Server settings, and re-read the grant with Check again.
  • Show a themed splash backdrop on mobile startup.

Improved

  • Show the expanded browser edge to edge. Leave it with the button in the top right corner or with Escape, while a text field in the page keeps Escape.
  • Reduce the hover area of the compact Dynamic Island.
  • Respect per-server mute on the notch.

Fixed

  • Hide the mobile loader that stayed over the chat.
  • Use the shared provider names on mobile and truncate long model labels.
  • Hold the mobile splash until the artwork shows on a fast startup.

OpenBot 0.11.0

New

  • Edit a queued message before the agent starts it, on desktop, mobile, and over Team API.
  • Download one file straight from a message with the per-file Download action.

Fixed

  • Keep the original file name on downloads instead of a generated one.
  • Sign in to Google inside the embedded browser.
  • Open WhatsApp Web login instead of the unsupported-browser page.

Improved

  • Hide sidebar row time and date when the panel is narrow.

OpenBot 0.10.1

New

  • Download all files from a message with three or more attachments as one ZIP file.
  • Enter an OpenCode key for paid OpenCode models, with refresh and status in the provider row.
  • Choose provider, model, and reasoning effort when you create an agent, where the host supports it.
  • Read the WTF Is OpenBot guide under /guides.
  • Open Settings from the application menu with a keyboard shortcut.

Improved

  • Show provider errors on one composer card instead of in the transcript.
  • Write only the streamed message on each flush, and cut idle CPU and per-frame render work.
  • Anchor the stopped task banner above the composer.
  • Fix dismissible chat-scoped error banners so they stay dismissed in their chat.

Fixed

  • Fix OpenCode model list, agent setup picker, permissions text, and chat copy.
  • Fix folder listening setup that failed on routine interval validation.
  • Handle dynamic channel tools with no active assignment.

OpenBot 0.10.0

New

  • Manage MCP servers from server settings, including save, remove, enable, and test actions.
  • Add mobile channels, agent pins, and workspace connectivity, with channel chat, records, and task actions. Preserve deleted channels as read-only previews.
  • Add custom agent photos to the mobile avatar experience.
  • Queue a message to a busy agent and show why it waits.
  • Add an OpenCode download action to the custom provider row.
  • Add an Introducing OpenBot article under /news.

Improved

  • Repository moved to nightly-labs/openbot; release links and the update feed follow it.
  • Tighten agent-to-agent communication prompts and route agent instructions instead of front-loading them.
  • Stop the two animations that burn idle CPU, and add dev:cpu to measure it.
  • Explain a failed update check, make the retry answer, and stop routing updates through a rename redirect.
  • Display channel titles in channel UI; draw a routing receipt as channel activity, not a message.
  • Fix mobile sheet sizing, restore progressive blur on iOS, and update the iOS app icon asset.
  • Fix browser preview layout, tab selection, address navigation, and sidebar icon styles.
  • Keep chat input scroll position while editing earlier lines.

OpenBot 0.9.0

New

  • Run OpenBot on Linux x64. The release publishes an AppImage, the one Linux format that updates itself in place, and the in-app provider download covers Codex, Claude, Grok, and OpenCode there. Voice prompts and remote desktop are absent on Linux and report themselves as unavailable, and the AppImage is unsigned, as the Windows installer is. docs/TROUBLESHOOTING.md covers the AppArmor profile that Ubuntu 23.10 and later need.
  • Give an agent skills. Write a skill locally, install one from the marketplace, and enable, disable, or remove it for each agent. Type $ in the composer to insert a skill, and read a shared chat's skill actions in its preview. @ still means agents and files.
  • Choose the language of the application. Settings offers System, English, and Japanese, the menu and agent notifications follow the choice at once, and no restart is needed. A key that is not translated yet reads English rather than disappearing. The Japanese catalog is a first draft.
  • Preview audio, video, SVG, and email files in the file panel and the attachment lightbox. Audio and video keep previewKind: "none" on the wire, so no released Team API adapter changes meaning.
  • Read /news and /guides on openbot.run: article pages, an RSS feed, a sitemap, and structured data, with article artwork drawn from the title.
  • Say what OpenBot costs on the landing page.

Improved

  • Start a new agent on low reasoning effort. Codex CLI reports medium for every GPT-5.6 model, which buys little on GPT-5.6 Luna, the model a new agent starts on, and costs a wait on every turn. An agent whose effort you already set is not moved, and every effort stays available in the picker.
  • Rework the composer mention and skill picker. It hangs off the input, wears the queue panel's colors, names the type of each option and the source of each skill, and travels to its new height as the query narrows. The queue panel gives up that space while the picker is open.
  • Drag the agent sidebar down to 128px before it snaps to the avatar rail. A width you already set stays inside the new range.
  • Keep one provider CLI store for each computer, under provider-runtimes beside the application data. The packaged application already used that path, so nothing moves for an installed user. Several OpenBot instances can now install a provider at the same time without taking a running CLI away from each other. Development profiles no longer offer the same update after every restart.
  • Move switches and camera panels with their own motion, and animate an article background continuously.
  • openbot.run now reports the five UTM tags on a campaign link (utm_source, utm_medium, utm_campaign, utm_content, utm_term), which the previous privacy note said were never transmitted. Every other query parameter and the hash are still dropped, so an invitation token cannot reach analytics. This is the public website only: the desktop application is unchanged, and chats, files, and commands are never sent. PRIVACY.md and ANALYTICS.md describe what an event carries.

Fixed

  • Stop Grok's telemetry export failure from showing as a provider error. A computer that cannot reach an OpenTelemetry collector raised a "Provider error" toast on every switch to Grok. The CLI colour codes it printed as text are gone too, and a colour sequence can no longer hide a secret from the redactor.
  • State a signed-out or spent provider above the composer. A lapsed account answered with its whole HTTP exchange, and the account menu printed the URL, the headers, and the 401 body. The composer now offers Sign in before you send, or names the reset time on a spent plan window.
  • Keep undo working for composer typing, and stop a character being written twice.
  • Play an attached recording. The packaged application blocked audio and video playback, and an attached .eml file could not be previewed at all.
  • Retry the QR scanner after the camera fails to start.

OpenBot 0.8.0

Action needed after you upgrade

  • On mobile, OpenBot now sends product analytics, and the setting starts on. Turn it off in Settings at any time; events wait until you sign in and are dropped if you refuse. Nothing on the desktop app changed, and chats, files, and commands are never sent. PRIVACY.md describes what an event carries.

New

  • Add channels: a shared chat that several agents join, coordinate a task in, and answer in together. A channel carries its own title, instructions, memories, and routines, and it pins to the sidebar the way an agent does. Channels travel over the Team API as channel-chats-v1, so a phone or a joined server on an older build keeps working without them.
  • Describe your own OpenAI-compatible endpoint and pick its models anywhere a model is chosen. OpenBot encrypts the API key on this computer and gives it only to the local OpenCode process, and keeps it out of every export, log, and diagnostics report. Every saved endpoint sits under one Custom provider row, because which endpoint an agent uses is a model choice rather than a provider choice.
  • Preview open browser tabs in a sidebar, and expand one into a full-width panel.
  • Mute desktop notifications for one server without muting the others.
  • Switch servers with numbered keyboard shortcuts.
  • Count the new messages on the chat scroll button, so a thread that moved while you read tells you how far behind you are.
  • Download and pin the OpenCode CLI, like the other three providers. The Install button that sent you to the OpenCode website is gone.
  • Use OpenCode's free models with no account and no sign-in. A new OpenCode agent answers as soon as the CLI is downloaded.
  • Add an optional OpenCode Zen key in Settings for the paid OpenCode Zen models. OpenBot encrypts the key on this computer, gives it only to the local OpenCode CLI, and keeps it out of every export, log, and diagnostics report.
  • On mobile: open an agent's information and edit it in a sheet, reply to a message and use the message actions, send attachments from files or the camera, and pin an agent with a full swipe that a screen reader can also do.
  • Choose whether mobile gives haptic feedback.

Improved

  • Keep an OpenCode CLI you installed yourself. OpenBot reports its version, offers an update, and never forces the download.
  • Leave the OpenCode Go models out of the model picker when a Zen key is what lists them. OpenCode reports Zen and Go as one catalog, but a Zen key does not buy Go, so those models answered every prompt with "Invalid API key.". They still appear when you signed in to Go in OpenCode itself.
  • Start a new OpenCode agent on a free model, Muse for choice. OpenCode reports the services you signed in to before its own, so a new agent picked a model behind one of those sign-ins and its first message could fail with "Token refresh failed: 401" while the free models sat further down the list. No model that bills is ever the default now.
  • Create an agent without instructions. The field was required for no reason a user could act on.
  • Give every agent interaction card one shape across the app.
  • Load mobile chat history as you scroll, instead of holding a whole thread in memory.
  • Move the mobile save actions into the native sheet headers, and show pinned agents in a grid with a stated capacity.
  • Raise the text contrast of the mobile theme.

Fixed

  • Show OpenCode tool activity again, and stop hiding browser actions.
  • Keep channel reads, signed-out authorship, and sidebar order correct.
  • Preserve Claude history answers, and render a resolved question as resolved.
  • Let a remote agent avatar download over WebRTC. A paired phone asked a Team API v2 host for an avatar with no request body, and the host refused the route.
  • Accept a custom avatar file an agent names in a prompt.
  • Mute embedded browser tabs by default, and stop counting another agent's tabs against your tab limit.
  • Show local dates on older chat messages and older sidebar chats.
  • Remove the size label from the embedded browser.
  • Make the desktop agent purpose optional, as the form already implied.
  • Recover a mobile session and a server connection after the app loses one, and put the mobile chat keyboard back where it belongs after it is dismissed.

OpenBot 0.7.0

Action needed after you upgrade

  • A paired phone can no longer disconnect a desktop session. Sign out or revoke a desktop session from Settings on the computer that runs it. Phones and other sessions are unaffected, and no session is ended by this update.

New

  • Add OpenCode as a fourth provider. OpenBot drives your own installed OpenCode CLI over ACP, so it is not downloaded or pinned like the other runtimes: install OpenCode and run opencode auth login, then pick it when you create or edit an agent.
  • Add Team API v4, which carries the new provider and agent duplication. Version 1 to 3 stay registered and unchanged, so a phone or a joined server on an older build keeps working on the protocol it already speaks.
  • Search models, grouped by provider and reasoning variant, in the model picker.
  • Mention an agent in a mobile chat, see the other participants of an exchange, copy a highlighted code block, and retry a send that failed.
  • Scan a pairing QR code from an inline sheet on the mobile sign-in screen.

Improved

  • Give every provider one name across the app. Initial setup and the thread status said "Codex" where the picker said "ChatGPT". All of them now say "ChatGPT".
  • Ask the user to wait, with a countdown, when the mail provider refuses a sign-in code or a team invitation because the sending mailbox is over its quota. A refusal the sender cannot wait out, such as a full recipient mailbox, stays a delivery failure.
  • Install and activate OpenBot's pinned provider CLI update instead of asking the CLI to update itself. A CLI update waits while a provider sign-in is pending.
  • Start the mobile app on the connected route, and block interaction while it loads.

Fixed

  • Report a provider CLI update that OpenBot refuses to start, instead of leaving the offer on screen.
  • Keep an agent whose stored profile holds a value this release cannot read, instead of refusing to start. The startup error now names the field it cannot read.
  • Keep an empty sidebar section visible when it holds no agents.
  • Keep a chat-created agent in the section of the agent that asked for it.
  • Prefer an agent in the same sidebar section when one agent messages another.
  • Remember the selected agent for each server.
  • Focus Delete in sidebar confirmation dialogs.
  • Report an OpenCode turn that produced nothing as a failure, instead of a blank reply.
  • Desynchronize desktop avatar animations, animate idle sidebar agents, and keep an avatar pose across a change of agent activity.
  • Keep the Dynamic Island unfocusable while the mouse is over it.
  • Explain what to do when a file preview or another surface fails, on desktop, mobile and the web.
  • Keep a mobile profile name when the name field is left blank.
  • Remove the scroll edge effect from the mobile add-server sheet.

OpenBot 0.6.1

Fixed

  • Fix Usage reports failing to load in the desktop app because Electron could not clone the request.

OpenBot 0.6.0

New

  • Add agent and host-wide usage reports with model, provider and daily cost details.
  • Add mobile server settings, member management and invite QR flows.
  • Add marketplace presentation controls for agent categories and creator avatars.
  • Show all integrated provider models and let users update a provider CLI from OpenBot.

Improved

  • Check for desktop updates every four minutes while OpenBot is running.
  • Preserve mobile sign-out when offline by deferring account revocation.

OpenBot 0.5.0

Action needed after you upgrade

  • Paired phones must be unpaired and paired again after this update. A phone stores the agent identifiers it was given, and those identifiers have changed, so its pins and unread markers point at agents the host no longer knows. Chats open normally again once the phone is re-paired; nothing on the computer is lost.

New

  • Connect a phone to OpenBot. Pair a device from the desktop app, then read and answer agent chats from the mobile app, with connection status on every server surface and profile changes synced to each connected device.
  • Review and revoke account sessions and paired devices from Settings. A revoked credential ends the remote sessions that used it immediately; other devices stay connected. Signing in again restores the device.
  • Browser Automation V2: agents drive the built-in browser through native Chrome DevTools Protocol control instead of injected scripts.
  • Create an agent through a guided setup with a customizable avatar, and manage agents and sidebar sections by asking in a conversation.
  • Tag an agent or a skill directly in a chat message.
  • Show detailed live agent activity, including the provider's reasoning.
  • Import EML files as chat attachments.

Improved

  • Retheme the desktop app onto one colour, type and icon system.
  • Rename an agent's Description to Instructions, and grow the field with its contents.
  • Remove the limit on sidebar agent pins.
  • Isolate the local team server per OpenBot account. The single-host file the previous build wrote is imported on first launch and left in place; nothing is deleted.
  • Update the bundled provider runtimes: Codex to 0.153.4, Claude Code to 2.1.263 (@anthropic-ai/claude-agent-sdk 0.3.263) and Grok to 1.0.22. The runtimes are downloaded on demand, so each one is fetched again the first time you use it after this update; the previous copy stays on disk, and a system-installed CLI of your own is not touched.
  • Finish naming the product concept agent everywhere: identifiers, IPC channels, CSS, copy, the mobile app, and the instructions and tool parameters the models read. Existing agent identifiers are rewritten from bot-<uuid> to agent-<uuid> and every workspace moves from ~/OpenBot/Bots to ~/OpenBot/Agents on first launch. The Team API wire protocol is unchanged โ€” versions 1 to 3 still spell the agent botId, and a translation layer converts.

Fixed

  • Discover the available ChatGPT, Claude and Grok models automatically again.
  • Report weekly usage for the model that is actually active.
  • Recover a provider session the CLI no longer knows, instead of losing the conversation.
  • Keep chat table layout, message spacing and composer alignment consistent.
  • Restore the main window when you activate OpenBot on macOS.
  • Stop the Dynamic Island from clipping as it collapses, and idle avatars nobody is watching.
  • Fix sidebar search focus highlighting and drag overlap, and the mobile sidebar swipe over agent rows.

OpenBot 0.4.3

New

  • Persist and restore the main application window position between launches.

Fixed

  • Apply the Automatically download updates setting: it is now persisted in the user data directory and drives the updater, instead of being a renderer-only value that reset on every launch and never started a download.
  • Stop macOS updates hanging on Preparing updateโ€ฆ: the restart action is offered as soon as the download completes rather than waiting for a native staging event that never arrived, and the phase that could hang is gone.
  • Bound every update stage: a check, download, or restart that stops responding now reports an actionable error instead of waiting indefinitely. A failed download is retried in place; a failed install asks for a relaunch, because shutdown preparation cannot be repeated safely.

OpenBot 0.4.2

Improved

  • Stabilize the signed macOS release gate by running the full repository test suite with bounded Vitest concurrency.

OpenBot 0.4.1

New

  • Add a self-hosted Bun Signal service, coturn, DNS-01 certificate renewal, and Docker Compose deployment under remote/.
  • Add WebRTC Team API protocol v2 with RPC, ordered events, binary file transfer, backpressure, integrity checks, and resume support.

Improved

  • Identify signed-in desktop accounts in OpenPanel with normalized email profile traits and ordered event delivery; keep development builds and localhost analytics-free.
  • Keep accounts, host configuration, memberships, invitations, logical sessions, and public assets in Cloudflare while remote data uses WebRTC only.
  • Remove cloudflared from the active host transport and from macOS and Windows application packages.
  • Require old Team API clients and hosts to update before they can use the retired tunnel endpoints.

Fixed

  • Keep the embedded browser panel closed until requested and prevent repeated toggles from opening duplicate tabs.
  • Restore embedded X sign-in with persistent cookie consent, a compatible browser identity, and current login routing.
  • Flush the embedded browser profile before restarts, system shutdowns, and application updates so authenticated sessions persist.

OpenBot 0.4.0

New

  • Add a macOS Dynamic Island overlay for messages, questions, approvals, browser takeovers, and failures.
  • Add persistent question prompt bubbles with safe handling for secret answers.
  • Let agents attach local response images with preview, download, and file actions.
  • Negotiate compatible Team API protocol versions and capabilities between clients and hosts.

Improved

  • Redesign the account dock, usage popover, account menu, and Marketplace access.
  • Improve browser takeover cards with persistent page previews and completed states.
  • Hide People communication by default while retaining an explicit opt-in.
  • Require macOS 13 or newer after the Electron and Chromium upgrade.

Fixed

  • Support embedded Google sign-in with the current Chromium identity while keeping the OpenBot browser session.
  • Clear Bot unread state reliably when a chat opens or refreshes.
  • Preserve agent names before title badges truncate in the sidebar.

OpenBot 0.3.5

Improved

  • Download and verify the Whisper model on first voice use instead of shipping it in every application update.
  • Remove provider runtimes from macOS and Windows application packages while keeping system CLIs as the first choice.
  • Install application updates only after the user selects Restart and install.

New

  • Download Codex, Claude, and Grok provider runtimes on demand from pinned vendor artifacts.
  • Show provider download, setup, retry, and connection actions in onboarding, Settings, Bot setup, and model selection.

Fixed

  • Wait for native macOS update staging before offering a restart, and require an explicit update restart on Windows.
  • Reject oversized or inconsistent release artifacts and remove duplicate native runtime files from packages.
  • Stream large provider downloads to disk, support safe resume, and reject unsafe or invalid runtime archives.
  • Respect Windows shutdown and sign-out without starting the NSIS updater.

OpenBot 0.3.4

Fixed

  • Verify source-built Windows remote desktop binaries as intentionally unsigned while preserving strict vendor signature checks.

OpenBot 0.3.3

Fixed

  • Isolate Windows package signature checks from the PowerShell 7 module path used by GitHub Actions.

OpenBot 0.3.2

Fixed

  • Stage Claude and Grok runtimes on the destination volume before the atomic Windows install switch.

OpenBot 0.3.1

Fixed

  • Resolve bundled provider and fallback CLI paths with the target platform's path format.

OpenBot 0.3.0

New

  • Add the Grok CLI provider and bundle the supported provider CLIs for a more reliable onboarding experience.
  • Add attachments directly in the conversation composer and connect the agent marketplace.
  • Add per-participant emoji reactions, including optional context-aware bot reactions to user messages.
  • Add improved server invitation and member workflows.

Improved

  • Rebuild chat messages on reusable bubble primitives and refresh settings, routines, and related popovers.

Fixed

  • Preserve the active server across refreshes and make server address copying reliable.
  • Improve composer mentions, worktree setup, invitation handling, and emoji reaction presentation.

OpenBot 0.2.1

New

  • Add scheduled agent routines with timezone-aware schedules, manual test runs, run history, and delivery in the agent chat.
  • Add agent memories, shared sidebar sections, and the skills marketplace.

Improved

  • Refresh the sidebar, agent settings, dialogs, buttons, switches, selects, and Storybook examples with the shared visual system.

Fixed

  • Prevent resumed routines from running missed schedules and protect unsaved routine edits before navigation.
  • Render newly appended chat messages without virtualizer refresh loops.

OpenBot 0.2.0

New

  • Add the production Create Bot flow with practical suggestions, synchronized animated avatars, and first/additional Bot modes.

Improved

  • Create a Bot only after its complete profile is submitted, then queue its initial role message as one rollback-safe operation.
  • Replace the legacy new-agent picker and empty-chat onboarding with the dedicated Bot setup screen.

Fixed

  • Keep the technical development client out of a normal private dev server while preserving the two-client test harness.
  • Limit the first visible Bot message to its ongoing role.

OpenBot 0.1.22

New

  • Add a resizable browser Picture-in-Picture panel that stays visible while the conversation remains usable.

Improved

  • Keep application and conversation state stable during renderer hot updates, including selections, drafts, search, panel state, and active resources.
  • Simplify the Remote Control toolbar and show agent animation while a remote desktop connection starts.

OpenBot 0.1.21

Fixed

  • Restore the Solid signals runtime dependency required by production builds.

OpenBot 0.1.20

Improved

  • Split team IPC registration, renderer message projection, voice status helpers, and workspace path handling into focused modules.
  • Remove unused dependencies, renderer exports, preview helpers, and an inactive visual test suite while keeping active Storybook coverage.

Fixed

  • Hide unexpected Team API failures from remote clients while preserving controlled validation errors.
  • Bound unauthenticated sign-in rate-limit state and reject oversized WebSocket event frames before application parsing.
  • Make team and remote-server state writes atomic, isolated, and able to recover after a failed write.

OpenBot 0.1.19

Improved

  • Load the interactive landing preview from server markup and retry its ready handshake until playback starts.
  • Cache the verified Whisper model in application CI and release workflows.

Fixed

  • Exit a second desktop app process immediately when another OpenBot instance already holds the profile lock.
  • Keep the agent activity avatar visible for 500 ms after streaming ends and preserve its layout space when it exits.
  • Show the message queue only while a delivery is starting or running, so the first message does not flash in Queue.

OpenBot 0.1.18

New

  • Add paginated conversation loading, global message search, direct-conversation history, and persisted read state.
  • Add Markdown rendering with code blocks, tables, task lists, links, images, and attachment references.
  • Add privacy-safe desktop and landing-page analytics with test coverage.
  • Add a central Content Security Policy for the Electron renderer.

Improved

  • Rework chat rendering and virtualization for smoother streaming, stable bottom following, and large histories.
  • Show one stable animated agent avatar and status label for each active response, including reduced-motion support.
  • Improve the development landing preview, conversation stories, and seeded demo content.
  • Add a staged hero entrance and a skeleton-to-preview reveal on the public landing page.
  • Extend local and remote team chat contracts for message history, search, reactions, files, and read state.

Fixed

  • Keep queued messages in their panel until work starts and display each user message before its matching response.
  • Animate queue entry removal and panel resizing without abrupt chat movement.
  • Keep the activity avatar visible until response streaming ends, then close it with a soft transition.
  • Smooth message height changes and preserve bottom scroll while streamed content grows.

OpenBot 0.1.17

Fixed

  • Authenticate pinned runtime release lookups in GitHub Actions to avoid unauthenticated API rate-limit failures.

OpenBot 0.1.16

Improved

  • Open an agent chat directly from incoming and outgoing exchange markers instead of showing a separate exchange history dialog.
  • Use Luna with low reasoning effort for every deterministic development seed agent.

Fixed

  • Run development-state reset tests in the Node environment so CI and signed release builds can load node:sqlite.
  • Keep message links, inline citations, and source references routed to the system browser, with a clear error when opening fails.

OpenBot 0.1.15

New

  • Add conversational bot profile updates for name, title, and description, plus profile-based agent discovery and message routing.
  • Add a guided first-run onboarding flow and deterministic development seed data for integrated UI testing.
  • Add managed transfer manifests, shared-file references, ownership metadata, and integrity checks for message and generated attachments.
  • Add the shared Kobalte Select component with Storybook coverage and use it for reasoning controls.

Improved

  • Replace bot profile role with title in storage, local and remote Team APIs, renderer search, and agent instructions. Team permission roles stay unchanged.
  • Start the Auth API with the development app and select available local ports when defaults are busy.
  • Compact stored conversation and mailbox event history during the schema version 4 upgrade.
  • Simplify queued message handling by removing the paused queue state and resume action.

Fixed

  • Validate copied attachment size and SHA-256 data, and remove bot-owned generated files when an agent is deleted.
  • Improve agent settings controls, reasoning selection, profile editing, and file reference rendering.

OpenBot 0.1.14

New

  • Add full-window P2P Remote Control for active server members, with shared mouse and keyboard control, four concurrent sessions, monitor selection, hide and resume, retry, and explicit disconnect.
  • Bundle pinned Sunshine and Moonlight Web runtimes built from source, with immutable artifacts, corresponding GPL source, checksums, SBOMs, and build provenance.
  • Add speech-to-text message input with local Whisper model preparation.
  • Add universal server invitation links and updated account, server, queue, attachment, and conversation controls.

Improved

  • Changed the project license from Apache-2.0 to PolyForm Noncommercial 1.0.0.
  • Publish the OpenBot application for macOS only in this release while Windows application packaging is paused.
  • Start Remote Control only from the server header and keep a hidden session active until the user disconnects or changes servers.

Removed

  • Remove QuickDesk, VNC, noVNC, remote passwords, and view-only remote access paths.

Security

  • Authorize Remote Control through active team membership and one-time in-memory viewer grants.
  • Verify the local Sunshine TLS chain and pin the exact generated certificate.

OpenBot 0.1.11

New

  • Render Markdown and plain web links with site favicons, safe fallbacks, and system-browser opening.

Fixed

  • Automatically unarchive stored Codex sessions before resuming work or reading conversation history.
  • Use trusted Chromium input events and one consistent page and network identity in the embedded browser so X sign-in and account confirmation work.
  • Send signed-out X landing pages to the stable login route while preserving signed-in sessions.

OpenBot 0.1.10

Fixed

  • Detect Codex and Claude in current Windows installer locations and in npm paths that contain spaces.
  • Report a CLI that exists but cannot start instead of incorrectly reporting it as not installed.

OpenBot 0.1.9

Fixed

  • Allow Codex or Claude selection on the initial setup screen while provider checks run or setup is still required.

OpenBot 0.1.8

New

  • Add GitHub-hosted Windows x64 CI builds and unsigned NSIS release installers.
  • Add Windows package launch, metadata, updater, and Electron fuse checks.

Improved

  • Publish macOS and Windows assets together only after both release jobs pass.
  • Detect local Codex and Claude CLI installations and enable installed updates on Windows.
  • Keep native window controls visible on Windows.

OpenBot 0.1.7

Improved

  • Make the message composer grow up to six lines and preserve multiline typing and paste input.

Fixed

  • Prevent horizontal scrolling in chats and wrap long URLs and paths inside message bubbles.

OpenBot 0.1.6

Fixed

  • Keep the first sent message visible and close onboarding after a successful send.

OpenBot 0.1.5

Improved

  • Require an explicit model choice before a new empty agent can accept messages.
  • Show the specialty step immediately after model selection and after creating an agent.
  • Allow browser and settings panels to expand while keeping a usable conversation area.
  • Close an agent settings panel when switching chats and use clearer provider marks in model pickers.

Fixed

  • Show complete Claude responses immediately when stream deltas are missing or incomplete instead of requiring a chat refresh.

OpenBot 0.1.4

Fixed

  • Present embedded browser requests as standard Chrome requests so X login and signup flows work.
  • Restart expired X onboarding routes from the stable login entry after an app restart.
  • Persist embedded browser tabs, active tab selection, URLs, and agent ownership across app restarts.
  • Revalidate top-level browser navigation to avoid stale cached pages.

OpenBot 0.1.3

New

  • Agent headers, settings, and onboarding now use one model picker with provider availability, CLI version, and account details.

Improved

  • Changing the preferred provider now updates the active account details and default model immediately.
  • Development mode now watches source files for changes.

OpenBot 0.1.2

Improved

  • New Claude agents now use Claude Opus 5 as their default model.
  • Agent onboarding and runtime settings now use one consistent compact card layout.

Fixed

  • Creating an agent now opens its settings panel immediately.

OpenBot 0.1.1

New

  • Claude CLI support with automatic Codex and Claude availability checks.
  • Per-agent provider and model selection during onboarding and in agent settings.
  • First-launch provider selection with macOS permission status and later account-menu access.

Improved

  • Simplified provider selection to show clear availability without decorative provider cards.
  • Development state reset now deletes OpenBot Dev state without creating a backup.

Fixed

  • Shutdown now waits for active queue writes before closing local storage.

OpenBot 0.1.0

New

  • Signed GitHub Releases update pipeline with in-app availability, download progress, and restart-to-install controls.
  • Public repository documentation, community health files, CI, and draft release automation.
  • Apache-2.0 licensing and an attribution notice for Norbert Bodziony.
  • Local Codex App Server lifecycle and ChatGPT subscription authentication.
  • Per-agent context-budget monitoring and proactive App Server thread compaction.
  • Persistent agents with independent threads, workspaces, profiles, models, and reasoning settings.
  • FIFO queues, agent-to-agent messaging, replies, reactions, attachments, and file transfers.
  • Embedded browser control and optional macOS Computer Use integration.
  • SolidJS desktop interface with resizable agent, browser, and settings panels.
  • Explicit first-launch consent before the full-access Codex service can start.
  • Local ZIP backups, privacy-safe diagnostics, release SBOMs, and multi-version macOS CI checks.

Improved

  • Standardized the product name and all user-facing branding as OpenBot.
  • Replaced the remaining third-party-inspired avatar SVG with an original OpenBot placeholder mark.

Meet your first teammate

Run Codex, Claude, Gemini, Grok or your own model with the plans you already pay for, each with its own workspace and context. Your work stays on your computer.

Download OpenBotContact