otter

GitHub

Connect with the Otter GitHub App so import and pull requests work. You do not create your own OAuth app. App secrets live on Otter's Cloudflare auth broker โ€” not in your Docker image or CLI package.

What you do (end user)

  1. Start Docker (see Self-host) or install the CLI (npm i -g @otter-engg/cli).
  2. In the product UI click Connect GitHub, or run otter login / /login in the CLI.
  3. Install / authorize the Otter GitHub App when GitHub prompts you.
  4. Import a repo and open PRs after approving coding tasks.

Web ยท CLI ยท MCP

  • Web โ€” Connect GitHub in the app chrome (cookie session; Docker stack).
  • CLI โ€” standalone @otter-engg/cli: otter login (same broker; session in ~/.otter/config.json). No Docker required.
  • MCP โ€” install otter-mcp from PyPI. For API memory/tasks, set OTTER_SESSION to the Web/Docker session cookie (CLI GitHub login alone is not enough). See MCP docs.

Is the Worker login link safe?

Yes. Opening a Cloudflare Worker URL for login is expected. That link only starts GitHub OAuth โ€” it does not embed Client Secrets. After GitHub authorizes you, the broker hands a short-lived one-time code back to your local CLI or API. Day-to-day work stays on your machine.

Privacy

  • Repository clones and databases stay on your machine (Docker volumes or ~/.otter/).
  • Cloudflare only completes GitHub App login and returns a short-lived one-time code.
  • Day-to-day chat / import / PRs talk to your local API or CLI only.

Operators & contributors

The GitHub App and auth broker are maintained in this public monorepo under apps/auth-broker and apps/github-app. Never commit Client Secrets. See auth-broker README and Contribute.