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

# Custom Apps

> Build and deploy custom UIs that run inside LangSmith and talk to the LangSmith API.

<Note>
  Custom Apps are available exclusively on the **Enterprise** plan.
</Note>

Custom Apps are custom UIs, built by you, that run inside LangSmith and talk to the LangSmith API. You build the app locally with your own coding agent, push it to LangSmith, and it becomes available to you and your team in the workspace.

The LangSmith UI can't be the right shape for every workflow—Custom Apps are the escape hatch. Need a purpose-built annotation surface? A bespoke experiment comparison? A dashboard scoped to your own traces? Build it once, push it, and everyone on the team has it inside LangSmith without standing up separate infrastructure.

`langsmith apps init` scaffolds an `AGENTS.md` alongside the starter code, which prompts a coding agent with the conventions and API surface it needs to produce a working app on the first pass.

## Get started

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
# 0. Set your credentials
export LANGSMITH_ENDPOINT=<your-langsmith-endpoint>
export LANGSMITH_API_KEY=<your-langsmith-api-key>

# 1. Scaffold a new app
langsmith apps init --name my-annotation-view --template annotation-queue

# 2. Iterate locally — the app runs in a live sandbox connected to LangSmith
cd my-annotation-view
langsmith apps dev

# 3. Push to LangSmith when ready
langsmith apps push

# 4. Open it — the app is now available to your whole team under Custom Apps in the LangSmith sidebar
```

## CLI reference

| Command                                                                                                                               | What it does                                                       |
| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
| `langsmith apps init --name NAME [--template annotation-queue\|annotation-queue-grid\|coding-agent-dashboard\|experiment-comparison]` | Scaffold a starter app in a new directory named after the app.     |
| `langsmith apps dev`                                                                                                                  | Run the current directory's app locally in a real sandbox.         |
| `langsmith apps push`                                                                                                                 | Upload the current directory as a custom app (creates or updates). |
| `langsmith apps pull APP_ID_OR_NAME`                                                                                                  | Download an app's source into a new directory.                     |
| `langsmith apps list`                                                                                                                 | List custom apps.                                                  |
| `langsmith apps delete APP_ID_OR_NAME`                                                                                                | Delete an app by ID or name.                                       |

***

<div className="source-links">
  <Callout icon="terminal-2">
    [Connect these docs](/use-these-docs) to Claude, VSCode, and more via MCP for real-time answers.
  </Callout>

  <Callout icon="edit">
    [Edit this page on GitHub](https://github.com/langchain-ai/docs/edit/main/src/langsmith/custom-apps.mdx) or [file an issue](https://github.com/langchain-ai/docs/issues/new/choose).
  </Callout>
</div>
