> ## 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.

# payback upload

> Upload past coding-agent sessions on open-source repositories for review.

## Usage

```text theme={null}
                                                                                                    
 Usage: payback upload [OPTIONS] [file]                                                           
                                                                                                    
 Upload past coding-agent sessions on open-source repos for review.                                 
                                                                                                    
╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────╮
│   file      <path>  one session file (any supported agent); none: pick from your past sessions   │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮
│ --all                queue every session that qualifies, without the picker                      │
│ --repo        <str>  owner/name for a file whose checkout is gone, or a repo on your list        │
│ --help               Show this message and exit.                                                 │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
```

Without arguments, `payback upload` scans your agents' saved sessions, asks our server which repositories are public on GitHub, and opens a picker over the sessions not yet in review, with the recommended ones pre-selected. Space toggles a session, `/` filters by repository, agent or title, `a` and `n` select or clear what's shown, Enter uploads, Esc uploads nothing. Uploads run in the background; `payback status` shows progress.

`--all` queues every session that qualifies without the picker.

`payback upload <file>` sends one session file from any supported agent. The agent is read from the file; the repository and starting commit come from the session's checkout when it still exists, otherwise pass `--repo owner/name`. The same rules apply: the repository must be public on GitHub (or named on your allow list), nothing that looks like a secret is sent, and a session already in review is skipped.

Without a terminal, `payback upload` lists what it would offer and exits with status 2.

## Examples

```bash theme={null}
payback upload
payback upload --all
payback upload ~/.claude/projects/-Users-me-code-flask/abc123.jsonl --repo pallets/flask
```


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