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

# Connect to Xano

> Take the project from the quickstart to its first cloud deploy: create a free Xano account, sign in with npx xanosdk login, confirm the workspace, and deploy to an ephemeral with tests.

The [Quickstart](/start/quickstart) ran your backend on the Xano Engine with no account. This
page puts the same code in Xano's cloud for the first time, on an **ephemeral**: a disposable
environment with its own URL. Nothing here touches a workspace's live backend.

## 1. Create an account

Sign up at [xano.com](https://xano.com). The Free plan is enough for everything on this page.
During sign-up you get an instance and a workspace.

## 2. Sign in from the project

```bash theme={null}
npx xanosdk login
```

`login` opens your browser to sign in to Xano and approve the CLI (OAuth with PKCE, so there
are no API keys to copy). You pick the instance and the workspace at that step. The credential
is saved in `~/.xanosdk/auth.json` and works from any project on this machine.

<Tip>
  On a remote shell, a container or a Codespace, the browser cannot reach the CLI's
  `127.0.0.1` callback. Run `npx xanosdk login --paste` instead: it prints the sign-in URL, and
  after you approve you paste the redirect URL from the browser's address bar back into the
  terminal.
</Tip>

## 3. Confirm where you are signed in

```bash theme={null}
npx xanosdk whoami              # the signed-in user and the instance URL
npx xanosdk workspace details   # the instance and workspace this credential is bound to
```

One credential addresses exactly one instance and one workspace, so there is no
`--workspace` flag. If either is wrong, run `npx xanosdk login --force` and pick again.

## 4. Deploy to an ephemeral

For a quick look, deploy the backend and the built frontend:

```bash theme={null}
npm run xano:deploy:ephemeral
```

To deploy to an ephemeral and run your tests against it, which is the first step of every
release:

```bash theme={null}
npx xanosdk deploy ./xano/index.ts --ephemeral --test
```

The first run creates an ephemeral and prints its URL. Later runs refresh the same one, and a
new URL is called out if it expired. `--test` runs the tests the deployed backend carries and
exits `5` if one fails (the deploy stays in place either way).

```
→ Deploying xano/index.ts → new ephemeral "my-app"
  on your-instance.xano.io · workspace 3
✓ Ephemeral "e4f2-9ab1" ("my-app") deployed (6.5s)
i New ephemeral URL:
  https://your-instance.xano.io/tenant/e4f2-9ab1
  Expires in 0h 59m
  Manage with `npx xanosdk ephemeral get e4f2-9ab1`
  Open the builder with `npx xanosdk impersonate ephemeral:e4f2-9ab1`
  Pointed .env.local at this deploy (VITE_XANO_HOST) — restart your dev server to pick it up. `--no-dev-env` skips this.
→ Running 2 tests against ephemeral "e4f2-9ab1" ("my-app") (1 unit, 1 workflow)

  PASS  creates a note  [unit: query POST create_note in notes]
  PASS  add_note_works  [workflow]  0.020s

✓ 2 passed, 0 failed
```

Run the `impersonate` command it prints to open the Xano editor on the ephemeral.

The ephemeral and the Engine are the same backend, one in the cloud and one on your machine.
Keep developing against the Engine with `npm run xano:deploy`. Deploy to an ephemeral when you
want a shared URL or are ready to release.

<Note>
  Some instances have ephemerals turned off. There, you stage on a Xano branch of your workspace
  instead; [Releases](/ship/releases) shows how.
</Note>

## Next

[Deploy to Xano](/ship/overview): cut a release from the ephemeral and promote it to your
workspace.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.