Bring your own agent
If a coding agent is already installed and signed in on your computer, it can be the Dungeon Master. No API key changes hands: the program runs on its own subscription, and the app only starts it, hands it the table's tools for one turn, and reads the narration back.
Supported programs
| Program | State | Its own pictures |
|---|---|---|
| Claude Code | Proven | No |
| opencode | Proven | No |
| Codex | Marked untested until a test turn passes on your machine | Yes, after a test picture |
| Grok Build | Marked untested until a test turn passes on your machine | Yes, after a test picture |
On the desktop app
- Home screen, Story AI, An agent you already have.
- Each program shows whether it is installed, signed in and how it is locked down (its own tools removed, or boxed in). Not installed or not signed in? The screen shows the one command to run, with a copy button (a PowerShell command on Windows). The app finds the program even when it was launched from a desktop icon without your terminal's PATH.
- Pick one, choose a story model and a lighter bookkeeping model from what it offers, and play. Every campaign on this computer narrates with it from now on.
On a self-hosted server
Admin, Server settings, Agent: the same cards, models and an effort level, plus Test the table for one real turn, a switch for who may use it (every campaign, or only campaigns an administrator leads), concurrency and a per-turn timeout, and Paint a test picture. Campaigns then choose The server's agent in the Setup tab. See Agent programs and connected agents.
How it is boxed in
- The program is started with none of its own tools: no shell, no file access, no web, none of your MCP servers or settings.
- Its only tools are the Dungeon Master's, served by the server on a token that works from this machine only and expires with the turn.
- It plays inside the same loop as the built-in storyteller: the server rolls every die, the per-turn caps apply, physical dice park the turn, and the narration guard checks its prose.
- The app never asks for, reads or stores the program's key or password, and the program never sees the server's secrets.
- Codex is boxed in with the settings Codex honours, and the admin card names any setting the installed Codex ignores; the table's own tools are pre-approved so it never stops to ask.
Pictures
Pictures stay optional. A program with its own image tool (Codex, Grok Build) is offered as an image backend only after Paint a test picture makes one real image. Otherwise your image backend, or the painted placeholders, carry on as before.
Where it is not available
- Android. A phone has no agent to start; the two other doors remain.
- The Flatpak build of the desktop app: its sandbox cannot start other programs. The AppImage, .deb, .rpm, disk image and Windows builds can.
- The Docker image of the server, unless the program is built into it: a container cannot start programs on its host. Build with
AGENT_PROGRAMS=@openai/codex(or Claude Code, or opencode) and sign in once inside the container; see Run with Docker.
Cost and speed
Turns are billed to the agent's plan as its own usage; the admin page shows the plan's usage when the program reports it. A turn takes as long as the program's model takes to answer, typically well under a minute on a hosted model. If the plan's limit is reached mid-session, the turn fails and the lead can send it back in later.