# Choose an agent engine

Each agent runs on an **engine** — the thing that actually produces tokens. madarX OS ships five.

| Engine | Where it runs | Needs |
|--------|---------------|--------|
| `claude-code` | Local Claude Code CLI (**default**) | The `claude` CLI installed |
| `anthropic` | Anthropic API (cloud) | `ANTHROPIC_API_KEY` |
| `ollama` | Local Ollama models | Ollama running locally |
| `codex` | OpenAI Codex CLI | The `codex` CLI installed |
| `hermes` | Hermes runtime (cloud) | Hermes credentials |

`claude-code` is the default. It spawns the local CLI with `--permission-mode bypassPermissions`; the **deny list in `.claude/settings.json` is the load-bearing safety boundary** for that engine.

## Set the default model

The default *model* (separate from the engine) is set with **⌘K → Set default model**, or in **Settings → Engines**.

## Per-agent override

Open an agent's detail page in **Details** view (`?view=details`) to swap its engine.

## Local-only data and cloud engines

Memory and Disk files flagged `local_only` are **masked** for cloud engines (`anthropic`, `hermes`) — those engines receive a redacted marker instead of the content. Local engines see the real content. This is a hard boundary, not a setting.

## Verify

**Settings → Engines** lists each engine and whether it is **available**, with a ping button.

## Related

- [Set the Anthropic API key](/help/set-anthropic-key)
