Bring your own agent

Letting Codex, Grok Build, Claude Code or opencode narrate on the plan you already pay for, and Codex or Grok Build paint the pictures too: which plan to pick, what the app checks, how the program is boxed in, choosing models, testing a turn, and the builds where it is not available.

Desktop appServer

If a coding agent is already installed and signed in on your computer, it can be the Dungeon Master. No changes hands: the program runs on its own subscription, and the app only starts it, hands it the table's tools for one , and reads the back.

Supported programs

ProgramComes withStateIts own pictures
CodexA ChatGPT plan, such as ChatGPT PlusMarked untested until a test passes on your machineYes, after a test picture
Grok BuildSuperGrok or X Premium+Marked untested until a test turn passes on your machineYes, after a test picture
Claude CodeA Claude plan, such as Claude ProProvenNo
opencodeThe providers you set up in itProvenNo

Choosing a plan for this? Pick one whose agent paints: ChatGPT Plus with Codex or SuperGrok with Grok Build. One subscription then tells the story and paints the portraits, scene art and maps, with no and no graphics card. Pictures count toward the plan's usage faster than text does. Already pay for Claude? Claude Code narrates well, and pictures can come from an OpenAI key or a local instead.

On the desktop app

  1. Home screen, Story AI, An agent you already have.
  2. 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.
  3. Pick one, choose a story model and a lighter from the program's own list, and play. Optional tuning holds the bookkeeping model and speed; Claude Code and Codex offer Fast only where the installed program lists it. 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 , 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 in the . 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 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 .
  • 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 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 only after Paint a test picture makes one real image. The desktop Story AI flow offers this after selecting an image-capable agent. Otherwise your image backend or the painted placeholders continue.

Where it is not available

  • Android. A phone has no agent to start; the two other doors remain.
  • The build of the desktop app: its sandbox cannot start other programs. The , .deb, .rpm, disk image and Windows builds can.
  • The 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 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.

Checked against desktop and Android app 0.19.4 and server 0.28.4 on 2026-10-21. Something wrong or missing? Open an issue.

Download · v0.21.2
Server app · v0.30.2

Optional. Runs the table for a whole group on one machine that stays on. Everyone else just installs the app.

Free & open source · MIT licensed · served from GitHub releases