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

# Installation

> Install the Outcrawl CLI on macOS, Linux or Windows.

export const OutcrawlStyles = () => {
  if (typeof document !== 'undefined' && !document.getElementById('outcrawl-overrides')) {
    const s = document.createElement('style');
    s.id = 'outcrawl-overrides';
    s.textContent = `
      /* Match the product's radius grid (4 / 6 / 8 / 9999), not Mintlify's default. */
      .rounded-sm { border-radius: 0.375rem !important; } /* 6px, --r-ctl */
      .rounded-md { border-radius: 0.375rem !important; } /* 6px, --r-ctl */
      .rounded-lg { border-radius: 0.5rem !important; }   /* 8px, --r-panel */
      .rounded-l-sm { border-top-left-radius: 0.375rem !important; border-bottom-left-radius: 0.375rem !important; }
      .rounded-r-sm { border-top-right-radius: 0.375rem !important; border-bottom-right-radius: 0.375rem !important; }
      .rounded-l-md { border-top-left-radius: 0.375rem !important; border-bottom-left-radius: 0.375rem !important; }
      .rounded-r-md { border-top-right-radius: 0.375rem !important; border-bottom-right-radius: 0.375rem !important; }
      .rounded-l-lg { border-top-left-radius: 0.5rem !important; border-bottom-left-radius: 0.5rem !important; }
      .rounded-r-lg { border-top-right-radius: 0.5rem !important; border-bottom-right-radius: 0.5rem !important; }

      /* Cards: never pure white in light mode, matching the one-big-card surface tone. */
      .card { background-color: #fcfcfc !important; border-radius: 0.5rem !important; }
      html.dark .card { background-color: #141311 !important; }

      /* Docs hero box */
      .oc-hero { background-color: #fcfcfc; border: 1px solid #e5e2dc; }
      html.dark .oc-hero { background-color: #141311; border-color: #26241f; }
      html.dark .oc-hero h1 { color: #edeae4; }

      /* Thin, transparent-track, hide-until-hover scrollbar. */
      ::-webkit-scrollbar { width: 6px; height: 6px; background-color: transparent; }
      ::-webkit-scrollbar-track { background-color: transparent; }
      ::-webkit-scrollbar-thumb { background-color: rgba(155, 155, 155, 0.5); border-radius: 10px; transition: opacity 0.3s ease; opacity: 0; }
      ::-webkit-scrollbar-thumb:hover { background-color: rgba(155, 155, 155, 0.7); }
      *:hover::-webkit-scrollbar-thumb,
      *:focus::-webkit-scrollbar-thumb,
      *:active::-webkit-scrollbar-thumb { opacity: 1; }
      * { scrollbar-width: thin; scrollbar-color: rgba(155, 155, 155, 0.5) transparent; }
    `;
    document.head.appendChild(s);
  }
  return null;
};

<OutcrawlStyles />

## macOS and Linux

```bash theme={"theme":{"light":"github-light","dark":"catppuccin-mocha"}}
curl -fsSL https://get.outcrawl.ai/cli/install.sh | sh
export PATH="$HOME/.local/bin:$PATH"
outcrawl login
```

Installs the current release directly: a signed static binary, nothing else to set up. It goes to `/usr/local/bin` when you can write there, and to `~/.local/bin` otherwise; a stock Mac does not have `~/.local/bin` on its PATH, so the second line makes `outcrawl` findable in this shell. The installer prints the same line when it is needed; add it to your shell profile to keep it.

Or with Homebrew, which puts it on your PATH for you:

```bash theme={"theme":{"light":"github-light","dark":"catppuccin-mocha"}}
brew install outcrawlai/tap/outcrawl
```

## Windows

```powershell Scoop theme={"theme":{"light":"github-light","dark":"catppuccin-mocha"}}
scoop bucket add outcrawl https://github.com/outcrawlai/scoop-bucket
scoop install outcrawl
```

Or download the platform archive directly:

<Steps>
  <Step title="Read the manifest">
    `GET https://get.outcrawl.ai/cli/manifest.json` lists the current version and a sha256 digest for every platform, including `windows_amd64` and `windows_arm64`.
  </Step>

  <Step title="Download the archive">
    The path pattern is `https://get.outcrawl.ai/cli/<version>/outcrawl_<version>_windows_<arch>.zip`, built from the version the manifest just gave you.
  </Step>

  <Step title="Verify before you run it">
    Hash the download against the manifest's digest before extracting. This is the same three-hash discipline `outcrawl upgrade` runs on every update: publish against download, the archive's own contents, and the installed binary, each checked separately.
  </Step>
</Steps>

## Sign in

```bash theme={"theme":{"light":"github-light","dark":"catppuccin-mocha"}}
outcrawl login
```

Opens a browser with a short code already filled in; approve it, pick a workspace, and the CLI is signed in. This is the RFC 8628 device grant, the same standard flow GitHub's and AWS's own CLIs use: no password or key touches your terminal. The session stays signed in until you run `outcrawl logout`, or you are removed from the workspace, either of which cuts it off at once.

## CI and headless environments

Nothing to click through on a server. Use an API key instead, either the environment variable or the config file, and it takes priority over a stored login:

<CodeGroup>
  ```bash Environment variable theme={"theme":{"light":"github-light","dark":"catppuccin-mocha"}}
  export OUTCRAWL_API_KEY=ock_YOUR_KEY_ID.YOUR_SECRET
  ```

  ```json Config file theme={"theme":{"light":"github-light","dark":"catppuccin-mocha"}}
  {
    "apiKey": "ock_YOUR_KEY_ID.YOUR_SECRET",
    "apiUrl": "https://api.outcrawl.ai"
  }
  ```
</CodeGroup>

The config file lives at `$XDG_CONFIG_HOME/outcrawl/config.json` (`%APPDATA%\outcrawl\config.json` on Windows). Precedence is flag, then environment variable, then a stored login or the file, then default. `OUTCRAWL_API_URL` overrides the default base URL if you need to.

<Note>
  `--verbose` never prints the key itself, and scrubs it from its own error messages too, so a mistyped flag never leaks a credential into your terminal history.
</Note>

## Staying current

```bash theme={"theme":{"light":"github-light","dark":"catppuccin-mocha"}}
outcrawl upgrade           # verify and install the published release
outcrawl upgrade --check   # report what is published, change nothing
outcrawl upgrade --force   # re-install even when the version already matches
```

A background check runs at most once every 24 hours and never blocks a command; set `OUTCRAWL_NO_VERSION_CHECK=1` to turn it off entirely.


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