# Installation (/sling-cli/installation)



<Callout type="warn">
  sling is in private beta and is served as a binary. [Get in touch](https://cal.com/team/starsling/starsling-founders-chat) if you would like to get access.
</Callout>

It is self-contained, with no runtime or dependencies. Drop it on your `PATH` and run it.

```bash
sling --version
```

## Get Started

<Steps>
  <Step>
    ### Authenticate

    ```bash
    sling login
    ```

    This runs the GitHub device-code flow: it opens an approval page, waits for you to confirm the device code, saves the session token to `~/.config/sling/credentials`, and links your default organization.

    The credential is stored **per user, not per shell**, with owner-only permissions. So an AI agent running on the same machine as you inherits it: once you have signed in, the agent can run any `sling` command with no further setup. See [Configuration](/sling-cli/configuration#how-agents-authenticate) for how that differs in CI.
  </Step>

  <Step>
    ### Check your identity

    ```bash
    sling whoami
    ```

    Reports your identity, org, plan, token scopes, and token expiry, so you can see exactly what the credential you just saved can reach.
  </Step>

  <Step>
    ### Verify

    ```bash
    sling doctor
    ```

    `doctor` checks your token, the control plane's reachability, clock skew, git remote, patch tooling, version, and org resolution. Exit `0` means healthy; exit `10` means a real check failed.

    ```console
    $ sling doctor

    ✓ token           valid session (expires 4 Aug 2026, 17:45)
    ✓ control_plane   reachable (https://runners.starsling.dev)
    ✓ clock_skew      0s vs server
    ✓ git_remote      origin
    ✓ patch_tooling   git found (/usr/bin/git)
    ✓ version         on 0.1.0
    ✓ org             starslingdev (paid)

    Environment healthy!
    ```
  </Step>
</Steps>

## Next steps

<Cards>
  <Card title="Command reference" href="/sling-cli/commands/auth" description="Every command, its flags, and its exit codes." />

  <Card title="Configuration" href="/sling-cli/configuration" description="Environment variables, output streams, and the exit-code table." />
</Cards>
