Skip to content
Skip to main contentAgent-Native Hackathon winners revealed live Nov 13.RSVP
CONTACT SALESSTART BUILDING

Publish your Project

Apps built with the Default template can be published directly from the editor, without connecting a separate deployment provider.

Hosting is in the process of being rolled out to all plans. If the option to publish your Project doesn't appear, you may not have access to it yet.

Hosting

To publish your Project:

  1. Click the Publish button in the top-right corner.
  2. Choose your subdomain. This can't be changed.
  3. Click Publish now.
  4. Wait as Builder publishes your Project.
  5. Click View Live App to preview your deployed application.

After you publish, you can keep working with the agent. Any further changes won't go live until you publish again.

When Publish is unavailable

You can only publish once the agent has finished responding. This isn't available while the agent is actively working, to avoid publishing a partial or inconsistent build.

Publish is also unavailable when:

  • A publish is already in progress.
  • You haven't chosen a subdomain yet.
  • You're on a Free plan and have no publishes left this month.
  • You're on a Free plan and have reached the published-app limit.
  • You have no credits left.
  • A Space admin has turned off hosting for the Space. A Space admin can turn it back on in Settings > Allow Hosting.

If a publish fails

If a build, install, or database migration step fails because of your app, Builder asks the agent to fix it in your Project's chat at no credit cost. Review the fix, then publish again. Other failures show Report Error.

AI usage when you publish

For new apps built with the Default template that use AI, the first publish asks how the published app's AI usage is paid for. Publish stays unavailable until you choose. The options are:

  • Use Your Own Anthropic or OpenAI Key: you pay your provider. An Advanced section has a Base URL field.
  • Users Bring Their Own AI Key: visitors connect their own key.
  • Use Builder AI credits: draws from the Space's AI credits. Free plans get 15 free per day.

You can change this later in Hosting settings > AI usage. The change takes effect after you publish again. Switching away from your own key removes the provider keys from the published app. A Site AI token row has a Revoke action. Revoking it stops AI features on the published site immediately.

Environment variables

In Hosting settings, you can add environment variables for building and for the published site:

  • Build environment variables are available while building and publishing the site.
  • Production environment variables are available to the published site at runtime.

Click Add Variable to add one, and select Secret to mark it as secret. To add several variables at once, paste an entire .env file into the Key field. Production values can be up to 5000 characters.

Builder generates a BETTER_AUTH_SECRET for each Project and adds it to published apps. If you set your own, yours is used.

Databases

Projects with a built-in database get a production database on main, and each branch gets its own copy. The Project needs a drizzle.config.ts or drizzle.config.js file at the repo root.

Only main can be published. Publishing runs database migrations first. The progress step is Migrating. If a migration fails, the publish stops and the previous version keeps running. Migrations can't be rolled back automatically.

Domains

The first time you publish, you'll set a permanent Builder-hosted subdomain for your app. This address can't be changed afterward.

You can add a custom domain, but only after your first publish. Custom domains are only available for paid accounts.

Site access control

Team plans

Enterprise plans

Team and Enterprise plan users can restrict access to the published site by requiring a password or requiring that the visiting user is logged in as a user of the same Builder Space.

Enterprise plan members in particular can limit access by IP address.

  • To combine restrictions, choose All rules or Any rule under Visitors must satisfy.
  • On Enterprise plans, choose Specific users instead of Any member of the space under Who can access.
  • Space admins can set a default policy for every hosted site in the Space by going to Account > Site Access Control. Project rules are added to it, and a Project password replaces the Space password.
  • Visitors to a Builder space member's site sign in with their Builder account, and the session lasts 12 hours. A signed-in visitor who isn't a member sees an "Access restricted" page with Request Access and Switch account options.
  • Changes can take up to about 30 seconds to apply. Only Space admins can edit these settings. Custom domains use the same rules.

External repositories

A Project can't be hosted by Builder and connected to an external Git repository at the same time. You can still connect an external Git repo after you publish, but doing so permanently turns off hosting for that Project. If you connect an external repo instead, you lose the ability to publish from the editor.

Apps built with a template other than Default can still connect to an external Git repo, but can't publish this way.

Credits and limits

Publishing draws from your Builder credits, though the amount used for hosting and database activity on its own is minimal.

On Free plans, you're limited to one published app and 15 publishes per month. If a free plan's credit balance reaches zero, the published app goes offline until credits are available again.

What's next

What's next link for "Projects from Repositories" doc.
Projects from Repositories
What's next link for "Builder Code Mode Overview" doc.
Builder Code Mode Overview
What's next link for "Import from Figma" doc.
Import from Figma
Was this article helpful?