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

# Setup

> What payback asks on each setup screen, and what each answer changes on your machine.

Setup runs at the end of the install script, and again whenever you run `payback` with no arguments. It only asks about what is new or undecided: after the first run, a machine with nothing new to upload and hooks already on shows two lines and exits.

## 1. Sign in with GitHub

![The sign-in screen: the three setup steps and the sign-in menu](https://mintcdn.com/payback-973ca8a8/dXSPM-9avda57Aoh/images/setup-signin.png?fit=max\&auto=format\&n=dXSPM-9avda57Aoh\&q=85\&s=bc7d0342ef8bce32a1803dd5ef421e0f)

Setup opens your browser; you authorise payback on GitHub and come back. payback asks for your profile and email only (the `read:user` and `user:email` scopes), never for repository access. The machine gets its own token, kept in `~/.payback/config.toml`.

## 2. Open-source sessions

![The upload screen: sessions found in public GitHub repositories, with Upload for review selected](https://mintcdn.com/payback-973ca8a8/dXSPM-9avda57Aoh/images/setup-upload.png?fit=max\&auto=format\&n=dXSPM-9avda57Aoh\&q=85\&s=84f0cbb4a7e5c3ac293de82abd26f33c)

Setup reads the sessions your agents already saved, works out which repository each ran in, asks our server which of those repositories are public on GitHub, and lists the sessions on public ones, newest first. Sessions on private repositories, or outside a repository, are not listed and never leave your machine.

* **Upload for review** queues every listed session; they upload in the background.
* **Skip** uploads nothing. `payback upload` offers the same list any time, with a picker.

Sessions already uploaded are not offered again; a later run says so and moves on.

## 3. Passive income

![The passive-income screen: the public GitHub repositories found so far and the three choices](https://mintcdn.com/payback-973ca8a8/dXSPM-9avda57Aoh/images/setup-passive.png?fit=max\&auto=format\&n=dXSPM-9avda57Aoh\&q=85\&s=5bca29720662f0fb3124a8260ddfb68d)

* **Turn on for all public repos** writes the `public` policy to `~/.payback/allow`: every public GitHub repository you work in, now and later, is recorded. This is the default, and what the setup bonus asks for.
* **Choose repos** lets you tick repositories; only those are written, by name.
* **Not now** installs nothing.

Turning it on installs a hook in each supported agent found on the machine, starts the background uploader, and tells the server which agents sync. [Agents](https://docs.payback.sh/agents/claude-code.md) lists what each hook is; Codex and Cline need one step from you, which the close points out.

## The close

The last screen lists only what is left to do (for example, approving Codex's hooks once with `/hooks`) and, while the setup bonus is open, its three conditions. Then it opens your account page.

> [!NOTE]
>
> Setup never writes `*` (every repository, private ones too) to the allow list. Only `payback allow every` does, after asking.


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