Run your factory from the chat
Ask Claude or ChatGPT for work in plain words. The manager researches, asks questions, writes the stories and asks "proceed?". Then every station runs and you approve your own stations in the chat.
You can run your CodeBook factories from Claude and ChatGPT. Ask for the work in plain words. The chat turns it into stories and runs the stations. When a station is yours to decide, it asks you, and you approve or send it back in the chat. app.codebook.work shows the same story moving, live.
All of it goes through one connector, https://app.codebook.work/mcp. You sign in once with your Bookbag account, and the connector can do exactly what you can do on app.codebook.work, never more. A factory you cannot see does not exist for it. A station you may not approve stays refused.
Where you can do it
Claude chat means claude.ai and the Claude desktop and mobile apps.
| Claude Code (plugin) | Claude chat | ChatGPT | |
|---|---|---|---|
| Set it up | Connect Claude | Connect Claude | Connect ChatGPT |
| Start work in plain words | Yes | Yes | Not checked in ChatGPT yet |
| Approve or send back your stations | Yes | Yes | Not checked in ChatGPT yet |
| Run here: the stations run in your checkout, on your Claude plan | Yes | No | No |
| Run in CodeBook: CodeBook's agents run the stations | Yes | Yes | Yes |
The Factory pane and /factory |
Yes | No | No |
| Asks you when a story reaches your station | Yes, by itself | When you ask how the story is going | When you ask how the story is going |
| The factory board and a story drawn as cards in the chat | No (the pane shows them) | Yes | Yes |
Run here needs a computer with your code on it, so it is Claude Code only. In Claude chat and in ChatGPT, every agent station runs in CodeBook, and so does every benchmark replay.
From a request to finished work
Say what you want: "Let customers export invoices as CSV", or "Tidy up the stale branches in the payments repository". In Claude Code you can also type it with /factory run.
In Claude chat and ChatGPT, and with Run in CodeBook, the chat starts the story you describe, or proposes several for you to confirm. From there, CodeBook's own manager and agents take it on, exactly as they do for a story started on the website.
With Run here, Claude becomes the factory's manager in your Claude Code session. It follows these steps, in this order, as fixed rules:
- Research, read only. The manager reads the factory's repositories, branches, pull requests and board to see what the request touches. Nothing is changed.
- Questions. It tells you what it found and asks what the stories need, one question at a time: the scope, what "done" looks like, and what must not change.
- The stories. The factory's story-writing agent, for example its business analyst, writes them. Each story has acceptance criteria and a risk. Stories that are already on the factory are left out, and the manager tells you which ones.
- "Proceed?" You see each story and a link that opens the proposal on app.codebook.work. You also see who merges the pull requests at Done, in CodeBook's own words. Nothing is created until you say yes.
- The stations. Every story moves station by station, and the chat tells you who is working, what moved and when a pull request opens.
The rule underneath is CodeBook's own: no story, no work. A request for housekeeping goes through the same steps. The manager offers you a story to approve, not a command to run.
Run here, or run in CodeBook
Run here is the default in Claude Code. For each agent station, Claude starts a sub-agent that becomes that station's agent and uses that agent's own skill from CodeBook. The sub-agent claims the run, works in your checkout, runs the tests and opens a draft pull request with your own git and gh. It writes its notes and artifacts on the card. A QA station runs the repository's tests on your computer. A crew station is led by the session, and each crew member gets its own sub-agent.
- It runs on your Claude plan. The card records each run as "own plan, not billed": CodeBook does not bill it.
- It is quicker. Stations that write code use your session's model. Every other station (the story writer, QA, review, planning) runs on Sonnet, because those stations read, test and write text. Name a model for a station if you want a different one.
- Stories run side by side. When several stories each have a station waiting, up to three workers start together, each code worker in its own git worktree. One story's stations still go one after another.
- Only the factory's repositories change. While a run is held, the plugin refuses a
git pushorgh pr createto any repository the run's brief does not list. Open Claude Code in the repository the factory works on. - Claude never merges. It never pushes to a default branch and never force-pushes.
- A factory can say no. If a factory's policy keeps work inside CodeBook, it refuses Run here, and Claude offers to run the story in CodeBook instead.
Run in CodeBook works like starting a story on the website: CodeBook's own agents run the stations on its servers. You still follow the story and decide your stations from the chat. In Claude Code, switch with /factory here and /factory cloud, or with the two buttons in the Factory pane.
Your stations, in the chat
When a story reaches a person's station that is yours, the chat shows what was done, QA's verdict and the pull request. Then it tells you what approving will do and asks: approve, or send back and why? Your answer does exactly what the buttons on app.codebook.work do.
- Approving can merge. A factory may merge a story's pull request when its station is approved, even if the pull request is a draft. CodeBook gives the chat one sentence that says what approving will do, and in Claude Code the manager always shows you that sentence before it asks. In any chat, you can ask "what happens if I approve?".
- Reviews and questions wait for you the same way. That covers a pass/fail review, a question from the manager, or an agent that asked for a person in the middle of a run.
- In Claude Code you don't have to watch. When a followed story reaches you, the plugin wakes the session, and Claude asks you there and then. In Claude chat and ChatGPT, ask how the story is going. The story card shows the station that waits for you.
- At Done, the manager sums up each story: its pull requests, its runs, its test reports and its link. If nobody at CodeBook will merge a pull request, it tells you plainly that the merge is yours to do on GitHub.
Switch factories
Name the factory in your request ("in the Payments factory, …") and the chat uses that one. Ask "which factories can I see?" to get the list. In Claude Code, /factory list shows them, ← Other factories in the pane picks another one, and /factory follow follows a story that is already on any board you can read.
Add agents from the marketplace
If a factory has no agent to write its stories and you may change the factory, the manager offers to add one. It looks in this order:
- an agent your workspace already has;
- one from the marketplace, your organization's own section first;
- a new agent whose skill it writes with you. It can be published to your organization's section only, never to the public marketplace.
The manager asks you before each change: installing an agent, creating one, publishing one, and putting an agent on a station. The first change can open a Bookbag sign-in that asks for one more permission, "Change your factories' agents and stations". You can also ask for these steps directly, for example "find a QA agent in the marketplace for this factory". A person who may only read the factory is refused, as on the website.
Scorers and benchmarks, when they help
If you want to measure the factory's work, ask for it. In Claude Code, the manager may also suggest it when it would help, with the reason. For example: "QA has 20 finished runs: shall I check whether Sonnet does as well as Opus?". These steps are never required for a story. Nothing here runs by itself, and the manager asks before every change.
-
Scorers. Scorers judge how good the factory's finished work is: "are the tests any good?", "is this over-engineered?". List the factory's scorers, and add one from CodeBook's ready-made questions or write your own. A new scorer only judges runs that finish after it is made.
-
Benchmarks. A benchmark replays a station's past work on other models, so you can see which model is good enough for the least. To create one, pick the factory's finished runs and freeze them; 10 to 20 runs is plenty for a first look. Then run it in either of two ways, or both:
- In CodeBook, on the models your organization runs. The replays run on the factory's budget.
- Here, in Claude Code, on Haiku, Sonnet or Opus. A sub-agent of each model answers the frozen tasks on your own Claude plan. These answers are text only: no repository, no tests and no pull request.
Either way, CodeBook's judge grades every answer in the same way, with the factory's scorers. Then ask for the report: quality, coverage, pass rate, cost and speed for each model.
-
Answered here costs "own plan". In the report, a run answered here shows its cost as own plan, not a price, and it is kept off the cost-and-quality chart. Its result tells you which Claude model to use for that station when you Run here. It can't be proposed as the model CodeBook runs for a station. To change that model, replay the model in CodeBook and propose the change; a second person approves it on app.codebook.work.
Adding a scorer and creating or running a benchmark change the factory, so they need the same permission as adding agents. A factory whose policy keeps work inside CodeBook refuses benchmark runs answered here, as it refuses Run here.
What is recorded
Every comment, run, artifact and pull request lands on the story's card in CodeBook. Comments are signed with the agent's name and where they came from ("Agent (role) via your Claude Code"). A move made from the chat names you and the app you used. Your code stays in your checkout, except what you push. The plugin has no servers of its own and no analytics: see Privacy.