Skip to main content
Two commands and you’re building. Claude Code talks to the Gaia connector over MCP, so describing a change is enough — Claude picks the right tool, relays the harness’s questions back to you, and pastes the resulting URL into your session.

Add the connector

1

Register the server

Add --scope user to make it available in every project instead of just this one.
2

Sign in

Pick gainable, choose Authenticate, and finish in the browser. Your token is stored in your OS keyring.
The consent screen has a checkbox — “Also let it write code in your apps.” Leave it off unless you want author mode; you can turn it on later from Account → Connections without reconnecting.
3

Check it's wired up

Your apps listed back means everything is connected.

Build something

Drop a spreadsheet in an empty folder and ask:
Claude imports the workbook, walks the contract conversation with you, then runs the build pipeline. That last stage takes 90–180 seconds and streams back as a live checklist.
No spreadsheet handy? Download the event planning sample and use that.
Then keep talking:
Each refinement is a single turn: the harness’s planner decides, the Build Agent edits, validators check, and the summary streams back.

Why the terminal is the best seat

Claude Code has a working directory, and the connector uses it.

Folders remember their app

When a tool returns a project anchor, Claude writes .gaia/project.json. Tomorrow’s session in that folder picks up the same app instead of whatever was last active on your account.

Your context travels with you

A CLAUDE.md in the folder tells the harness what you call things, your currency and date format, who uses the app. project_setup writes a starter if you don’t have one.

Apps get recorded

After a build, Claude writes <appName>.md with the launcher URL, the public URL, and one line on what it does — so the app isn’t just a link that scrolls away.

Big files never touch context

Claude asks for an upload URL and curls the spreadsheet straight there. A 5 MB workbook costs zero tokens.

Multiple accounts

If you connect more than one Gainable account — a personal one and a work one, say — give them distinct names:
Claude will ask which one to use before creating anything, because that choice decides where the app lands.

Manage the connection

To sign out without removing the server, revoke the connection at Account → Connections and re-authenticate with /mcp.

Troubleshooting

Run claude mcp list to see the error. The most common cause is an expired or revoked token — re-authenticate from /mcp. Check Account → Connections to confirm the connection still exists.
It probably didn’t. build action:"run" takes 90–180 seconds and may hand the wait back with outcome:"running" before it finishes. The right move is status, which Claude should call on its own. Never ask it to run the build again — the first one is still going server-side, and a second start creates duplicate work someone has to clear by hand.
The active app is remembered per account, not per conversation, so a session in another folder can leave a different one selected. Ask Claude to select the app by name, or keep a .gaia/project.json in the folder — that file is authoritative and survives between sessions.
Tell it to relay the connector’s questions verbatim. Layout, scope, and which field identifies a row are your calls; answering them for you produces an app you didn’t ask for.

Next steps

Tool reference

Every tool the connector exposes.

Claude and Cowork

The same connector, away from the terminal.