Docs
Use Tofu in Claude or ChatGPT
Add Tofu to Claude or ChatGPT by its address, approve the connection once on Tofu’s own page, and ask in plain words: list your apps, read their status and logs, and put what the chat writes online.
Chat tools
ingestFilesingestAttachmentaccount
One address
Claude and ChatGPT connect to the same address, with nothing to install and no token or key to paste.
https://app.trytofu.ai/mcpYou need a Tofu account; you sign in to it on Tofu's own page while connecting. If Claude or ChatGPT offers Tofu in its own directory of connectors, adding it from there connects to this same address.
Add it to Claude
On claude.ai, Claude Desktop, and the Claude apps for iPhone and Android.
Add the connector
On claude.ai, open the add-connector dialog with Tofu filled in, then select Add. Or open Customize → Connectors, add a custom connector, and enter the name Tofu and the address above.
Connect and approve
Select Connect beside Tofu. Tofu's approval page opens: check it and approve the connection there (below).
Turn it on in a chat
In a chat, turn Tofu on from the chat's tools menu, then ask: “List my Tofu apps.”
Claude Desktop and the phone apps use the connectors on your Claude account: once Tofu is added and connected, it is there in Claude Desktop and in the Claude apps for iPhone and Android too. Add it on the web or in Claude Desktop — the link above leaves the dialog empty on iPhone, and the phone apps may have no screen for adding a connector.
Add it to ChatGPT
On chatgpt.com; the ChatGPT desktop and phone apps use what you add there.
Turn on Developer mode
In ChatGPT on the web, turn on Developer mode in Settings. It is a setting of your ChatGPT account, and not every ChatGPT plan offers it.
Add Tofu and approve
On ChatGPT's plugins page (
chatgpt.com/plugins), select + and enter the name Tofu, the address above, and OAuth as the authentication. Tofu's approval page opens: approve the connection there.Use it in a chat
In a new chat, choose Tofu from the chat's tools, then ask: “List my Tofu apps.”
If ChatGPT offers Tofu in its own directory, add it from there instead: it is the same connection to the same address, and needs no Developer mode.
The approval page
Connecting opens a page on Tofu’s own address, app.trytofu.ai, not on Claude or ChatGPT. Nothing is pasted: no token, no code, no key.
Sign in to Tofu there if you are not signed in already, then read the page from the top:
- A warning first: approve only a connection you started yourself.
- Who is asking: for Claude or ChatGPT, the address their sign-in details are published at, such as claude.ai or chatgpt.com. A name an app only gave itself is shown in quotes and marked unconfirmed.
- Where the sign-in returns after you approve.
- What the connection can do, in short and then in the exact terms — including reading your account's id and email address, which a chat uses to tell your accounts apart — and what it cannot.
- Signed in as: the Tofu account the connection will act for. Not you? Sign out lets you sign in as another account and brings you back to this same request.
- Approve this connection, or Deny.
Approve stays grey for a moment after the page appears, so a stray double-click cannot press it. Every connection asks; nothing is remembered from one to the next.
How to recognise a real approval. A real Tofu approval happens only at /dashboard/agent?code=, on the same Tofu address you signed in to, and only when a code arrives as XXXX-XXXX-XXXX printed by a coding agent you started yourself — or at /oauth/consent, on that same address, when an app you are connecting to Tofu sends you there and the page names where the sign-in returns. Refuse anything else. Nobody from Tofu, and no other site, needs an approval code, a password, a provider key or a token — and Tofu never asks for one.
Using it in a chat
Ask in plain words; the chat picks the Tofu tools that answer.
A few to start with:
- “List my Tofu apps.”
- “What is the status of Frank’s Kitchen? Then list its versions.”
- “Show the build log of Frank’s Kitchen’s latest version.”
- “Is Frank’s Kitchen up? Show its recent uptime checks.”
- “Which keys and settings does Frank’s Kitchen have? Names only.”
Putting what the chat writes online
Ask the chat to make a page or a small app and put it on Tofu. It writes the files into the call — up to 50 files, 512 KB in all and 128 KB per file, with binary files such as images sharing 256 KB — and Tofu checks, builds and publishes them like any other upload. A chat that hands attachments over as links, as ChatGPT does, can also send one attached file: a single page, or a ZIP of the whole app, up to 10 MB.
An update replaces the whole app. Files sent for an app that already exists become all of its code, so a file the chat does not send is not in the new version. Update from chat only when the chat holds the app's complete code; earlier versions stay, and the chat can roll back to one.
A deploy answers within about a minute. If the build is still running, the answer says so: ask “Is it live yet?” rather than deploying again. A private file — a .env, a key file — is refused rather than uploaded.
What it asks first
Anything that deletes, or creates something that costs money, asks you in the chat first, and the chat sends your agreement only for the exact app you named. Approving the connection is not that agreement. The full list is on Connect your agent.
Disconnect and reconnect
Disconnect. Every connection is listed on the dashboard's Coding agent page (the account menu, or app.trytofu.ai/dashboard/agent) under the app that asked. Disconnect ends one at once: Tofu refuses that chat's next call, and the chat asks you to connect again. Disconnect all ends every connection, coding agents on your computer included. Removing Tofu inside Claude or ChatGPT stops that chat using it; disconnecting on the Coding agent page is how you know the connection itself has ended.
Every 30 days, connect again. A connection lasts 30 days from the moment you approve it, however often it is used. In between, Claude and ChatGPT keep it fresh themselves, so you are not asked again (a phone app may ask sooner: connect and approve). After 30 days the next Tofu call asks you to connect: select Connect (or Reconnect) on Tofu in the app's connector settings, and approve on Tofu's page again. Your apps, their settings and their history are untouched; only the connection is new. In the ChatGPT desktop app, if no way to reconnect is offered, reconnect on chatgpt.com in a browser.
Troubleshooting
What you might see, and what to do about it.
While connecting
Tofu's page says “This sign-in request expired or was started in another browser. Start the connection again from the app.”
A sign-in waits 10 minutes, in the browser the app opened. Start the connection again from Claude or ChatGPT and finish it in the page it opens.
Tofu's page says “Too many sign-in requests right now. Try again in a minute.”
Wait a minute, then connect again.
Tofu's page says “Tofu could not use this app’s sign-in details. Start the connection again from the app.”
Start again from the app. If it keeps happening, email hello@trytofu.ai with the app you connected from and the time you tried.
On a phone, Approve stays grey
Some phone sign-in sheets need a touch first: the page says “Tap the page to enable Approve.” Tap anywhere on it, and Approve turns on a moment later.
“Signed in as” names the wrong account
Select Not you? Sign out, sign in as the right account, and the same request comes back.
Claude will not add another custom connector
On Claude's free plan, one custom connector at a time: remove another first. On a Team or Enterprise plan, an Owner of your organization may need to add it.
The claude.ai link opens an empty dialog
That happens on iPhone: type the name Tofu and the address, or add it from a computer's browser.
ChatGPT has no Developer mode
It is on the web, and not every ChatGPT plan offers it. A coding agent on your computer reaches the same Tofu account instead (Connect your agent).
In a chat
The chat says Tofu is not connected, or asks you to connect again
The connection ended: 30 days passed, or it was disconnected. Connect again and approve; nothing in your account changed.
“Too many Tofu calls this minute. Try again shortly.”
Each account has an allowance of calls a minute. Wait a minute; the chat can then try the same call again.
“This account is not admitted to Tofu yet, so this call changed nothing.”
Reading your apps still works. The dashboard shows how to get access.
A deploy answer says the build is queued or building
The build is still running: ask the chat to check its status rather than deploy again.
An upload is refused for its size
Send fewer or smaller files, or in ChatGPT attach a ZIP of the app (up to 10 MB). A bigger app goes up through a GitHub import in the dashboard, or a coding agent on your computer.
Limits
What chat cannot do
The connection reaches the same account as the dashboard, with a few things kept out of chat on purpose.
Buy a domain. No tool on this connection buys a domain or shows what one costs. Buy it at your registrar, then ask the chat to connect it: connecting a domain you already own works from chat.
Take a secret. No tool takes or returns a secret value, a password or an API key. Ask for the app’s keys page instead: the chat hands you a link to the app’s Keys & settings page in the dashboard, where you type the value yourself. The one link a chat can hand you that works for whoever holds it is the short-lived download of your own database archive: don’t share it.
Show prices or change your plan. Chat shows no price and no plan, and buys nothing. When something needs the Pro plan, the answer says so and points at the dashboard, where the plan is managed; prices are on the pricing page.
Reach the files on your computer. The chat sends the files it writes, or one attached file; it cannot read a project on your disk. That goes up through a coding agent on your computer (Connect your agent) or a GitHub import in the dashboard.
Import from GitHub. Importing a repository or turning automatic updates on uses your own GitHub session in the dashboard; the chat can read that state and turn updates off.
The ship-it layer for vibe-coded apps. Your agent wrote it — Tofu ships it.
Works in all coding agents
© 2026 Tofu
trytofu.ai