---
title: FAQ and troubleshooting
description: Short answers to the questions every new Outer user asks — and what to do when a deploy fails.
---

## Building

**What can I build?**

Anything the template expresses, backed by D1, KV, Durable Objects, R2, queues, cron, and realtime.

**How long does a change take?**

Seconds to about a minute: build, gate, then live. The tool call waits and reports back, so your agent never polls.

**My app is slow on the first request.**

The fleet sleeps after idle and wakes on the next request. That first request pays the cold start. It adopts the newest deploy when it wakes. Pro keeps warm in [Keep your app warm](/deploy/keep-warm).

**The page shows a building screen or an error.**

Those come from the proxy, not your code. A building screen means the app has no successful deploy yet. An error with a retry note means the fleet could not start. Ask your agent for the deploy status.

## Sign-in and accounts

**Which clients sign in?**

Claude, Codex, ChatGPT, Gemini, and Perplexity. Anything else uses the emailed-code fallback.

**Why did Codex sign me out mid-session with a 401?**

The grant was revoked or expired. Sign in again in Codex and retry the call.

**Do I need an invite code?**

During the closed beta, allowlisted emails get in directly. Everyone else pastes an `OUTER-XXXX-XXXX` code at sign-in or lands on the waitlist. One code admits one account.

**How do I revoke a client or a key?**

Console → Connections and keys. Manage keys in [Account settings](/account/settings).

## Plans and limits

**Free vs Pro?**

1 app and 50 code changes a day versus 10 apps and 500. Full comparison: [Plans](/account/plans). Billing is live. Upgrade in [Manage billing](/account/billing).

**Why does my app show an outer.now badge?**

Free apps carry a small outer.now badge in the bottom-right corner of its pages. [Upgrade to Pro](/account/billing) to remove it.

**What happens at 100% of a quota?**

Change, app, and collaborator quotas refuse with `quota_exceeded` plus a `user_message` your agent relays word for word. Full table: [limits and quotas](/deploy/limits).

## Deploys

**The deploy failed. What now?**

Paste the log tail back to your agent and ask for the fix. Build errors name the file and line.

**The deploy is blocked. What now?**

Blocked means the pre-live review flagged page text. Fix those lines and ask for another deploy. A blocked deploy keeps the old version serving. Mild wording passes; only flagged lines need fixes.

**How do I undo?**

Roll back to any earlier successful SHA. [Roll back a deploy](/deploy/rollback) never counts as a change and never faces moderation.

**Where are the logs?**

Running app: Console → Logs. Build: expand the deploy in Console → Deploys. Crashes group in Console → Errors.

**How do I check the fix is live?**

Open the live link your agent returns and reload. If you still see the old version, ask your agent for the deploy status before changing code again.

**Can I push with git?**

No. There is no git push. Your agent changes code with `commit`, and you download code with [Export your code](/collaboration/export).

**Can my app send email?**

Only through an HTTP email API like Resend with your own key — never SMTP (ports blocked), and never a native sender.

**Can I use my own domain?**

Yes, one hostname per app on Pro. [Use a custom domain](/deploy/custom-domains).

**Can I export my code?**

Yes, on Pro as owner. The whole tree as a zip at any SHA. [Export your code](/collaboration/export).

## Getting help

Ask your agent first. It reads these docs. If a tool refuses something, its `user_message` is the answer: have the agent relay it word for word instead of working around it.

Agent reference: [Follow the deploy pipeline](/agents/deploy/pipeline).
