TL;DR
Host it somewhere Claude Code can keep operating after the first deploy. For software your team will open every day, floo is built for that: the app's shape lives in floo.app.toml in git, every CLI command returns JSON, errors name the next step, and sign-in, Postgres, scheduled jobs, and agent keys are part of the same app.
- The first deploy is the easy part. The work is the next fifty changes, the bug at 9am, and the teammate who needs access.
- An agent needs a host it can read. Structured output, errors with a suggested fix, status without streaming logs, and docs it can fetch by topic.
- Internal apps need more than a URL. Sign-in for the team, data that persists, background jobs, and a key for the agent itself.
- Pick something else if the app is a static site, if you want a vendor's agent to build it in a browser editor, or if it must reach a private network today.
Claude Code is very good at writing the app. Where it often stalls is the step after: a host it has to click through, a database in a second dashboard, an auth provider in a third, and errors that say "build failed" and nothing else. Every one of those is a place where you get pulled back in.
What should you look for in a host?
Judge a host by what your agent can do without you.
- Config in the repo. If services, databases, jobs, and access rules live in a file, the agent can read and change them in a normal diff you review. If they live in a dashboard, the agent is guessing.
- Machine-readable output. The agent should get JSON back from every command, not a progress bar.
- Errors that name the fix. "Port 3000 is not listening; your server binds to 8080" is something an agent can act on. "Deploy failed" is not.
- Safe ways to watch a deploy. Streaming build logs into a transcript can leak secret-shaped values. A status call that returns the phase and the next command is better.
- The rest of the app. Most internal software needs sign-in, Postgres, a scheduled job, and file storage. Each extra vendor is another API for the agent to learn and another bill for you.
How does that work on floo?
Paste one line into Claude Code in your project:
Read https://getfloo.com/docs/introduction.md and deploy this app to floo.
It installs the CLI and asks you to approve sign-in on your device. It writes floo.app.toml and runs floo preflight to validate it, then asks you to install the floo GitHub App on the repository and connects it. From then on, every push deploys to a dev URL.
The parts that make the second week easier:
- Everything returns JSON. Success is
{"success": true, "data": ...}. An error carries acode, amessage, and asuggestionwith the next step. - A map of itself.
floo commands --jsonlists what the installed CLI can do, andfloo docs <topic> --jsonpoints the agent at the guide it needs. Neither needs sign-in. - Status, not log streams.
floo deploys status --jsonreturns the deploy, commit, phase, URL, and next command without build logs. - One file for the app's shape. Services, Postgres, Redis, storage, cron jobs, routes, and who can open the app are all in
floo.app.toml. - Operations from the same CLI. Logs, rollbacks, previews, and cron runs are commands the agent can use when something breaks.
What does an internal app look like in config?
A stock tool that the team signs in to, with a database and a nightly check:
[app]
name = "stock-room"
access_mode = "accounts"
[services.web]
type = "web"
path = "."
port = 3000
ingress = "public"
[managed.default]
type = "postgres"
[cron.low-stock]
schedule = "0 7 * * *"
command = "node scripts/low-stock.js"
service = "web"
access_mode = "accounts" puts invite-only sign-in in front of the app, and your code reads the user from a request header. DATABASE_URL is injected for Postgres. The cron job runs in the app's own container on schedule, in dev and prod separately. More on sign-in without auth code.
When the agent itself needs to call the app, give it a scoped key on the routes it should touch. How to give your agent its own key.
Do I need a production environment?
Not always. Every floo app has dev and prod, and dev runs on the same runtime. A tool a few teammates use can live in dev alone, where every push goes live. When more people depend on it, publish a GitHub release to send a build you checked in dev to prod. floo pings web services every five minutes, so neither environment is cold when someone opens it.
When is floo the wrong choice?
- A static site or a frontend-only app. A frontend host is simpler and cheaper.
- You want the builder in the browser. Lovable and Replit build the app with their own agent in their editor. floo assumes you bring yours.
- The app must reach a private network today. floo apps reach public HTTPS APIs. Private network connections are planned, not available yet.
- You need a free tier. floo has no free plan. Pay as you go has no monthly commitment, and you pay for usage.
If the app is software your team will rely on, and you want Claude Code to keep changing it, start with the quickstart.
Sources
- floo: quickstart, agent setup, environments, scaling and keep-warm, networking, cron jobs, Postgres, plans and limits
Frequently asked questions
Can Claude Code deploy an app to floo by itself?
Yes, after two steps that need you: approving the floo sign-in on your device and installing the floo GitHub App on the repository. Paste "Read https://getfloo.com/docs/introduction.md and deploy this app to floo." into Claude Code and it runs the rest through the floo CLI.
Does this work with Codex, Cursor, or other agents?
Yes. floo is driven through a CLI where every command supports --json and an HTTP API with an OpenAPI spec, so any agent that can run shell commands or make HTTP calls can use it.
What does an internal app need besides hosting?
Usually sign-in limited to the team, a database, a scheduled job or two, and a way for your agent to call the app. On floo these are lines in floo.app.toml rather than separate vendors.
How do changes reach production?
Every push to the connected branch deploys to the app's dev URL. A GitHub release publishes a commit that is already live in dev to production. A small tool used by a few people can live in dev alone.
Is there a free plan?
No. Pay as you go has no monthly commitment; you buy credits and usage draws them down. Sign-in for people and agents is included.