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

# login & verify

> Auth (local needs none) and live API-surface inspection.

## login

```bash theme={null}
asymmetric login
```

**Local mode needs no login.** Running `asymmetric login` today just confirms
that and points you at `quickstart` — it does not error. There are no accounts,
no credentials, and no setup for local use; the whole CLI works out of the box.

### Options

| Option                  | Description                                    |
| ----------------------- | ---------------------------------------------- |
| `--control-plane <url>` | Control-plane base URL (connected/cloud mode). |

### Local vs connected mode

* **Local mode** (the default and the whole product today): `controlPlaneUrl` is
  `null`. Clones live only in `~/.asymmetric/registry.json` on your machine. No
  login required.
* **Connected/cloud mode** (planned): `--control-plane <url>` will connect the CLI
  to a control-plane API through a `CloudProvider` — accounts, cloud clones, and
  cross-machine sync. Until that ships, this prints a "not available yet" note.

`asymmetric doctor` reports which mode you're in.

## verify

```bash theme={null}
asymmetric verify <template>      # add --json for a structured result
```

Inspects a template's **live API surface** and shows any cached fidelity score.
The CLI does the deterministic half: it reads a running clone's OpenAPI
(`GET /api/docs-json`), counts operations and paths, and prints the cached
fidelity if one exists.

```
  live surface: 47 operations across 22 paths (clone slack-a1b2)
  cached fidelity: none

  For a full parity check against slack's live docs, run:  /verify-api slack
```

### Arguments

| Argument     | Required | Description                  |
| ------------ | -------- | ---------------------------- |
| `<template>` | yes      | Template name, e.g. `slack`. |

### The full parity check lives in `/verify-api`

Comparing the clone's surface against the real product's **live** documentation
is an LLM + web task — it fetches the product's official docs on every run and
diffs them against the clone. That lives in the `/verify-api` skill, not the CLI,
which `verify` points you to. When a score is produced it's cached as a
[`FidelityScore`](/reference/clone-contract) (0–1 coverage, operation counts,
`checkedAt`, `source`) under `~/.asymmetric/fidelity/<template>.json`, and
`verify` will surface it. The CLI never hard-gates on a live fetch.
