# Current support

> What works today on each platform, and what is limited or unfinished.

Source: https://nodecode.ai/docs/support
Updated: 2026-10-06

## Platforms

| Platform | Build | Background gateway | Self-update |
| --- | --- | --- | --- |
| Linux x86_64, glibc 2.38+ | Yes | systemd user unit | Yes |
| macOS 15+, Apple Silicon | Yes | LaunchAgent | Yes |
| Windows x86_64 | Yes | None | Yes |
| Linux arm64 | No | | |
| macOS Intel | No | | |

Requirements: [Install](https://nodecode.ai/docs/install).

## Works today

- The shell (the terminal UI), the local gateway, durable sessions and profiles.
- One-line install on the three platforms above. See [Install](https://nodecode.ai/docs/install).
- Automatic updates on installed builds. See [Updates](https://nodecode.ai/docs/updates).
- Four provider wire formats: `openai-completions`, `openai-responses`, `anthropic`, `google`. See [Models](https://nodecode.ai/docs/models).
- Cells, Nodecode's and the community's, listed under [Cells](https://nodecode.ai/cells/browse). See [Cells](https://nodecode.ai/docs/cells).
- `/doctor` health check and `/backup` home archive. See [Troubleshooting](https://nodecode.ai/docs/troubleshooting).

## Windows limits

| Limit | Effect |
| --- | --- |
| No background gateway | `nodecode gateway on` is refused. Run `nodecode serve` in a terminal you keep open. |
| No gateway for cells | Cron, link, channels and prs run only while a shell or `nodecode serve` is open. |
| The terminal y/N prompt is not read | `nodecode add` for hub code and `nodecode profile delete` need `--yes`. |
| No profile wrapper command | `nodecode profile create` writes no `NAME` command. Use `nodecode -p NAME`. |
| No symlinks for shared folders | A new profile copies memory, skills and credentials. |
| `/chrome onboard` has no opener | It cannot start Chrome. |
| No local speech or transcription engine | Downloads exist for Linux and macOS only. |
| `/doctor` shows no disk fact | The check uses `df`. |

## Safety limits

- `eval` has full host authority.
- The guard cell is not a security boundary. It refuses listed patterns.
- A cell folder is code with full access to your files and keys.
- Channel messages run with full host authority. Allowlists decide who may send them.
- Nodecode ships no sandbox. The organism is as isolated as the account it runs under.

Detail: [Security](https://nodecode.ai/docs/security).

## Unfinished

| Area | State |
| --- | --- |
| Cell hub | Private. The default index is on the preview host. Only testers reach it. |
| Update rollback | Not automatic. A build that fails to serve after a restart stays linked. See [Updates](https://nodecode.ai/docs/updates). |
| Schema rollback | Rolling back after a store migration is manual. Copy the store first. |
| `profile switch` | Refused in a build that was not started from an installed binary. |
| `--ephemeral` | Channel adapters refuse to start. Definitions still go to the real layer. |
| `cells` config key | Not read. Nodecode prints a warning. |
| `session_token`, `access_key_id`, `secret_access_key` | Only mark a provider as having credentials. No request sends them. |
| MCP | No `cwd`, no `${VAR}` expansion, no per-tool allow or deny, no OAuth. |
| `team` cell | Uses `/bin/sh` and `flock`. macOS and Windows are unverified. |
| `qa` cell | Sends nothing unless `share` is `weekly`. |
| `link` cell | Depends on an external relay, `wss://uplink.nodecode.ai/line` by default. |
| `resources/config/config.schema.json` | Stale. It lists keys the code never reads. |
