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

# GitHub

> Read repository code and documentation into your workspace's memory

GitHub turns repository code and documentation into searchable memory. Cognee reads code and documentation in the repositories you select, and sees the organization and repository names it is installed on.

## Connecting

**Connect** on the GitHub card ([Integrations](/cognee-cloud/ui/integrations) → **Data sources**) authorizes the Cognee GitHub App and then asks which account it should use. A **Choose a GitHub account** modal lists the organizations that GitHub account can reach, marks the ones already connected, and always offers **Install on another organization** for one that does not have the app yet. **Connect this account** finishes the link, and the dialog settles into the connected view without closing.

**Reconnect** and **Connect another GitHub account** ask the same question, so a workspace is never silently re-attached to the organization it last used, and a second workspace can connect an organization that already has the app installed.

| Situation | What the modal says |
| - | - |
| The account can reach no installation | *Cognee isn't installed on any organization this GitHub account can access.*, with **Install on another organization**. |
| The choice sat unused too long | *This link expired. Connect again to pick an account or organization.* |

<Note>
  If GitHub's window stalls on the app's settings page, close it and try again. That can only happen when installing fresh on an organization that already has Cognee.
</Note>

## Choosing repositories

The repository picker is the shared one described in [Choosing what a connection reads](/cognee-cloud/ui/integrations#choosing-what-a-connection-reads): read every repository including ones added later, read an explicit list, or read none. Repositories are a flat list — GitHub sends no hierarchy, so there are no groups to collapse.

Widening a narrowed connection again is **Read every repository, including new ones**. The picker only ever lists what the installation already shares; granting access to more repositories happens on GitHub's side, through the **Add repositories in GitHub** link under the list.

## Asking about a repository

A connected repository is ingested into the **code graph**, and the code graph is not embedded — so a question asked under the Search page's **Text** type will not find it. Use the **Code** type instead, which looks up functions, classes, and files by name and can draw the repository's architecture. See [Search type](/cognee-cloud/ui/search#search-type).

Each connection lands in its own dataset, named after the GitHub account's numeric id — for example `github_acct_12345678` — rather than its login, so renaming the organization does not move its data. The connected dialog shows the exact name.

## Disconnecting

Disconnecting revokes the credential and stops the reading. What Cognee already learned from the connection stays in memory.

The Cognee GitHub App stays installed on the organization — removing it is a GitHub-side action. Reconnecting lets you pick the account or organization again: the same one picks up where it left off, a different one starts its own.
