# Surfaces

> Endue runs in the browser, on the desktop, on your phone, and in the terminal. Every surface talks to the same agents and the same history.

A **surface** is one of the places you can use Endue. They are not separate products: your agents, conversations, connections, and artifacts are the same everywhere, so you can start a task in the browser and answer the agent's question from your phone an hour later.

Pick a surface by what you are trying to do, not by preference — each one is better at something different.

<Tabs syncKey="surface">
  <TabItem label="Web">
    **The full workspace, nothing to install.**

    Everything Endue does is available in the browser: building and tuning agents,
    chatting with them, connecting tools, writing skills, scheduling routines,
    reviewing artifacts, and managing billing.

    Use the web when you are *building* — creating an agent, changing a prompt,
    wiring up a connector. The other surfaces are better at *watching* and
    *responding*.
  </TabItem>

  <TabItem label="Desktop">
    **The workspace, plus your own machine.**

    A native app for macOS, Windows, and Linux. It gives you the same workspace as
    the web, and additionally can host agent runs locally — which is what lets an
    agent reach files and tools that live on your computer rather than in a cloud
    service.

    Use the desktop app when the work involves local files, or when you want runs to
    keep going on your own hardware.

    <Aside type="note" title="Setup docs in progress">
      Install and pairing instructions are being written and will appear here.
    </Aside>
  </TabItem>

  <TabItem label="Mobile">
    **For responding, not building.**

    iOS and Android apps focused on the moments when an agent needs you: it asked a
    question, it wants approval to send something, or it finished and you want to
    read the result.

    Use mobile to keep long-running work moving while you are away from a desk.

    <Aside type="note" title="Setup docs in progress">
      Install instructions are being written and will appear here.
    </Aside>
  </TabItem>

  <TabItem label="CLI">
    **Endue in a pipe.**

    A single `endue` binary that is both a local runtime and a command-line client.
    It is designed to compose with other tools rather than replace them:

    | Command | What it does |
    | --- | --- |
    | `endue chat` | Interactive session in your terminal |
    | `endue run` | One-shot task — reads stdin, writes stdout |
    | `endue session` | List and resume past sessions |
    | `endue agent` | Inspect and select agents |
    | `endue serve` | Run the local runtime that hosts agent work |
    | `endue daemon` | Install the runtime as a background service |

    Use the CLI for scripting and automation — feeding logs into an agent, running a
    task in CI, chaining Endue into an existing shell workflow.

    <Aside type="note" title="Not yet generally available">
      The CLI is not released for general use. Install instructions will appear here
      when it ships.
    </Aside>
  </TabItem>
</Tabs>

## Choosing a surface

| I want to… | Use |
| --- | --- |
| Create an agent or change how it behaves | Web |
| Connect a tool or manage permissions | Web |
| Let an agent work with files on my computer | Desktop |
| Answer an agent's question while away from my desk | Mobile |
| Approve an action an agent wants to take | Any surface |
| Pipe data into an agent, or run one in a script | CLI |

## What to read next

<CardGrid>
  <LinkCard
    title="Quickstart"
    href="/docs/get-started/quickstart/"
    description="Build your first agent in the web app."
  />
  <LinkCard
    title="Core concepts"
    href="/docs/get-started/core-concepts/"
    description="The vocabulary every surface shares."
  />
</CardGrid>
