Check the running app before you read the diff
Every Hoplite cloud thread can run your app in its own cloud sandbox. Open the preview beside the conversation, click through the change the agent made, and share the link with your team, all before you review a line of code.
What is a preview environment for a coding agent?
A preview environment is a running copy of your application with a proposed change applied, so you can use the change instead of imagining it from a diff. For a coding agent, the preview has to run wherever the agent did the work.
In Hoplite, that is the thread's sandbox. Hoplite starts your project's run command there, waits for the port to listen and shows the app in the thread's Preview panel. The link stays tied to the thread and port, even when the sandbox behind it changes.
One run command, every thread
Commit a run command and a preview port in .hoplite/settings.json, or set them under Settings → Project → Environment. Without one, Hoplite infers a command for supported frameworks and writes it to the file for you to commit. Next.js, Vite, Rails and Django host checks pass without configuration.
Your API and services, side by side
Hoplite detects other HTTP listeners the run starts and lists them in the Preview panel next to the app, so an API or Storybook is one click away. Name the ones you rely on under ports.additional. Databases and other non-HTTP listeners appear as services.
A checklist of what to look at
The agent can attach review steps to the Preview panel: the paths to open and the controls to try. Go to each one and mark it done. Later changes can reset a step to unreviewed, and the agent cannot approve its own work on your behalf.
A link your team can open
Share the preview's usehoplite.com link. Visitors sign in to Hoplite and must belong to the workspace. Opening a link can start or restore the workspace, with a startup page until the app is ready. Provider tokens and Hoplite session cookies never reach your app.
Screenshots in a PR vs. a Hoplite preview
| Question | Screenshots in a PR | Hoplite preview |
|---|---|---|
| What you check | The screens the author chose to capture | The running app, any page and any control |
| Trying it yourself | Check out the branch and run it locally | Open Preview in the thread |
| APIs and services | Usually not shown | Other HTTP ports listed beside the app |
| What to look at | Whatever the description mentions | A checklist of paths and controls to try |
| Sharing | Images in the pull request | A link for signed-in workspace members |
| After another change | New screenshots, if someone takes them | The same link, and checklist steps can reset to unreviewed |
Previews, answered
- What do I need to set up?
- A run command and a preview port, in .hoplite/settings.json or under Settings → Project → Environment. If neither is set, Hoplite infers a command for supported frameworks, including a single app inside a pnpm, Turborepo or Nx workspace, and writes it to .hoplite/settings.json so you can commit it.
- Who can open a preview link?
- Anyone who signs in to Hoplite and belongs to the preview's workspace. Only app-preview links are durable; terminal and internal browser-control links are short-lived.
- What if the sandbox has gone to sleep?
- Opening the link can start or restore the workspace. A startup page stays visible until the app is ready.
- Will my framework's host checks block the preview?
- Usually not. By default the preview proxy presents each request as a local one, which keeps the host and origin checks in Next.js, Vite, webpack-dev-server, Rails and Django passing. If your app needs its public URL, switch the proxy to forwarded headers.
- What happens when the app crashes?
- The preview shows as crashed with the exit reason, including out-of-memory kills, and a redacted tail of the run log. Hoplite can attempt a bounded recovery; repeated failure leaves the preview stopped with diagnostic output.
- Can I embed previews in my own product?
- Yes. Through the API, your backend starts the preview, gets the preview URL and a five-minute gateway credential, and relays HTTP and WebSocket requests through your own authenticated gateway.
See the change before you review it
Connect a GitHub repository, add a run command and ask the agent to start the preview. Start on Free.