# 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 outputs 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 outputs, 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">
    **endue in its own window.**

    endue Desktop is a desktop app for macOS. It opens the same endue as the web,
    signed in to the same account, with the same agents and conversations.

    Each computer where you sign in to endue Desktop is listed under
    [Devices](/docs/build/devices/), so you can see where your account is in use. Agents
    do not work on it. To let an agent work with files on a computer of yours,
    install [endue Computer](/docs/build/own-server/) on that computer.

    <Aside type="note" title="Setup docs in progress">
      Install instructions are being written and will appear here. Windows and Linux
      versions are coming.
    </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 a computer or server of mine | [endue Computer](/docs/build/own-server/) on that machine |
| 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 |

## Surfaces and devices

A surface is where *you* use endue. A [device](/docs/build/devices/) is what an *agent* works on: its endue Computer, where it keeps files and runs programs, and its endue for Chrome, where it opens web pages. The device list also shows the computers where you use endue Desktop, but agents do not work on those.

## 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>
