Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -323,6 +323,7 @@
{
"group": "Release Notes",
"pages": [
"openhands/usage/agent-canvas/release-notes/v1.26.0",
"openhands/usage/agent-canvas/release-notes/v1.25.0",
"openhands/usage/agent-canvas/release-notes/v1.24.0",
"openhands/usage/agent-canvas/release-notes/v1.23.0",
Expand Down
11 changes: 11 additions & 0 deletions openhands/usage/agent-canvas/backends.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
description: Understand and manage Agent Canvas backends.
---

A **backend** provides [Agent Server](/sdk/guides/agent-server/overview#what-is-a-remote-agent-server) and, when automations are enabled, Automation Server. Agent Server runs conversations and tools in a workspace: the folder, mounted project directory, container, or cloud sandbox where the agent reads and writes files. Automation Server manages schedules, events, and run lifecycle. Agent Canvas connects to these services and displays the state of whichever backend is selected.

Check warning on line 6 in openhands/usage/agent-canvas/backends.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/backends.mdx#L6

Did you really mean 'automations'?

## Connecting to a Backend

Expand All @@ -11,10 +11,21 @@

![Agent Canvas Add Backend dialog on the Agent Server tab with synthetic display name, host URL, and masked API key fields.](/openhands/static/img/agent-canvas-add-backend-agent-server.png)

Settings, LLM configuration, MCP servers, and automations are all scoped to the active backend — switching backends switches all of these.

Check warning on line 14 in openhands/usage/agent-canvas/backends.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/backends.mdx#L14

Did you really mean 'automations'?

"Remote" describes how Canvas connects to a backend, not where that backend runs. A remote backend can be a separate process on the same machine, a self-hosted deployment on a VM or container platform, or a managed Cloud or Enterprise service.

## Suspended Workspaces

On cloud and Enterprise backends, an administrator can suspend an organization or one user's membership in it. When the selected organization is suspended, the backend refuses requests scoped to it with a `403` and Agent Canvas replaces the app with a message instead of leaving it open on top of failing requests.

- If the organization is suspended, Canvas shows that the workspace is suspended and asks you to contact your administrator to restore access.
- If only your membership is suspended, Canvas shows that your access to the workspace is suspended.

Below the message is a button for each of your other workspaces. Choosing one switches the active workspace and reloads its data. If the suspended workspace is the only one you can access, only the message appears. Super Admins are exempt and do not see the screen.

The suspension is remembered for the current session. After an administrator resumes the organization, reload the page to clear it.

## Recommended Setups

| Setup | When to use | How |
Expand Down
8 changes: 8 additions & 0 deletions openhands/usage/agent-canvas/canvas-extensions.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@

<Tabs>
<Tab title="Git Repository">
1. Enter the Git source, such as `github:owner/repository`, or paste the app folder's browser URL from GitHub, GitLab, Bitbucket, Gitea, or Forgejo.

Check warning on line 42 in openhands/usage/agent-canvas/canvas-extensions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/canvas-extensions.mdx#L42

Did you really mean 'Gitea'?

Check warning on line 42 in openhands/usage/agent-canvas/canvas-extensions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/canvas-extensions.mdx#L42

Did you really mean 'Forgejo'?
2. Optionally enter a branch, tag, or commit in `Ref`.
3. If the app is not at the repository root, enter its directory in `Repo path`.
4. Select `Add app`.
Expand Down Expand Up @@ -167,6 +167,14 @@

The beta host API does not expose the backend origin or a WebSocket authentication capability. Use the authenticated HTTP helper, polling where appropriate, or a backend-owned bridge instead of opening a direct Agent Server WebSocket.

### Embed a Backend View

An app can embed an app-owned HTTP UI — for example, a web editor — through the optional `host.appBackendView` helper. The helper is present only when the active Agent Server exposes the bridge contract: its `server_info` advertises the backend bridge capability and an HTTP(S) ingress URL, and the installed `@openhands/typescript-client` exports the app backend session methods.

Call `host.appBackendView.mount({ container })` to mount the view. The helper requests a short-lived session from the discovered ingress and renders it in an iframe; the app never receives an Agent Server session key and must not construct the ingress origin or derive it from `window.location`. Canvas validates that the returned URL shares the ingress origin and applies only the server-provided sandbox tokens, rejecting top-navigation, downloads, and storage access. The host owns loading, safe errors, retry, a validated new-tab fallback, session revocation, and disposal on page unmount or backend switch.

The feature is additive: self-contained ESM loading, routed page registration, and the native editor are unchanged.

## Design for the Beta Lifecycle

Agent Canvas may activate, mount, and dispose an app repeatedly when you enable or disable it, update it, reconnect, or switch backends. App pages should:
Expand Down
10 changes: 10 additions & 0 deletions openhands/usage/agent-canvas/first-time-setup.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
Agent Canvas uses the **Agent-Client Protocol (ACP)** to communicate with agents, which means you're not locked into a single provider.

- **OpenHands** (selected by default) — the general-purpose OpenHands agent, best for coding and exploration.
- **Claude Code** — Anthropic's Claude Code agent.

Check warning on line 15 in openhands/usage/agent-canvas/first-time-setup.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/first-time-setup.mdx#L15

Did you really mean 'Anthropic's'?
- **Codex** — OpenAI's Codex agent.
- **Gemini CLI** — Google's Gemini CLI agent.

Expand Down Expand Up @@ -70,7 +70,7 @@
- **GitHub Repository Monitor** — watch a repository for `@OpenHands` mentions and respond automatically.
- **Slack Standup Digest** — summarize yesterday's Slack activity into an async standup note.

You can browse all pre-built automations from the `Automate` view at any time. See [Pre-built Automations](/openhands/usage/agent-canvas/prebuilt-automations) for the full list.

Check warning on line 73 in openhands/usage/agent-canvas/first-time-setup.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/first-time-setup.mdx#L73

Did you really mean 'automations'?

## Getting Started Checklist

Expand All @@ -79,7 +79,7 @@
1. **Set up your LLM** — links to `Settings > LLM`
2. **Connect MCP servers** — links to `Customize > MCP`
3. **Start a conversation** — links to `Conversations`
4. **Explore automations** — links to `Automate`

Check warning on line 82 in openhands/usage/agent-canvas/first-time-setup.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/first-time-setup.mdx#L82

Did you really mean 'automations'?
5. **Customize your agent** — links to `Customize`
6. **Review settings** — links to `Settings`

Expand All @@ -89,6 +89,16 @@
Toggle the checklist from `Settings > Application` using the **Show getting started checklist** switch. The setting persists across sessions.
</Note>

## Super Admin Setup Guide

On OpenHands Enterprise backends where the first Super Admin has the setup guide enabled, Agent Canvas shows the same setup guide as the OHE dashboard: a floating panel in the lower-right corner that collapses to a pill. It lists the same four steps in the same order, with the same n/4 progress, and links back to OHE for the steps that live there.

The guide appears only for the first Super Admin, while the guide has an organization and is not dismissed. Everyone else, and local backends, see no guide. While the guide is loading or shown, the "Getting started" checklist is hidden; it stays for everyone else.

Progress is re-read on each navigation, so an automation created from a template in Canvas ticks its step. When you complete a step in Canvas — creating an automation directly from a template, or adding an MCP server — the guide opens the next step. A step finished out of order, or one the server does not confirm, opens nothing. An assisted setup that only starts a conversation does not report the step.

Closing the panel collapses it to the pill until the next page load. Dismissing the guide stays on the OHE guide page.

## Customize your Agent Canvas

When you are ready to go beyond the default setup, choose the mechanism that fits the task:
Expand Down
2 changes: 2 additions & 0 deletions openhands/usage/agent-canvas/managing-automations.mdx
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
---
title: Managing automations

Check warning on line 2 in openhands/usage/agent-canvas/managing-automations.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/managing-automations.mdx#L2

Did you really mean 'automations'?
description: Browse, export, import, enable, disable, and run automations from the Agent Canvas Automate view.

Check warning on line 3 in openhands/usage/agent-canvas/managing-automations.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/managing-automations.mdx#L3

Did you really mean 'automations'?
---

The **Automate** view in Agent Canvas is the in-app control center for your automations. From here you can see all automations on the active backend, inspect their configuration and run history, and manage their lifecycle without leaving the app.

Check warning on line 6 in openhands/usage/agent-canvas/managing-automations.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/managing-automations.mdx#L6

Did you really mean 'automations'?

Check warning on line 6 in openhands/usage/agent-canvas/managing-automations.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/managing-automations.mdx#L6

Did you really mean 'automations'?

<Note>
Automations run on the active backend. Switch backends from [Connect and Manage Backends](/openhands/usage/agent-canvas/backends) to see automations on a different backend.

Check warning on line 9 in openhands/usage/agent-canvas/managing-automations.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/managing-automations.mdx#L9

Did you really mean 'Automations'?

Check warning on line 9 in openhands/usage/agent-canvas/managing-automations.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/managing-automations.mdx#L9

Did you really mean 'automations'?
</Note>

## Browse and inspect automations

Check warning on line 12 in openhands/usage/agent-canvas/managing-automations.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/managing-automations.mdx#L12

Did you really mean 'automations'?

Open the **Automate** tab in the sidebar to see all automations on the active backend. Each row shows the automation name, trigger type, and enabled state. When the active backend is healthy but has no automations, the Automate pane remains available and includes an option to add one.

Check warning on line 14 in openhands/usage/agent-canvas/managing-automations.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/managing-automations.mdx#L14

Did you really mean 'automations'?

Check warning on line 14 in openhands/usage/agent-canvas/managing-automations.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/managing-automations.mdx#L14

Did you really mean 'automations'?

Click an automation to open its detail view. The detail view shows:

- The full prompt the automation runs
- The automation's script, for automations that run a script bundle instead of a prompt

Check warning on line 19 in openhands/usage/agent-canvas/managing-automations.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/managing-automations.mdx#L19

Did you really mean 'automations'?
- Trigger configuration (schedule, webhook, or event)
- LLM profile used for runs
- Recent run history and status
Expand All @@ -25,6 +25,8 @@

A run can be `PENDING`, `RUNNING`, `COMPLETED`, `FAILED`, `CANCELLED`, or `SKIPPED`. A `SKIPPED` run can occur when the backend reaches its concurrency limit. Future backend statuses appear as a neutral status badge so they do not prevent you from viewing the automation.

A completed run's badge also reflects its task outcome. When the finish response has no task outcome status, the run shows a successful badge. Only an explicit unrecognized status string maps to **Needs review**. When the finish response carries an `outcome_summary` without a status, the run still shows that summary. These display rules are the same in the Activity Log, the run logs, the home health metrics, and automation insights.

### Run Phase

Automation runs surface a live **phase** that reflects a run's current state: `PENDING`, `RUNNING`, or `FAILED`. The phase appears on automation cards, in the Activity Log, and on the home screen, and updates live as a run progresses. A failed run retains its last phase after it stops.
Expand All @@ -41,7 +43,7 @@
On cloud backends, a run's sandbox is deleted shortly after the run finishes unless the backend keeps it for a cleanup delay. Once the sandbox is gone, the logs are no longer available and the run shows a deleted-sandbox message. Open **View logs** while the run is in progress to read its output.
</Note>

To see what a script automation runs, open its detail view and read the **Script** section, which replaces the prompt section for prompt-less automations and lists the bundle's files.

Check warning on line 46 in openhands/usage/agent-canvas/managing-automations.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/managing-automations.mdx#L46

Did you really mean 'automations'?

### Activity Log Costs and Exports

Expand All @@ -49,9 +51,9 @@

Use the Activity Log export controls to download run data as CSV or JSON. Both formats include a raw numeric `cost` field for every run, as well as the run's `phase`. An unavailable cost is exported as `null`.

## Enable and disable automations

Check warning on line 54 in openhands/usage/agent-canvas/managing-automations.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/managing-automations.mdx#L54

Did you really mean 'automations'?

Toggle an automation on or off from the kebab menu (⋮) on the automation row, or from the detail view. Disabled automations do not fire on their scheduled trigger or in response to events, but their configuration is preserved.

Check warning on line 56 in openhands/usage/agent-canvas/managing-automations.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/managing-automations.mdx#L56

Did you really mean 'automations'?

### Disablement reasons

Expand Down Expand Up @@ -127,7 +129,7 @@

5. Confirm to create the automation.

Imported automations are created **disabled**. After importing, open the automation from the list, review its configuration, and enable it when ready.

Check warning on line 132 in openhands/usage/agent-canvas/managing-automations.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/managing-automations.mdx#L132

Did you really mean 'automations'?

## Related guides

Expand Down
42 changes: 42 additions & 0 deletions openhands/usage/agent-canvas/release-notes/v1.26.0.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: Agent Canvas 1.26.0
description: Release notes for Agent Canvas version 1.26.0
---

# Agent Canvas 1.26.0

Released October 8, 2026.

[View the full release on GitHub](https://github.com/OpenHands/OpenHands/releases/tag/v1.26.0).

## Highlights

- **Authenticated backend views for Apps** — An app can embed an app-owned HTTP UI through the optional `host.appBackendView` helper, which requests a short-lived session from the active Agent Server's ingress and mounts it in an iframe. See [Apps (Beta)](/openhands/usage/agent-canvas/canvas-extensions).
- **Suspended workspace screen** — On cloud and Enterprise backends, when the selected organization or your membership in it is suspended, Agent Canvas replaces the app with a message and offers a button for each of your other workspaces. See [Backends](/openhands/usage/agent-canvas/backends).
- **Super Admin setup guide on enterprise backends** — On Enterprise backends where the first Super Admin has the guide enabled, Canvas shows the same setup guide as the OHE dashboard, with the same steps and n/4 progress, and hides the "Getting started" checklist while it is shown. Completing a step in Canvas advances the guide to the next step. See [First Time Setup](/openhands/usage/agent-canvas/first-time-setup).
- **Narrowed "Needs review" run status** — A completed automation run whose finish response has no task outcome now shows a successful badge. Only explicit unrecognized statuses map to "Needs review". See [Managing automations](/openhands/usage/agent-canvas/managing-automations#run-statuses).

## Fixes

- An empty-response corrective nudge from the SDK renders as an informational note in chat instead of a plain assistant message.
- Error toasts show the server's message instead of raw `HttpError` text, for generic errors, LLM profile errors, and failed plugin and app installs and updates.
- Cloud organization and Git installation queries poll less often, and cloud conversation requests are scoped to the selected organization. Cloud sandbox resume retry behavior is adjusted.
- PostHog telemetry is never initialized when the browser sends Do Not Track.
- Accessibility: menus, popovers, and the conversation header menu close on `Escape` and return focus; the LLM profile row menu is keyboard-operable; icon-only composer and diff viewer buttons are named.
- Narrow-screen layout: settings and customization remain usable on tablets, home shows folder names at phone width, and the conversation drawer opens at phone width for agent and file-link tab requests.
- Unknown URLs render as an in-app not-found page. The command menu lists Model Router and Agent Context and shows `Ctrl+K` off Apple platforms. Switching from `Manage backends` redirects off backend detail pages. The "No backend is configured." toast no longer appears before a backend exists.
- MCP failed stdio connection tests are explained without the URL hint, and catalog identity is kept for repeated STDIO installs. The Files panel shows the current file body after `Refresh` and reload. The cloud VS Code action is hidden when it is unavailable.
- Automations read local run logs from the server-level bash events, show one error toast when an action fails, keep the filters popover open between choices, and show repositories and plugins stored in `preset_metadata`; repository credentials are hidden on the Git Sync status card.

Check warning on line 29 in openhands/usage/agent-canvas/release-notes/v1.26.0.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/release-notes/v1.26.0.mdx#L29

Did you really mean 'Automations'?
- Plugin controls say "plugin", busy app switches stay inert, and workspace hooks are listed in the Available Hooks dialog on local backends. A bare `/btw` shows a toast, and `Resume` is offered only on the latest goal status.
- The macOS desktop title bar drag region is restored.

## Maintenance

- The bundled VS Code consumer refactor was reverted in the same release, so bundled VS Code support is unchanged.
- Added the internal `verify-openhands` agent skill and feature map, plus maintenance mapping docs.
- Weekly test sweep removed low-value tests, and several end-to-end tests were updated. Raw color lint warnings were staged.

## Full Changelog

- [GitHub release notes](https://github.com/OpenHands/OpenHands/releases/tag/v1.26.0)
- [Compare v1.25.0 to v1.26.0](https://github.com/OpenHands/OpenHands/compare/v1.25.0...v1.26.0)
Loading