Iterating
A live app is not finished, it is just live. Ask for a change in the same thread and the agent edits what is running.
Ask in the thread
Once an app is live, keep talking to it:
make the tip 12% instead of 10%
The agent recognises this as a change to the app you just built, loads that project's source, and works on the real files:
you make the tip 12% instead of 10%
- const tip = 0.10
+ const tip = 0.12
▸ 1 file changed · rebuilt · same URL
Surgical, not regenerated
An edit is an edit. The agent reads the file, replaces the exact text that has to change, and leaves everything else byte-for-byte alone. It does not regenerate the project from your original sentence and hope the rest comes out the same — a change to the tip rate must not quietly restyle your header.
It uses the same file tools it built with: read the tree, read a file, replace an exact unique string. If the text it means to replace is not unique, it fails loudly rather than editing the wrong line.
The same URL
A rebuilt app is deployed over the same slug, so the address you already shared keeps working and now serves the new version. Links you sent to other people do not rot.
A new source zip is produced with each build, so you always have the current project, and the previous job's zip stays where it was.
When it asks which one you meant
Iteration is detected, not assumed, and there are three things it looks for: a change verb ("change", "add", "remove", "make it…"), an explicit reference back to something built before ("the site I built", "like the one from yesterday"), and — only ever as a confirmation, never on its own — a new attribute stated right after a build ("call it Split Evenly", "the colour is teal").
An explicit new-build request is never treated as an edit. "Build me a landing page for a coffee shop" starts a new build, even in a thread full of previous apps.
If a message genuinely could mean either, Horai stops and asks which build you meant rather than guessing and editing the wrong app.
Rebuild
A job's receipt has Rebuild, which runs the same brief again as a new job. This is for a build that failed or came out wrong, not for a change of mind — the brief is unchanged, so it goes through every check a first build passes, including the funding one. Whether a rebuild is free depends on the same rules as any other build.
Build time
The build inside the sandbox is stopped if it exceeds 200 seconds, and you get a stated failure rather than a thread that hangs. A typical small app builds in a few seconds; the ceiling exists for the pathological case.
Next
Memory explains what carries between threads and how to delete it.