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

# Set up GitHub

> Connect a GitHub account to Veryfront for repository, issue, and pull-request tools.

Use GitHub OAuth when an agent needs repository, issue, or pull-request tools.

## Connect a GitHub user

1. In Veryfront, open the project that needs GitHub tools.
2. Start the GitHub connection from the integration prompt or project integration settings.
3. Sign in to GitHub and approve the requested access.
4. Run a read-only GitHub tool, such as listing repositories, to verify the connection.

Managed GitHub OAuth works without project credentials. Set project credentials
only when the project must use its own GitHub OAuth app for custom consent
branding, verification, or scope requirements.

## Use your own GitHub OAuth app

1. In [GitHub Developer Settings](https://github.com/settings/developers), create an OAuth App.
2. Add the exact callback URL for the target environment:
   * Production: `https://api.veryfront.com/oauth/callback/github`
   * Staging: `https://api.veryfront.org/oauth/callback/github`
3. These are the hosted Veryfront provider-adapter callbacks. Do not replace
   them with the `veryfront/oauth` framework callback path. A self-hosted
   framework application instead registers its own `APP_URL` origin with
   `/api/auth/github/callback`.
4. For another hosted environment, copy the callback URL displayed by its
   Veryfront OAuth connection flow. A GitHub OAuth App can serve more than one
   route only when GitHub's host, port, and callback-path rules accept the
   route. The hosted production and staging URLs above do not share a base host,
   so use separate OAuth Apps for them.
5. Set the OAuth app client ID and client secret as project environment variables:

| Variable               | Value                          |
| ---------------------- | ------------------------------ |
| `GITHUB_CLIENT_ID`     | GitHub OAuth App client ID     |
| `GITHUB_CLIENT_SECRET` | GitHub OAuth App client secret |

Keep the secret in your approved secret manager. Never place it in agent
prompts, project files, tickets, or client-side environment variables.

## Verify it worked

1. Start a new agent run that uses a read-only GitHub tool.
2. Confirm the tool returns the connected user's GitHub data.

## Related

* [veryfront/integrations](/docs/code/api-reference/veryfront/integrations): Connector catalog and helper API.
