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

# Connect GitHub to Canvas

> Install the Honeycomb GitHub App and connect your account so the Canvas Agent can use repositories, pull requests, and issues.

export const HnyIcon = ({alias, path, size = 16, iconColor}) => {
  const iconMap = {
    "home": "house.svg",
    "marker": "caretFilledDown.svg",
    "show-marker-options": "chatTextLeft.svg",
    "download": "arrowLineDown.svg",
    "trace-waterfall": "trace.svg",
    "show-query-details": "listDashes.svg",
    "table": "table.svg",
    "log-lines": "logLines.svg",
    "chart": "chartLine.svg",
    "show-settings": "gear.svg",
    "add": "plus.svg",
    "remove": "delete.svg",
    "persist": "caretDown.svg",
    "close": "close.svg",
    "copy": "copy.svg",
    "zoom-in": "magnifyingGlassPlus.svg",
    "zoom-out": "magnifyingGlassMinus.svg",
    "color-assignment": "drop.svg",
    "drag": "dots-six-vertical.svg",
    "drawer": "drawer.svg",
    "show-actions": "dotsThree.svg",
    "edit": "pencil.svg",
    "delete": "trash.svg",
    "move": "arrowsOutCardinal.svg",
    "show-legend": "circleInfo.svg",
    "usage-ok": "usageGood.svg",
    "usage-warning": "usageWarning.svg",
    "usage-danger": "usageDanger.svg",
    "open-query-builder": "query.svg",
    "home-menu": "house.svg",
    "query-menu": "query.svg",
    "boards-menu": "board.svg",
    "triggers-menu": "bell.svg",
    "slos-menu": "handshake.svg",
    "service-map-menu": "serviceMap.svg",
    "history-menu": "clockCounterClockwise.svg",
    "manage-data-menu": "cube.svg",
    "usage-menu": "usageGood.svg",
    "canvas-menu": "sparkle.svg",
    "anomalies-menu": "anomalies.svg",
    "show-details": "dotsThreeVertical.svg",
    "resize-handle": "board-panel-resize-handle.png",
    "standard-dataset": "cube.svg",
    "trace-dataset": "cubeChat.svg",
    "all-datasets": "linkedSquares.svg",
    "share": "arrowBentRight.svg",
    "run-in-query-builder": "arrowSquareUpRight.svg",
    "link": "link.svg",
    "text": "text.svg",
    "receive": "arrowLineDown.svg",
    "process": "lightning.svg",
    "sample": "drop.svg",
    "send": "arrowLineUp.svg",
    "submit": "arrowUp.svg",
    "canvas-menu": "sparkle.svg",
    "canvas": "sparkle.svg",
    "chat-about-this-page": "sparkle.svg",
    "private": "lockKey.svg",
    "shared": "people.svg",
    "expand": "caretDown.svg",
    "previous": "caretLeft.svg",
    "next": "caretRight.svg",
    "expand-chat": "caretLeft.svg",
    "minimize-chat": "caretRight.svg",
    "open-in-canvas": "arrowSquareUpRight.svg",
    "send-test": "EnvelopeSimple.svg",
    "ai-ecosystem": "robot.svg"
  };
  const iconBasePath = "/_assets/icons/";
  const iconPath = path || (alias ? `${iconBasePath}${iconMap[alias]}` : undefined);
  return <span className="hny-icon" style={{
    display: "inline-block",
    width: `${size}px`,
    height: `${size}px`,
    maskImage: `url(${iconPath})`,
    maskSize: "contain",
    maskRepeat: "no-repeat",
    maskPosition: "center",
    WebkitMaskImage: `url(${iconPath})`,
    WebkitMaskSize: "contain",
    WebkitMaskRepeat: "no-repeat",
    WebkitMaskPosition: "center",
    backgroundColor: iconColor || "var(--hny-icon-color)",
    verticalAlign: "middle"
  }} />;
};

Connect your GitHub account to let the Canvas Agent use your code during an investigation.

GitHub takes one step the other connectors do not.
A Honeycomb Team Owner installs the Honeycomb GitHub App on a GitHub organization or account.
Each person then connects their own GitHub account.
GitHub becomes available only when both are done.

<Tip>
  Connectors work per user and per Honeycomb Team.
  You connect your own account, and the Canvas Agent uses the connected service as your account.
  Connecting a connector does not connect it for anyone else on your Honeycomb Team.
  If you belong to more than one Honeycomb Team, connect your account in each Team.
  Your [tool permissions](/investigate/canvas/connectors/#managing-tool-permissions) also apply only to you, in one Honeycomb Team.
  There are no Team-level connector controls yet.

  Connectors work through your account, so an [automatic investigation](/investigate/canvas/auto-investigate/) has no connector access at all.
</Tip>

## What the Canvas Agent can do

Read repositories, code, commits, branches, releases, pull requests, and issues.

<Note>
  The GitHub connector is read-only.
  The Canvas Agent cannot change anything in your repositories.
</Note>

All GitHub tools are read-only tools, so the Canvas Agent runs them without asking, when your investigation needs them.
To change this, visit [Managing tool permissions](/investigate/canvas/connectors/#managing-tool-permissions).

## Access this connector grants

<Warning>
  The Canvas Agent authenticates to GitHub with your identity.
  It can access metadata for any repository, public or private, that your GitHub account can see.
  The GitHub App installation permissions restrict the private repository contents it is allowed to read.
</Warning>

To let the Canvas Agent read more private repositories, add them to the Honeycomb GitHub App installation on GitHub.

## Before you connect

* If your GitHub organization uses SAML single sign-on, you must have an active SSO session when you authorize the Honeycomb GitHub App.
  Otherwise, the Canvas Agent cannot access that organization.
* The GitHub connector works with GitHub.com only.
  GitHub Enterprise Server and GitHub Enterprise Cloud with data residency (GHE.com) are not supported.

## Installing the Honeycomb GitHub App

<Info>
  To complete this task, you must be a [Team Owner](/configure/teams/manage-permissions/).
</Info>

1. Navigate to <HnyIcon alias="canvas" /> **Canvas** > **Connectors**.
2. Find **GitHub** in the connector list and select **Connect**.
3. On GitHub, choose the organization or account, and the repositories.
4. Install and authorize the Honeycomb GitHub App.

Honeycomb returns you to the **Connectors** page.
The install also connects your own GitHub account for this Honeycomb Team.

<Note>
  To install the App on a GitHub organization, you must be an owner of that organization.
  If you are not an owner, GitHub sends an install request to the organization owners.
  GitHub stays unavailable in Honeycomb until the App is installed.
</Note>

You can also install the App from **Account** > **Team Settings** > **Integrations**.
This also connects your GitHub account for that Honeycomb Team.

Each Honeycomb Team needs its own install.
Team Members who are not Team Owners see no **Connect** action until the App is installed.
The GitHub details show: *A team owner needs to install the GitHub App to enable this connector.*

## Connecting your GitHub account

1. Navigate to <HnyIcon alias="canvas" /> **Canvas** > **Connectors**.
2. Find **GitHub** in the connector list.
3. Select **Connect**.
4. Authorize the Honeycomb GitHub App for your account.

GitHub shows a **Connected** badge once the App is installed and your account is authorized.

## Reconnecting GitHub

When your GitHub authorization expires or someone revokes it, the GitHub row shows a warning and its action changes to **Reconnect**.
Select **Reconnect** and authorize the Honeycomb GitHub App again.

## Turning GitHub on or off

1. In a Canvas chat, select the <HnyIcon alias="add" /> plus (`+`) button.
2. Choose **Connectors**.
3. Use the toggle beside **GitHub**.

## Disconnecting GitHub

1. Navigate to <HnyIcon alias="canvas" /> **Canvas** > **Connectors**.
2. Find **GitHub** and select **Manage**.
3. Select **Disconnect**.

Disconnecting removes your GitHub authorization for this Honeycomb Team only.
The Honeycomb GitHub App stays installed, and other Team Members stay connected.

To uninstall the App, a Team Owner selects **Remove** in **Account** > **Team Settings** > **Integrations**.

To learn more, visit [Canvas Connectors](/investigate/canvas/connectors/).
