# Quickstart

Install TokenTriage, run a local demo, and see a sample LLM cost breakdown in about two minutes.

Source: https://tokentriage.com/docs/get-started/quickstart

---
import Details from "../../../components/Details.astro";
import CodeTabs from "../../../components/CodeTabs.astro";
import NextSteps from "../../../components/NextSteps.astro";

Before you start, you need a terminal and internet access to install the binary. You do not need
administrator access, an API key, a config file, or an account. The demo uses simulated providers
and cannot incur provider charges.

## 1. Install TokenTriage

Choose the command for your platform:

<CodeTabs label="Choose your platform" tabs={[
  { id: 'unix', label: 'macOS / Linux' },
  { id: 'windows', label: 'Windows PowerShell' }
]}>
<Fragment slot="unix">

```console
curl -fsSL https://tokentriage.com/install.sh | sh
```

</Fragment>
<Fragment slot="windows">

```console
irm https://tokentriage.com/install.ps1 | iex
```

</Fragment>
</CodeTabs>

The installer downloads one executable, verifies its checksum, and puts it in a folder you can
write to without administrator access. If that folder is not on your `PATH`—the list of folders
your terminal searches for commands—the installer tells you what to add.

If you would rather inspect the installer first or use a package manager, see
[Installation](/docs/get-started/installation).

Confirm that the command is available:

```console
tokentriage version
```

The installation worked if the output contains one line beginning with `tokentriage` and another
beginning with `pricing snapshot:`. The exact version numbers will differ over time.

<Details summary="What is a pricing snapshot?">

It is the versioned price list TokenTriage uses to calculate costs. The snapshot identifier makes
it possible to trace a cost back to the prices used at the time.

</Details>

<Details summary="If your shell reports command not found">

Open a new terminal and try `tokentriage version` again. A terminal that was already open may
not have picked up the updated PATH.

If the command is still unavailable, [Installation](/docs/get-started/installation) has
platform-specific PATH help.

</Details>

## 2. Start the demo

Run:

```console
tokentriage demo --open
```

Leave this terminal running. TokenTriage starts a local dashboard, loads synthetic history, and
sends a few test requests through simulated providers.

Look for these two lines. Your port number will differ:

> `DEMO — synthetic data (watermarked)`
>
> `dashboard: http://127.0.0.1:<PORT>/ui/`

Your browser should open the dashboard automatically.

<Details summary="If the dashboard does not open">

Find the `dashboard:` line in the terminal and open the URL that follows it. The demo chooses an
available local port each time it starts, so use the URL from your own terminal.

</Details>

## 3. Read the result

You are set when the Overview page shows all three of these:

- A **Demo data** label
- A request count greater than zero
- A dollar amount for the sample traffic

The synthetic history deliberately includes an unusually expensive request so the dashboard has
an anomaly to show. The amounts are examples, not a bill.

Select **Cost** in the dashboard navigation to explore the sample costs. Start with **Total
spend** and **Requests**; the other views and filters can wait until you connect real traffic.

<Details summary="Why does the total say EST or priced rows only?">

`EST` means at least one row uses an estimated cost. `Priced rows only` means the total excludes
requests whose model has no known price. An excluded request is not assumed to be free.

</Details>

<Details summary="Optional: inspect the demo in your terminal">

The demo prints a `ledger:` line containing the path to its temporary request log. Open a second
terminal, copy that path into the command below, and group the requests by model.

<CodeTabs label="Example ledger path" tabs={[
  { id: 'unix-log', label: 'macOS / Linux' },
  { id: 'windows-log', label: 'Windows PowerShell' }
]}>
<Fragment slot="unix-log">

```console
tokentriage top --log "/tmp/tokentriage-demo-103211116/decisions.jsonl" --by model
```

</Fragment>
<Fragment slot="windows-log">

```console
tokentriage top --log "C:\tt-tmp\tokentriage-demo-103211116\decisions.jsonl" --by model
```

</Fragment>
</CodeTabs>

Use the path printed by your demo; the directory name will differ. In this table, a dash in the
cost column means TokenTriage could not find a price for that model. It does not mean the request
was free. The cache and percentile columns are explained in
[Cost analytics](/docs/build/cost-analytics).

</Details>

## 4. Stop the demo

Return to the terminal running the demo and press `Ctrl-C`.

The demo removes its temporary request log when it stops. It does not write to the request log
used by a normal TokenTriage run.

## What TokenTriage did

TokenTriage ran a proxy and dashboard on your computer. It sent test requests to simulated
providers, counted their tokens, looked up prices, and saved the results in a temporary log. It
did not contact an external LLM provider.

<NextSteps
  title="Keep going"
  items={[
    {
      title: "Your first live request",
      href: "/docs/get-started/first-live-request",
      description:
        "Send one real, billable request through your Anthropic account and verify its cost.",
    },
    {
      title: "Connect your app",
      href: "/docs/get-started/connect-your-app",
      description:
        "Point curl, an SDK, or Claude Code at the local TokenTriage proxy.",
    },
    {
      title: "Installation",
      href: "/docs/get-started/installation",
      description:
        "Use a package manager or see containers, version pinning, upgrades, and PATH help.",
    },
  ]}
/>
