Angelia · Updated 27 October 2026

# Angelia for Grok Build: setup, approvals and limits

Angelia connects Grok Build, xAI's coding agent CLI (`grok`), on your Mac to WhatsApp and Telegram. Each chat gets its own Grok Build session, in its own folder. Grok Build reads the profile's `CLAUDE.md` and Claude settings, so the instructions and rules you wrote for Claude Code work here too. Angelia runs no model of its own: Grok Build does the work, under your own `grok login`.

## What Angelia does for Grok Build

- **One session per chat.** Each chat is routed to a profile: a folder with its own instructions and memory. Angelia keeps one `grok agent stdio` process per chat, and the session comes back after a restart. `/new` in one chat never touches another.
- **Your instructions and rules.** `angelia compile` writes the profile's deny rules into its `.claude/settings.json`, which Grok Build reads. Grok Build reads a folder's `CLAUDE.md` and settings only once you trust the folder. The wizard, onboarding and `/backend grok` do that for you.
- **Grok Build's own permission modes.** The profile's `permission_mode` goes to Grok Build as its own mode. Its questions come to the chat.
- **It keeps running.** As a LaunchAgent, Angelia starts at login and comes back after a crash. The chat answers whenever the Mac is on and awake.

## What you need

- A Mac with Node 22.23.4+, 24.22.1+ or 26.12.1+ and git.
- Grok Build, signed in with `grok login`. Measured with 1.0.13 to 1.0.40; check with `grok --version`.
- A chat app on your phone. For Telegram, a bot token from [@BotFather](https://t.me/BotFather) ([more](https://useangelia.com/telegram/)). For WhatsApp, a second, established number, not your personal one ([why](https://useangelia.com/whatsapp/)).
- Optional: `brew install openai-whisper ffmpeg` for voice notes.

## Set it up

```
curl -fsSL https://useangelia.com/install | sh
angelia service install
```

The first line checks the release's signature, installs Angelia and starts a setup wizard ([read the script](https://github.com/korengast/angelia/blob/v0.3.24/install.sh)). Pick Quick or Advanced, then Telegram, WhatsApp or both. Pick Grok Build as the CLI. The wizard asks to mark the profile's folder trusted in grok: say yes. Then send the bot (or the second number) a message from your phone to pair the chat. The second line keeps Angelia running.

Already running Angelia with another CLI? An owner sends `/backend grok` in one of the profile's chats. Angelia edits the routing table, `~/.angelia/workspace/routing.yaml`, with a backup, compiles the profile for Grok Build, trusts its folder in grok and starts a fresh session.

If you set the profile up by hand, run this once in its folder, or Grok Build will not read its `CLAUDE.md`. It trusts the folder, then prints `Project trusted: yes`:

```
grok --trust inspect
```

## What works from the chat

### Approvals

Grok Build decides by itself which commands to ask about. Measured in September 2026 (grok 1.0.13 and 1.0.30): `touch` ran by itself; `rm`, `git init` and `curl` asked. The question comes to the chat as it does for [Claude Code](https://useangelia.com/claude-code/#approvals). `bypassPermissions` approves everything without asking.

Answering a Grok Build question from the chat works from Angelia 0.3.23. In 0.3.22, a bug keeps `yes <id>` from reaching Grok Build's questions. The fix ships in 0.3.23. Run `angelia update` once 0.3.23 is out.

### No sandbox

Angelia has no sandbox for Grok Build: `sandbox: true` is for Claude Code, Codex and pi, and compile says it is ignored here. The deny rules stop Grok Build's file tools, not a program its shell runs. So keep the shell asking in any profile other people can talk to.

- Grok Build reads a path rule only as a full path. A rule written with `~` is ignored, and compile warns about it.
- MCP servers set up for your whole user reach every folder, so compile denies each one the profile was not given. Compile does not write the servers a profile was given yet: add them with `grok mcp add --scope project` in the profile's folder.

### Voice notes, photos and files

A photo or document you send lands in the profile's `.inbox/` folder, up to 20 MB, and Grok Build gets a `[file: path]` line. A voice note arrives as `[voice note: path]`, and the agent runs `angelia transcribe <path>`. Grok Build sends files back with `angelia send-media`. Every path is checked first: never a credential location, never another profile's folder.

### Chat commands

`/new`, `/stop`, `/status`, `/resume`, `/model`, `/effort`, `/backend`, `/restart` and the others `/help` lists are answered by Angelia, without spending a token. `/model` alone shows the models `grok models` lists. Any other slash command is passed to Grok Build as text. Long answers are split as for [every CLI](https://useangelia.com/claude-code/#long-answers).

## Tested

On 2026-10-27, with Angelia 0.3.22 and Grok Build 1.0.40 on macOS, in a WhatsApp group routed to one profile in `permission_mode: default`:

- An answer came in about 11 seconds. A long answer arrived in 2 messages, in order.
- `/status`, `/new` and `/stop` work.
- Grok Build's questions could not be answered from the chat (ids starting `call-`). Fixed for 0.3.23.

Grok Build on Telegram is not tested yet. Voice notes are tested with Claude Code only.

## Limits

- macOS only for now. Linux is next. The Mac must be on and awake: while it sleeps, nothing answers.
- Approvals from the chat need Angelia 0.3.23 or newer.
- No sandbox, as above.
- `angelia ask` (one profile asking another's agent) does not reach a Grok Build profile yet. Give it a task with `angelia turn` instead.
- API key variables (`XAI_API_KEY`, `GROK_CODE_XAI_API_KEY`) are kept out of the agent's environment.
- Prompt injection is not solved. A web page or a forwarded message can still talk the agent into what its mode allows. Read the [security model](https://useangelia.com/docs/security/) before you give the bot to anyone but yourself.
- It is a young project (v0.3), maintained by one person.

## More about Angelia

- [Claude Code on WhatsApp and Telegram: sessions, approvals](https://useangelia.com/claude-code/)
- [Angelia for Codex: setup, sandbox, approvals and limits](https://useangelia.com/codex/)
- [Angelia for pi: setup, sandbox, approvals and limits](https://useangelia.com/pi/)
- [Claude Code on WhatsApp](https://useangelia.com/whatsapp/)
- [Claude Code Telegram bot](https://useangelia.com/telegram/)
- [Angelia vs OpenClaw, Hermes Agent and Remote Control](https://useangelia.com/alternatives/)
- [Docs](https://useangelia.com/docs/)
- [Tools](https://useangelia.com/tools/)
- [Guides](https://useangelia.com/guides/)

## Try Angelia

```
curl -fsSL https://useangelia.com/install | sh
```

It checks the release's signature, then a wizard pairs your first chat. Free and open source (MIT). [How it works](https://useangelia.com/) · [Why Grok Build runs this way](https://useangelia.com/docs/decisions/0007-agy-and-grok-backends/) · [GitHub](https://github.com/korengast/angelia)

Angelia · open source, MIT [Docs](https://useangelia.com/docs/) · [info@useangelia.com](mailto:info@useangelia.com) · [GitHub](https://github.com/korengast/angelia)
