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

# Capabilities and progress

> The status of every Mini App capability by module: released, experimental, coming soon, or planned.

Status as of November 3, 2026. "Released" means available in a production release; see each capability's documentation for its minimum version. "Coming soon" previews capabilities that will be available in a future release; features and release dates depend on the shipped release.

* Released Available in the current release
* Experimental Interface may change; feature-detect before use
* Coming soon Shipping in an upcoming release; the interface is final only once released
* Planned Not available yet

## Working with the Agent

| Capability | Status | Description |
| - | - | - |
| [The Agent calls your tools](https://agent.minimax.io/docs/miniapp/authors/agent.md#mcp) | Released | Managed MCP: the Node service exposes business capabilities as tools, so the page and the Agent work on the same data |
| [Hand off to the message input](https://agent.minimax.io/docs/miniapp/authors/client-api.md#append) | Released | `message.append` puts prepared content into the current session's input; the user confirms before sending |
| [Start Agent sessions](https://agent.minimax.io/docs/miniapp/authors/agent.md#agent-api) | Released | Both the page and the Node service can start one: replies stream in, approvals and questionnaires are handled in the page, or `open(sessionId)` shows the session in the chat side panel; Node sets a concurrency limit and extra calls wait in line; you can choose the model and agent |
| [Follow up while a session is busy](https://agent.minimax.io/docs/miniapp/authors/agent.md#agent-busy) | Released | `run` with `whenBusy`: when the target session is busy, wait in line for it to go idle, or inject the message into the running turn |

## Sessions

| Capability | Status | Description |
| - | - | - |
| [Open in a session](https://agent.minimax.io/docs/miniapp/sessions.md#open) | Released | A reference in the input starts the backend and opens the page; `open` with a `path` opens any address inside the plugin; reopening in the same session preserves the route and state if the service hasn't restarted, the page hasn't reloaded, and no explicit `path` is supplied |
| [One service for every session](https://agent.minimax.io/docs/miniapp/sessions.md#shared) | Released | One service per plugin, one page per session |
| [Survives sign-in changes](https://agent.minimax.io/docs/miniapp/sessions.md#accounts) | Released | Refreshing sign-in credentials doesn't affect running Mini Apps; after the same account signs back in, list the tools again and continue without republishing |
| [Read and observe user sessions](https://agent.minimax.io/docs/miniapp/authors/agent.md#agent-read) | Released | `agent.sessions` lists the user's sessions, `agent.session` reads one, and `agent.observe` subscribes to its progress; requires `session.read` in the manifest, and users can switch it off in the permission panel at any time |

## Interface and windows

| Capability | Status | Description |
| - | - | - |
| [Standalone window](https://agent.minimax.io/docs/miniapp/authors/client-api.md#window) | Released | Pop the page out of the file panel; `surface.window` declares size, always-on-top, transparency, and click-through, the position is remembered, and visibility doesn't follow the main window; switching modes may rebuild the page, see [rebuild and confirmation](https://agent.minimax.io/docs/miniapp/reference/client-api.md#window-reload) |
| [Page-side window handle](https://agent.minimax.io/docs/miniapp/authors/client-api.md#window) | Experimental | `window.mcode.miniapp.window` reads and adjusts the pop-out window |

## Host awareness and navigation

| Capability | Status | Description |
| - | - | - |
| Theme and interface language | Coming soon | Support adapting the page to the host's light/dark theme and interface language |
| Observe navigation state | Coming soon | Observe public host interface state and navigation changes |
| Open host destinations | Coming soon | Open common host destinations from a Mini App after a user action |

## Devices

| Capability | Status | Description |
| - | - | - |
| [Microphone and speech-to-text](https://agent.minimax.io/docs/miniapp/authors/client-api.md#speech) | Released | With `deviceAccess` declared in the manifest, the page can use the microphone, and `speech.transcribe` hands the recording to the host for transcription |
| [Camera](https://agent.minimax.io/docs/miniapp/authors/client-api.md#camera) | Released | Available since v3.1.9: use the camera in a Mini App page, with access controlled by the user |
| [System notifications](https://agent.minimax.io/docs/miniapp/authors/client-api.md#notifications) | Released | Available since v3.1.9: send system notifications from a Mini App to let users know when results are ready |

## Backend and data

| Capability | Status | Description |
| - | - | - |
| [Backend service](https://agent.minimax.io/docs/miniapp/authors/node-runtime.md#contract) | Released | Export `start(context)`; the host assigns the port and handles start and stop. The Node entry can also launch Python, Go, or other services and reverse-proxy to them from the assigned port |
| [Persistent data](https://agent.minimax.io/docs/miniapp/authors/data.md#state) | Released | Each plugin gets an isolated `dataDir` that survives service restarts and plugin updates |
| [Data access](https://agent.minimax.io/docs/miniapp/authors/data.md#methods) | Released | Host Connector calls Notion and other apps with the account the user authorized in MiniMax Code, and the plugin stores no credentials; CLIs, HTTP APIs, SDKs, and local files work directly too |
| [Unified tool entry](https://agent.minimax.io/docs/miniapp/authors/data.md#tools) | Released | With `toolAccess` declared in the manifest, `context.tool` lists and calls the host's mounted MCP tools and Connectors with one API; every call is judged by the user's permission rules for the Agent, and the host prompts when confirmation is needed |

## Permissions and security

| Capability | Status | Description |
| - | - | - |
| [Port authentication](https://agent.minimax.io/docs/miniapp/authors/node-runtime.md#auth) | Released | Each run gets its own credential, so only the Mini App page and managed MCP can reach the service port; no plugin code changes |
| [Plugins and pages never handle credentials](https://agent.minimax.io/docs/miniapp/host/security.md#boundaries) | Released | The host makes third-party calls on the user's behalf; host credentials, internal ports, and tool references never reach the page |
| [Grants and confirmation](https://agent.minimax.io/docs/miniapp/host/security.md) | Released | Connector providers, Agent access, always-on-top, and click-through must be declared in the manifest; handing off to the input always needs confirmation; Agent approvals are only "allow once" and "deny", and a Mini App can't write the user's global permission rules |
| [Permission panel](https://agent.minimax.io/docs/miniapp/host/security.md#permissions) | Released | The plugin detail page has a switch for each of the Mini App's permissions: Connectors, Agent sessions, reading sessions, tool calls, microphone, camera, and notifications; on by default, and switching one off immediately restricts new calls without a restart |
| System permissions denied by default | Released | Microphone, camera, and notification access must be declared in the manifest and enabled; unavailable system permissions, such as location, are denied by default |

## Building, publishing, and operations

| Capability | Status | Description |
| - | - | - |
| [Create and install](https://agent.minimax.io/docs/miniapp/authors/quickstart.md) | Released | `/miniapp-creator` builds from one sentence and checks the result with screenshots in the built-in browser; you can also hand an existing directory or ZIP to the Agent to publish; official Mini Apps install, update, and uninstall through the marketplace |
| Import from GitHub | Coming soon | Import a Mini App from a GitHub repository |
| [Operations](https://agent.minimax.io/docs/miniapp/authors/publish.md) | Released | Publishing happens in steps and a failed install restores the previous version; `inspect` shows the source, runtime status, and diagnostics; `stop` and `restart`, with a restart offered from the failed state |
| [Controlled marketplace updates](https://agent.minimax.io/docs/miniapp/host/lifecycle.md#marketplace-updates) | Released | When the new Mini App definition remains compatible and needs a restart, running instances keep the current package until you apply the update or the service stops. Removing the definition or withholding it because of its version requirement retires the old service without waiting for confirmation |
| Memory-based runtime capacity | Coming soon | Replace the fixed limit of 3 services with a concurrent service limit based on device memory |
| Background sleep and restore | Coming soon | Reclaim background resources under memory pressure to reduce memory use by idle Mini Apps |
| Scheduled work | Planned | Update data or run recurring work on a schedule |

## Versions and compatibility

| Capability | Status | Description |
| - | - | - |
| [Minimum version and capability detection](https://agent.minimax.io/docs/miniapp/reference/manifest.md#compat) | Released | `engines.mcode` in `miniapp.json` declares the minimum MiniMax Code version. Hosts that recognize it withhold the Mini App when too old, while keeping Skills and ordinary MCP. `capabilities.has(name)` reports host interface support, not a grant to the plugin |

Need a runtime capability Mini App doesn't have yet? Comment on the pinned [capability wishlist](https://github.com/MiniMax-AI/MiniMax-Code-MiniApps/issues/9) in the community repository.
