# Agora CLI (/en/introduction/agora-cli)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

Install the Agora CLI when you want the shortest path to a working Agora starter. Use it to log in, initialize an official starter, write environment values, switch projects, and diagnose setup problems from the terminal.

If you want to get a demo running before you fine-tune prompts or architecture, start here. After the starter works, add [Agora MCP](/en/introduction/agora-mcp) or [Agora Skills](/en/introduction/agora-skills) if you want your assistant to stay grounded in current docs and Agora-specific workflows.

## Install the Agora CLI [#install-the-agora-cli]

<Tabs>
  <TabsList>
    <TabsTrigger value="mac-linux">
      macOS and Linux
    </TabsTrigger>

    <TabsTrigger value="windows-powershell">
      Windows (PowerShell)
    </TabsTrigger>
  </TabsList>

  <TabsContent value="mac-linux">
    ```bash
    curl -fsSL https://dl.agora.io/cli/install.sh | sh
    agora --help
    ```
  </TabsContent>

  <TabsContent value="windows-powershell">
    ```powershell
    irm https://dl.agora.io/cli/install.ps1 | iex
    agora --help
    ```
  </TabsContent>
</Tabs>

## Quick start [#quick-start]

Follow this path if you want to get an official starter running as quickly as possible.

<Tabs>
  <TabsList>
    <TabsTrigger value="typescript">
      TypeScript
    </TabsTrigger>

    <TabsTrigger value="python">
      Python
    </TabsTrigger>

    <TabsTrigger value="go">
      Go
    </TabsTrigger>
  </TabsList>

  <TabsContent value="typescript">
    ```bash
    agora login
    agora init my-nextjs-demo --template nextjs
    cd my-nextjs-demo
    pnpm install
    pnpm dev
    ```
  </TabsContent>

  <TabsContent value="python">
    ```bash
    agora login
    agora init my-python-demo --template python
    cd my-python-demo
    bun install
    bun run dev
    ```
  </TabsContent>

  <TabsContent value="go">
    ```bash
    agora login
    agora init my-go-demo --template go
    cd my-go-demo
    make setup
    make dev
    ```
  </TabsContent>
</Tabs>

### What happens in this flow [#what-happens-in-this-flow]

1. `agora login` authenticates your machine.
2. `agora init` clones an official starter, binds it to your Agora project, and writes the environment you need locally.
3. The runtime-specific install and dev commands start the application.

If the starter runs, move on to application-specific work. If not, troubleshoot in the same order you experienced the setup below.

## If something fails [#if-something-fails]

### The `agora` command is not available [#the-agora-command-is-not-available]

If `agora --help` does not work after installation, rerun the installer first. On macOS and Linux, make sure you used the install command with `--add-to-path`.

If PowerShell blocks the Windows install script, download `install.ps1` and run:

```text
powershell -ExecutionPolicy Bypass -File .\install.ps1
```

### Login or starter setup fails [#login-or-starter-setup-fails]

Run the setup path again in order:

```bash
agora login
agora init my-demo --template nextjs
```

This covers the two most common first-run failures: the machine is not authenticated, or the starter was not initialized correctly.

### The starter runs incorrectly [#the-starter-runs-incorrectly]

Use the CLI to check readiness, credentials, and feature enablement:

```bash
agora project doctor
```

### Project settings or credentials look wrong [#project-settings-or-credentials-look-wrong]

Inspect the current environment values that the CLI exported for your active project:

```bash
agora project env --shell
```

This is the right check when the local app starts but the agent does not join, transcripts do not appear, or the active project looks wrong.

## Build from scratch instead [#build-from-scratch-instead]

If you are not using an official starter, create or switch projects first, then export credentials into the local environment.

<Tabs>
  <TabsList>
    <TabsTrigger value="typescript">
      TypeScript
    </TabsTrigger>

    <TabsTrigger value="python">
      Python
    </TabsTrigger>

    <TabsTrigger value="go">
      Go
    </TabsTrigger>
  </TabsList>

  <TabsContent value="typescript">
    ```bash
    agora login
    agora project create conv-ai-tutorial --feature rtc --feature convoai
    agora project use conv-ai-tutorial
    agora project env --shell
    ```
  </TabsContent>

  <TabsContent value="python">
    ```bash
    agora login
    agora project create conv-ai-tutorial --feature rtc --feature convoai
    agora project use conv-ai-tutorial
    agora project env --shell
    ```
  </TabsContent>

  <TabsContent value="go">
    ```bash
    agora login
    agora project create conv-ai-tutorial --feature rtc --feature convoai
    agora project use conv-ai-tutorial
    agora project env --shell
    ```
  </TabsContent>
</Tabs>

You can also switch the active project later or create a new one explicitly:

```bash
agora project create my-project --feature rtc --feature convoai
agora project use my-project
```

The CLI gives your assistant reproducible local steps it can execute and verify, especially during starter bootstrapping, project binding, environment generation, and first-line diagnosis.
