> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pre.dev/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Agents: start with https://docs.pre.dev/agents.md, which has complete recipes, plan access, polling rules, errors and limits.
> Authenticate with the workspace API key (pdk_…) from Integrations → Built-in, sent as Authorization: Bearer <key>.
> REST API: https://api.pre.dev (OpenAPI: https://docs.pre.dev/api-reference/openapi.json). AI Gateway: https://api.pre.dev/v1, OpenAI-compatible (OpenAPI: https://docs.pre.dev/api-reference/ai-gateway.openapi.json).
> pre.dev MCP server: https://api.pre.dev/mcp. Search these docs over MCP at https://docs.pre.dev/mcp.

# Changelog

> What's new in the pre.dev API and SDKs.

User-facing changes to the pre.dev API, SDKs, and dashboard. Subscribe via
the [GitHub releases page](https://github.com/predotdev/predev-api/releases)
to get notified on every SDK bump.

## 2026-10-06

### Browser Agents Local: your coding agent in your own Chrome

* **[Browser Agents Local](/browser-agents/local)** is a free, open-source MCP server ([predotdev/chrome-mcp](https://github.com/predotdev/chrome-mcp), MIT) that lets any local coding agent drive the Google Chrome you already have open: every profile, your logins, and your open tabs. It works with Claude Code, Codex, Cursor, Windsurf, VS Code, Gemini CLI, OpenCode, Claude Desktop, and any other MCP client.
* All your agents share one connection, so Chrome asks **Allow remote debugging?** once each time it starts.
* Set it up with one command, `npx -y github:predotdev/chrome-mcp setup`: it signs you in to pre.dev in the browser, adds the server to every coding agent it finds on your Mac, and connects to Chrome. Running it again updates to the latest version. `check` confirms the setup, `login` signs in again, and `uninstall` removes it from every agent. See [Quick start](/browser-agents/local#quick-start).
* **Plain-words actions**: `chrome_act` clicks or types into an element you describe, and `chrome_wait` can wait for a plain-words `condition`. They use your workspace API key and credits, and appear in [`GET /v1/usage`](/ai-gateway/api/usage) as `browser-agents-local`. Every other tool runs on your computer and never calls pre.dev.
* Cloud Browser Agents is unchanged. See [Cloud or Local](/browser-agents/local#cloud-or-local) to choose.

## 2026-10-05

### Project plans through the API and MCP

* **[`GET /get-plan`](/architect-agent/api/get-plan)** returns a project's verified plan by `specId` or `projectId`: what the app is for, each feature's status from pre.dev's checks, progress, Ready to launch with a plain fix for each open item, and where screens, API routes and stored data live in the code. Add `format=markdown` to get the Markdown summary alone.
* **The MCP server has a `get_plan` tool** with the same plan, for a coding agent to read before it works on a project. See [get\_plan](/mcp/tools#get_plan).
* [Spec status](/architect-agent/api/spec-status) and `get_spec` carry the plan as `plan` once a spec is completed.
* Reading a plan uses no credits.

### Progress counts features, and "works" comes from checks

* Progress now counts the features of your plan (for example **3 of 4 built**), and the **App map** shows each feature's status, from **Planned, not built** to **Works, checked … ago**. See [How progress is counted](/coding-agent/building/progress-tracking#how-progress-is-counted).
* A card after each run shows what changed, whether the app runs and builds, and which features its checks confirmed.
* **Build next** picks the next feature from the plan, and work a sprint builds stays **Built, not checked yet** until a check confirms it.

## 2026-09-27

### CLI: sign in with an API key, and run one task with `predev run`

* **Sign in without a browser.** Set `PREDEV_API_KEY` to your workspace API key and the CLI signs in with it when the computer has no saved login, as in CI, coding agents and fresh machines. A saved browser login still wins. See [Sign in without a browser](/cli/overview#sign-in-without-a-browser).
* **`predev run "<prompt>"`** sends one request to the agent in the current directory, prints the result, and exits: `0` finished, `1` failed or stopped, `2` not signed in or the key was rejected. With no prompt argument it reads the prompt from stdin. See [Run one task without the app](/cli/overview#run-one-task-without-the-app).
* **`predev logout`** forgets the saved login on this computer, so the CLI signs in with `PREDEV_API_KEY` when it is set.

### Documentation for agents

*Documentation update. No product change.*

* **[Guide for agents](/agents)** covers the interfaces, the API key, plan access, five complete recipes, polling and error rules, and limits. It comes first in [llms-full.txt](https://docs.pre.dev/llms-full.txt).
* **[llms.txt](https://docs.pre.dev/llms.txt)** is written by hand: agent entry points first, then every page by tab with a unique title.
* **[skill.md](https://docs.pre.dev/skill.md)** is reviewed by hand. Install it with `npx skills add https://docs.pre.dev`.
* **The AI Gateway has an OpenAPI file**, [ai-gateway.openapi.json](https://docs.pre.dev/api-reference/ai-gateway.openapi.json), covering all 25 `/v1` operations with error examples. Every operation has a reference page, and every REST response in [openapi.json](https://docs.pre.dev/api-reference/openapi.json) now has an example.
* The docs search server for agents is at `https://docs.pre.dev/mcp`.

### AI Gateway: a model list without a key, credit-only prices, and workspace-scoped files

* [`GET /v1/models/public`](/ai-gateway/api/public-models) lists every model an app can call, with its lab, type and modalities, and needs no API key. Credit prices stay on `GET /v1/models`.
* The catalog listings carry prices in credits only, in each row's `predev` object. When the catalog cannot be read, they answer `502` with code `catalog_unavailable`.
* [`GET /v1/usage`](/ai-gateway/api/usage) reports requests, credits and tokens only, and `workspace` is an opaque `ws_…` id.
* [`GET /v1/files`](/ai-gateway/api/list-files) lists only files this workspace uploaded, 20 per page by default and at most 50, paged with `after`.
* Video jobs are polled and downloaded by the `id` their submit response returns.
* A request that refers to another workspace's file, response, or video job returns `404` before anything runs.

### MCP tools say what they do and cost

* Tool descriptions and [`/mcp/info`](https://api.pre.dev/mcp/info) say what each tool does, when it helps, and what it costs. `get_spec` and `list_specs` use no credits.
* `get_spec` returns `creditsUsed`: the credits recorded so far for the spec's project.

## 2026-09-26

### Agent Skills and sign-in for MCP servers

* **Skills follow the Agent Skills format.** Paste a `SKILL.md` or upload a skill folder as a `.zip`. The agent sees each skill's name and description and loads the rest only when a task needs it.
* **Remote MCP servers can sign in with OAuth.** Add the server's `https` URL in Integrations and approve access, instead of pasting a token.
* Local command (stdio) MCP servers run only from the CLI; the web workspace uses remote servers.

### A project header that fits any window

* The header no longer overflows at narrow widths. The **Sandbox** chip shows its status, with CPU and memory on hover, and **Publish** is a rocket icon.
* Clicking the Sandbox chip explains where the project runs and how to work on it from a terminal: install the CLI, then `predev open`.

## 2026-09-25

### Plan mode removed on the web

* The web workspace no longer has a Plan toggle or the `/plan` and `/auto` commands. The agent decides when to plan before it builds.

### CLI: publish, usage, undo, and more

* `/publish` and `/unpublish` put the app on its live address or take it down.
* `/usage` lists what the project's credits went on, turn by turn.
* `/undo` and `/redo`, with a checkpoint before every run on your machine.
* `/rename`, `/logout`, `/mcp add` and `/skills add`.
* Up and down arrows recall earlier prompts, each session tab keeps its draft, and suggested next messages appear after a turn.

## 2026-09-23

### AI Gateway: choose a model, not a provider

* Responses carry pre.dev generation ids (`pdg-…`), which [`GET /v1/generation`](/ai-gateway/api/generation) accepts. `usage` no longer includes cost fields: read the charge from `x-predev-credits-charged`, or from `GET /v1/generation` for a streamed call.
* A `provider` object in a request is ignored, and `/v1/providers` and the per-model endpoints lists are gone. Choose a model id from `GET /v1/models`, and send `models` for fallbacks.
* Errors from the model keep their status and message.

### Browser Agents: leaner results

* Task results and events no longer include `totalTokenUsage` or `llmCallsUsed`. Data, credits, status and step counts are unchanged.

## 2026-09-22

### Publish apps to a live address

* **Publish** in the project header builds a production version of the app at its own pre.dev address, or your own domain. Every publish is kept as a version, and you choose who can open it.
* Ask the agent to publish or unpublish; it checks with you first.
* Share leads with two links: **Live**, the published app, and **Draft**, your latest changes.
* Free plans publish for 7 days; Premium and above keep apps live and can add a custom domain. See [Publish](/coding-agent/building/publish).

### WebMCP

* Forms and actions the agent builds are registered as WebMCP tools that run the same handler as the button, so AI agents in the browser can use your app directly.
* Browser Agents call a site's WebMCP tools when it registers them, and work the page as before when it does not.

## 2026-09-17

### Integrations opens on a Built-in tab

* The workspace API key, the model catalog and payments are on **Integrations → Built-in**. Each project's settings has a Test or Live switch for payments.

## 2026-09-16

### AI Gateway: hundreds of models inside every app

* `https://api.pre.dev/v1` serves hundreds of models from every major lab through one OpenAI-compatible API, plus the Messages format: chat, Responses, embeddings, rerank, images, video, speech and music, transcription, and files.
* Every project built on pre.dev gets the workspace key as `PREDEV_API_KEY`, and calls are charged to the workspace's credits. The catalog at `GET /v1/models` lists credit prices per model. See the [AI Gateway](/ai-gateway/overview).

### One API key per workspace

* Each workspace, personal or team, has one fixed key that starts with `pdk_`. It authenticates the REST API, the MCP server, Browser Agents and the AI Gateway. Existing keys keep working.
* Rotating the key keeps the old one valid for 15 minutes.

### Payments built in

* Apps built on pre.dev take payments with no setup: checkout, subscriptions and webhooks work in test mode while you build. To take real payments, connect an account you own and switch a project from test to live. See [payments](/payments/overview).

### Faster code browsing, with editing when you need it

* **Code opens as a viewer.** Browse generated files, search names and contents, copy code, and inspect unified or split changes without loading a full editor.
* **Choose Edit for manual changes.** Find and replace, undo and redo, reset, and saving remain available. Switching files keeps drafts; failed saves can be retried.
* **Large files stay responsive.** They open in plain text with optional syntax highlighting. Mobile uses a file drawer and wrapped unified diffs.

See [The workspace](/coding-agent/workspace#inspect-and-edit-code) for the controls and shortcuts.

## 2026-09-14

### CLI projects stay local

* A project created in the CLI and opened on the web no longer starts a cloud sandbox or reseeds a template over your local files, even when it has a GitHub remote.

## 2026-09-07

### Reject unusable browser tasks before starting work

* The dashboard now keeps Run disabled until each task has a valid website URL and instructions or an output schema, with inline guidance and consistent URL normalization for drafts and CSV rows.
* The backend checks task input and DNS before charging or queueing, so empty tasks and nonexistent domains do not consume sandbox time. Output-schema-only extraction remains supported.
* Permanent task and URL failures no longer get another sandbox attempt. Failed runner outcomes display as failed in the run details.

## 2026-09-06

### Browser Agents API: task `mode`

* `POST /browser-agent` accepts `mode` per task: `extract` for schema-driven extraction, `agent` for step-by-step interaction with a completion check, or `auto` (the default) to choose. Requests without `mode` behave as before.

## 2026-08-20

### CLI projects on the web dashboard

* Projects started in the CLI appear in the web dashboard's Projects list.

## 2026-08-02

### `predev --version` and `--help`

* Both print and exit instead of opening the terminal UI, so they work in scripts and CI.

## 2026-07-25

### MCP specification tools report failures

* `fast_spec`, `deep_spec` and `get_spec` report a failed generation as a failure, with the reason.
* `get_spec` reports a specification that is still generating as in progress instead of returning an error (since 2026-07-22).

## 2026-07-21

### CLI commands and per-project integrations

* `/clear` resets the feed, `/help` lists every command, and `/integrations` shows what is connected and opens setup in the browser.
* MCP servers and skills can be scoped to one project, with a list of what each build can use and where it came from.

## 2026-07-15

### Act from your inbox, and a much snappier app

* **Answer the agent's questions straight from email.** If the agent asks a clarifying question while you're away, the email now has one-click answer buttons: tap your choice and the build picks up immediately. Links are signed and safe from email scanners.
* **Credits run out mid-build? You get the full picture.** The build pauses safely and you receive an email with current progress, screenshots, and the live preview link. Top up and resume where it left off. A "we'll email you when it's ready" cue now appears during sprints so you can close the tab with confidence.
* **A broad speed pass.** The dashboard, opening a project, and chat are all significantly faster, and the hottest screens paint instantly from cache.
* **Renaming a project keeps old links working**, and builds now survive server restarts and idle timers instead of stalling.

## 2026-07-13

### Watch the agent think, and dial the effort

* **Live thinking ticker.** While the agent reasons, its thinking streams in real time; finished reasoning collapses into a "Thoughts" block you can expand later.
* **Effort levels.** Choose how deep each sprint goes with `/effort`: **low** (fast direct pass), **medium** (task-list loop), or **high** (full research → code → verify pipeline), with **auto** routing each sprint for you by default. See [How the agent works](/coding-agent/building/build-modes).
* **Fewer unnecessary questions.** The agent now asks clarifying questions only when it genuinely needs an answer, and pings you when a direct sprint finishes.
* **Cleaner parallel-agent view** with per-branch objective, progress, and conclusion.

## 2026-07-09

### The terminal-style workspace, on the web

* **Terminal chat everywhere.** The web workspace now matches the CLI: a terminal-style chat with a `/` command palette (`/sprint`, `/effort`, `/model`, `/balance`, `/fork`, and more) and live view tabs for Plan, Code, and Preview. See [The Workspace](/coding-agent/workspace).
* **The pre.dev CLI** brings the same agent, slash commands, and views to your terminal.
* **Before/after screenshot evidence** on every browser verification step: see exactly what the agent checked and what changed.
* **Builds pick themselves back up.** Interrupted sprints resume automatically instead of waiting for you to notice.

## 2026-07-08

### Generate images, video, and audio inside your build

* **Images, video, audio, and music in chat.** Ask the agent for a logo, a hero video, a voiceover, or a soundtrack mid-build; the generated files land directly in your project.
* **More reliable builds against your acceptance criteria**, with a hardened verification loop.
* Faster, cheaper generated images, and GitHub sync no longer breaks from build cache.

## 2026-06-25

### Parallel agents you can actually inspect

* **The parallel-agent panel shows real work**: per-agent live streaming, full tool detail, and real file diffs as multiple agents fan out across a sprint.
* **Upgraded coding agent model** across all build paths, plus fixes for the agent getting stuck repeating itself.
* Faster app load and a cleaner agent step view with per-step timestamps.

## 2026-06-14

### Usage-based billing for Browser Agents

* **Pay per task, not per seat.** Browser agent tasks bill against your credit balance, with a per-task minimum. Failed tasks are charged the minimum and nothing more. See [billing and limits](/browser-agents/api/run-task#billing-and-limits).
* **Tier-aware rate limits** raise throughput for paid plans.
* Typed billing errors with `actionUrl` deep-links (see the 2026-04-30 entry) now cover the full task lifecycle.

## 2026-06-09

### Sessions: fork, merge, and build in parallel

* **Run multiple build sessions at once.** Fork a session to try something risky, work several in parallel, and merge back what works. Merges no longer drop fork edits, even when git is in a bad state.
* **OAuth connectors, MCP servers, and agent skills** arrive in the coding agent: connect your services once and every build inherits them. See [Integrations](/coding-agent/integrations/overview).
* Secrets and build artifacts now stay strictly out of your GitHub repos.

## 2026-05-26

### Real-time collaboration and mobile preview

* **Multi-session collaboration**: live sync, presence avatars, and per-session status across everyone working on a project. Session forks landed earlier in the month and are now hardened.
* **Mobile preview** with a phone-framed viewport and an Expo QR code for native projects.
* **Much faster returns to a project**: speculative pre-resume from the dashboard and an instant hot path when nothing changed.

## 2026-05-08

### Browser agents join the chat

* **`browser_agent` in the workspace**: the planning agent can now drive a real browser mid-conversation, with an inline timeline card showing every step.
* **Faster and tougher browser automation**: an express path for simple extractions, a form-fill specialist, and stronger stealth for protected sites.
* Queue messages while architecture generation is running; they're picked up the moment it finishes.

## 2026-04-30

### One-click API key copy

A dashboard page to reveal and copy your API key, with sign-in and return for
signed-out visitors. Your key now lives on **Integrations → Built-in**; see
[authentication](/api-reference/authentication).

### Browser Agents: typed billing errors with `actionUrl`

Non-2xx responses for [`POST /browser-agent`](/browser-agents/api/run-task)
now carry a structured body:

```json theme={null}
{
  "error": "Need ~0.5 credits, have 0.00. Buy more to continue.",
  "code": "INSUFFICIENT_CREDITS",
  "actionUrl": "https://pre.dev/projects/browser-agents?upgrade=credits"
}
```

`code` is one of `SUBSCRIPTION_REQUIRED`, `INSUFFICIENT_CREDITS`,
`RATE_LIMITED`, `QUEUE_FULL`, `BATCH_TOO_LARGE`. `actionUrl` (when
present) deep-links the user back to pre.dev with the right billing
modal pre-opened. `window.open(actionUrl)` is enough to send the user
to the credit-purchase or subscription flow without any extra UI.

The same body is emitted on the SSE `error` event when streaming.

#### Node SDK: `predev-api@1.1.0`

```ts theme={null}
import { InsufficientCreditsError, SubscriptionRequiredError } from 'predev-api';

try {
  await client.browserAgent(tasks);
} catch (e) {
  if (e instanceof InsufficientCreditsError) window.open(e.actionUrl);
  else if (e instanceof SubscriptionRequiredError) window.open(e.actionUrl);
}
```

New typed exceptions: `SubscriptionRequiredError`,
`InsufficientCreditsError`, `QueueFullError`, `BatchTooLargeError`. All
non-breaking: existing `instanceof PredevAPIError` checks still match.
See the [Node SDK error-handling docs](/architect-agent/sdks/node#errors).

#### Python SDK: `predev-api==1.1.0`

```python theme={null}
from predev_api import InsufficientCreditsError, SubscriptionRequiredError
import webbrowser

try:
    client.browser_agent(tasks)
except InsufficientCreditsError as e:
    if e.action_url: webbrowser.open(e.action_url)
except SubscriptionRequiredError as e:
    if e.action_url: webbrowser.open(e.action_url)
```

New exceptions mirror the Node SDK with `action_url` field. See the
[Python SDK error-handling docs](/architect-agent/sdks/python#errors).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.