Install the Garth GitHub App on your organization or personal account for AI-powered automated code reviews and pull request feedback.
Garth connects to GitHub in two ways: the Garth GitHub App (this page) or a personal access token. Use the App when you want GitHub to manage permissions and you prefer not to rotate a token. For GitHub Enterprise Server, or when app installation is blocked by organization policy, use GitHub via PAT instead.
Only one GitHub connection can be active at a time. To switch methods, remove
the existing connection first — uninstall the Garth App, or disconnect the
token — then wait a few minutes and reload the integrations page.
You must have owner-level access for the GitHub organization or repository
you intend to connect. Without these administrative privileges you cannot
install the Garth GitHub App.
Copy the API key and store it securely. It is shown only once.
4
Install the Garth GitHub App
In Garth, go to Settings → Integrations, select the GitHub tab, choose GitHub App, and click Open Link — or navigate directly to the Garth GitHub App and click Install. Sign in to GitHub if prompted.
The Garth dashboard lists the installation steps and links out to GitHub
5
Choose your workspace
Select the GitHub organization or personal account where Garth should be installed.
If your organization does not appear, verify you have the correct administrative rights and check your GitHub App installation settings.
6
Configure repository scope
Choose which repositories Garth can access:
All repositories — installs Garth on every current and future repository.
Select repositories — restricts Garth to specific projects you choose manually.
Garth requires read/write access to pull requests and checks to post code reviews. Your source code is never stored on Garth’s servers.
Click Install to apply.
7
Activate with your API key
After clicking Install, you are redirected to the Garth platform. Enter
the API key you created earlier to complete the activation.
8
Start reviewing
Setup is complete. Open or update a pull request in any tracked repository to see Garth’s automated AI reviews in action.
Verify owner-level access — confirm you have Owner permissions for the organization or repository.
Check organization settings — some organizations restrict third-party app installations; an organization owner may need to approve Garth before installation succeeds.
Re-trigger the installation — return to the Garth GitHub App page and attempt the installation again.
Contact your GitHub admin — if organization policies block app installations, your GitHub organization administrator must grant approval.
Reviews not appearing
If Garth is installed but not reviewing pull requests:
Confirm repository scope — verify the repository is included under All repositories or is explicitly listed under Select repositories in your App installation settings.
Check API key activation — ensure you completed the API key activation step after installing the GitHub App.
Verify pull request events — Garth triggers on newly opened or updated pull requests. Re-open the PR or push a new commit to trigger a review.
Add or remove repositories
To change which repositories Garth can access after installation:
Open organization settings — in GitHub, go to your organization’s Settings.
Navigate to GitHub Apps — under Third-party Access, select GitHub Apps.
Locate GarthPRAgent — find the installed GarthPRAgent app and click Configure.
Update repository access — in the Repository access section, add or remove repositories as needed, then Save.
Switch to a personal access token
Only one GitHub connection can be active at a time. To move from the App to a token:
Uninstall the Garth GitHub App — in GitHub, open your organization’s Settings → Third-party Access → GitHub Apps, find GarthPRAgent, and uninstall it.
If you receive authentication or permission errors:
Re-authenticate — log out and back into the Garth dashboard and retry connecting your GitHub account.
Regenerate your API key — go to Developer → API Keys in Garth, revoke the old key, and create a new one.
Reinstall the GitHub App — uninstall and reinstall the Garth GitHub App from your GitHub organization settings.
Check SSO enforcement — if your organization uses SAML SSO, you may need to authorize the Garth GitHub App for SSO access from your GitHub personal settings.
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Garth","description":"Garth is an AI-powered code review agent that helps developers write better code by providing intelligent, context-aware feedback on pull requests.","colors":{"primary":"#7C3AED","light":"#1da6c8","dark":"#7C3AED"},"logo":{"light":"https://mintcdn.com/na-f445b234/lt6qWs3cfIZ6qzJc/logo/garth_light.png?fit=max\u0026auto=format\u0026n=lt6qWs3cfIZ6qzJc\u0026q=85\u0026s=95e855e51923c062bb16147c7d2152dc","dark":"https://mintcdn.com/na-f445b234/lt6qWs3cfIZ6qzJc/logo/garth_dark.png?fit=max\u0026auto=format\u0026n=lt6qWs3cfIZ6qzJc\u0026q=85\u0026s=f86b242f151f5f53c310361ba2edf25d"},"favicon":"https://mintcdn.com/na-f445b234/LGmp_ZNmd7sA8i8z/logo/garth.png?fit=max\u0026auto=format\u0026n=LGmp_ZNmd7sA8i8z\u0026q=85\u0026s=a0fd59aaee435e6798b7b2a25408f80d","background":{"decoration":"grid"},"navbar":{"primary":{"type":"button","label":"Support","href":"mailto:supports@darner.ai"}},"footer":{"socials":{"linkedin":"https://linkedin.com/company/darnerai"},"links":[{"header":"Company","items":[{"label":"Darner","href":"https://darner.ai/"},{"label":"HeyGarth","href":"https://heygarth.ai/"}]},{"header":"Products","items":[{"label":"G360","href":"https://heygarth.ai/"},{"label":"GReview","href":"https://heygarth.ai/"},{"label":"GScan","href":"https://heygarth.ai/"},{"label":"GAssist","href":"https://heygarth.ai/"}]}]},"icons":{"library":"fontawesome"},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"na-f445b234","hasAudioNarration":false,"actualSubdomain":"na-f445b234","customDomains":["docs.heygarth.ai"],"gitSource":{"type":"github","owner":"7thsense-dev","repo":"garth-docs-mintlify","deployBranch":"master","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6aec14a2b01e90649e52d4fa","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"G360","count":162},{"language":"default","tag":"Garth","count":33},{"language":"default","tag":"Integrations","count":27},{"language":"default","tag":"Administration","count":22},{"language":"default","tag":"GAssist","count":10},{"language":"default","tag":"Single Sign-On (SSO)","count":9},{"language":"default","tag":"Settings","count":7},{"language":"default","tag":"Identity Providers","count":7},{"language":"default","tag":"Getting Started","count":6},{"language":"default","tag":"Bring your own key","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"setup/github-app","slug":"/setup/github-app","pageMetadata":{"title":"GitHub via App","sidebarTitle":"GitHub via App","description":"Install the Garth GitHub App on your organization or personal account for AI-powered automated code reviews and pull request feedback.","icon":"/logo/git/github.svg","href":"/setup/github-app"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Install the Garth GitHub App on your organization or personal account for AI-powered automated code reviews and pull request feedback.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Frame,Heading,Info,OptimizedImage,Step,Steps,Tip,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Garth connects to GitHub in two ways: the `,_jsx(_components.strong,{children:`Garth GitHub App`}),` (this page) or a `,_jsx(_components.strong,{children:`personal access token`}),`. Use the App when you want GitHub to manage permissions and you prefer not to rotate a token. For GitHub Enterprise Server, or when app installation is blocked by organization policy, use `,_jsx(_components.a,{href:`/setup/github-pat`,children:`GitHub via PAT`}),` instead.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Only one GitHub connection can be active at a time. To switch methods, remove\nthe existing connection first — uninstall the Garth App, or disconnect the\ntoken — then wait a few minutes and reload the integrations page.`})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`You must have `,_jsx(_components.strong,{children:`owner-level access`}),` for the GitHub organization or repository\nyou intend to connect. Without these administrative privileges you cannot\ninstall the Garth GitHub App.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`connect-your-github-account`,children:`Connect your GitHub account`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Access the Garth portal`,children:_jsxs(_components.p,{children:[`Open your browser and navigate to the `,_jsx(_components.a,{href:`https://app.heygarth.ai/`,children:`Garth dashboard`}),`.`]})}),_jsxs(Step,{title:`Sign in`,children:[_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Continue with Google`}),` or `,_jsx(_components.strong,{children:`Continue with Microsoft`}),` to authenticate via OAuth.`]}),_jsx(Tip,{children:_jsxs(_components.p,{children:[`If you don’t have a Google or Microsoft account, sign up using username and password on `,_jsx(_components.a,{href:`https://app.heygarth.ai/`,children:`app.heygarth.ai`}),`.`]})})]}),_jsxs(Step,{title:`Create a Garth API key`,children:[_jsxs(_components.p,{children:[`In the left navigation, go to `,_jsx(_components.a,{href:`https://app.heygarth.ai/developer/api-keys`,children:_jsx(_components.strong,{children:`Developer → API Keys`})}),` and click `,_jsx(_components.strong,{children:`Create API Key`}),`.`]}),_jsx(Warning,{children:_jsx(_components.p,{children:`Copy the API key and store it securely. It is shown only once.`})})]}),_jsxs(Step,{title:`Install the Garth GitHub App`,children:[_jsxs(_components.p,{children:[`In Garth, go to `,_jsx(_components.a,{href:`https://app.heygarth.ai/settings/integrations`,children:_jsx(_components.strong,{children:`Settings → Integrations`})}),`, select the `,_jsx(_components.strong,{children:`GitHub`}),` tab, choose `,_jsx(_components.strong,{children:`GitHub App`}),`, and click `,_jsx(_components.strong,{children:`Open Link`}),` — or navigate directly to the `,_jsx(_components.a,{href:`https://github.com/apps/garthpragent`,children:`Garth GitHub App`}),` and click `,_jsx(_components.strong,{children:`Install`}),`. Sign in to GitHub if prompted.`]}),_jsx(Frame,{caption:`The Garth dashboard lists the installation steps and links out to GitHub`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/na-f445b234/fN_JQ_Q5_GrbY_HS/images/setup/github_app_install.png?fit=max\u0026auto=format\u0026n=fN_JQ_Q5_GrbY_HS\u0026q=85\u0026s=9e7b99d1e261d6af191d52acefd0f35f`,alt:`Garth GitHub App installation steps shown in the Garth dashboard`,\"data-og-width\":`1609`,width:`1609`,\"data-og-height\":`476`,height:`476`,\"data-path\":`images/setup/github_app_install.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/na-f445b234/fN_JQ_Q5_GrbY_HS/images/setup/github_app_install.png?w=280\u0026fit=max\u0026auto=format\u0026n=fN_JQ_Q5_GrbY_HS\u0026q=85\u0026s=4d0c736d5bac161166775c9e23203d24 280w, https://mintcdn.com/na-f445b234/fN_JQ_Q5_GrbY_HS/images/setup/github_app_install.png?w=560\u0026fit=max\u0026auto=format\u0026n=fN_JQ_Q5_GrbY_HS\u0026q=85\u0026s=437c1b918082340760b9226ebbd3de43 560w, https://mintcdn.com/na-f445b234/fN_JQ_Q5_GrbY_HS/images/setup/github_app_install.png?w=840\u0026fit=max\u0026auto=format\u0026n=fN_JQ_Q5_GrbY_HS\u0026q=85\u0026s=8eafcfeb455308206d9ea1f823e69e35 840w, https://mintcdn.com/na-f445b234/fN_JQ_Q5_GrbY_HS/images/setup/github_app_install.png?w=1100\u0026fit=max\u0026auto=format\u0026n=fN_JQ_Q5_GrbY_HS\u0026q=85\u0026s=a5d0c3308faae7193a5f11fca4d59930 1100w, https://mintcdn.com/na-f445b234/fN_JQ_Q5_GrbY_HS/images/setup/github_app_install.png?w=1650\u0026fit=max\u0026auto=format\u0026n=fN_JQ_Q5_GrbY_HS\u0026q=85\u0026s=ba5727750edc14b0f754be7a60efcafe 1650w, https://mintcdn.com/na-f445b234/fN_JQ_Q5_GrbY_HS/images/setup/github_app_install.png?w=2500\u0026fit=max\u0026auto=format\u0026n=fN_JQ_Q5_GrbY_HS\u0026q=85\u0026s=1d84b77f7376870442c74df37c0d800a 2500w`})})]}),_jsxs(Step,{title:`Choose your workspace`,children:[_jsx(_components.p,{children:`Select the GitHub organization or personal account where Garth should be installed.`}),_jsx(Tip,{children:_jsx(_components.p,{children:`If your organization does not appear, verify you have the correct administrative rights and check your GitHub App installation settings.`})})]}),_jsxs(Step,{title:`Configure repository scope`,children:[_jsx(_components.p,{children:`Choose which repositories Garth can access:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`All repositories`}),` — installs Garth on every current and future repository.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Select repositories`}),` — restricts Garth to specific projects you choose manually.`]}),`\n`]}),_jsx(Info,{children:_jsxs(_components.p,{children:[`Garth requires read/write access to pull requests and checks to post code reviews. `,_jsx(_components.strong,{children:`Your source code is never stored on Garth’s servers.`})]})}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Install`}),` to apply.`]})]}),_jsx(Step,{title:`Activate with your API key`,children:_jsxs(_components.p,{children:[`After clicking `,_jsx(_components.strong,{children:`Install`}),`, you are redirected to the Garth platform. Enter\nthe API key you created earlier to complete the activation.`]})}),_jsx(Step,{title:`Start reviewing`,children:_jsx(_components.p,{children:`Setup is complete. Open or update a pull request in any tracked repository to see Garth’s automated AI reviews in action.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`App installation issues`,id:`app-installation-issues`,children:[_jsx(_components.p,{children:`If you cannot install the Garth GitHub App:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Verify owner-level access`}),` — confirm you have `,_jsx(_components.strong,{children:`Owner`}),` permissions for the organization or repository.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check organization settings`}),` — some organizations restrict third-party app installations; an organization owner may need to approve Garth before installation succeeds.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Re-trigger the installation`}),` — return to the `,_jsx(_components.a,{href:`https://github.com/apps/garthpragent`,children:`Garth GitHub App`}),` page and attempt the installation again.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Contact your GitHub admin`}),` — if organization policies block app installations, your GitHub organization administrator must grant approval.`]}),`\n`]})]}),_jsxs(Accordion,{title:`Reviews not appearing`,id:`reviews-not-appearing`,children:[_jsx(_components.p,{children:`If Garth is installed but not reviewing pull requests:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Confirm repository scope`}),` — verify the repository is included under `,_jsx(_components.strong,{children:`All repositories`}),` or is explicitly listed under `,_jsx(_components.strong,{children:`Select repositories`}),` in your App installation settings.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check API key activation`}),` — ensure you completed the API key activation step after installing the GitHub App.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Verify pull request events`}),` — Garth triggers on newly opened or updated pull requests. Re-open the PR or push a new commit to trigger a review.`]}),`\n`]})]}),_jsxs(Accordion,{title:`Add or remove repositories`,id:`add-or-remove-repositories`,children:[_jsx(_components.p,{children:`To change which repositories Garth can access after installation:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Open organization settings`}),` — in GitHub, go to your organization’s `,_jsx(_components.strong,{children:`Settings`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Navigate to GitHub Apps`}),` — under `,_jsx(_components.strong,{children:`Third-party Access`}),`, select `,_jsx(_components.strong,{children:`GitHub Apps`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Locate GarthPRAgent`}),` — find the installed `,_jsx(_components.strong,{children:`GarthPRAgent`}),` app and click `,_jsx(_components.strong,{children:`Configure`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Update repository access`}),` — in the `,_jsx(_components.strong,{children:`Repository access`}),` section, add or remove repositories as needed, then `,_jsx(_components.strong,{children:`Save`}),`.`]}),`\n`]})]}),_jsxs(Accordion,{title:`Switch to a personal access token`,id:`switch-to-a-personal-access-token`,children:[_jsx(_components.p,{children:`Only one GitHub connection can be active at a time. To move from the App to a token:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Uninstall the Garth GitHub App`}),` — in GitHub, open your organization’s `,_jsx(_components.strong,{children:`Settings → Third-party Access → GitHub Apps`}),`, find `,_jsx(_components.strong,{children:`GarthPRAgent`}),`, and uninstall it.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Wait a few minutes`}),` and reload `,_jsx(_components.a,{href:`https://app.heygarth.ai/settings/integrations`,children:`Settings → Integrations`}),` in Garth.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Connect the token`}),` — follow `,_jsx(_components.a,{href:`/setup/github-pat`,children:`GitHub via PAT`}),`.`]}),`\n`]})]}),_jsxs(Accordion,{title:`Authentication errors`,id:`authentication-errors`,children:[_jsx(_components.p,{children:`If you receive authentication or permission errors:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Re-authenticate`}),` — log out and back into the `,_jsx(_components.a,{href:`https://app.heygarth.ai/`,children:`Garth dashboard`}),` and retry connecting your GitHub account.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Regenerate your API key`}),` — go to `,_jsx(_components.strong,{children:`Developer → API Keys`}),` in Garth, revoke the old key, and create a new one.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Reinstall the GitHub App`}),` — uninstall and reinstall the Garth GitHub App from your GitHub organization settings.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check SSO enforcement`}),` — if your organization uses SAML SSO, you may need to authorize the Garth GitHub App for SSO access from your GitHub personal settings.`]}),`\n`]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"GitHub via App","sidebarTitle":"GitHub via App","description":"Install the Garth GitHub App on your organization or personal account for AI-powered automated code reviews and pull request feedback.","icon":"/logo/git/github.svg","href":"/setup/github-app"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Connect your GitHub account","slug":"connect-your-github-account","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"na-f445b234","siteName":"Garth","title":"GitHub via App - Garth","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-27T08:29:30.976Z","originalFileLocation":"setup/github-app.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Install the Garth GitHub App on your organization or personal account for AI-powered automated code reviews and pull request feedback.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Garth\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/na-f445b234/IJ6e1UQ4wDHrJjJH/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/na-f445b234/IJ6e1UQ4wDHrJjJH/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/na-f445b234/IJ6e1UQ4wDHrJjJH/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/na-f445b234/IJ6e1UQ4wDHrJjJH/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/na-f445b234/IJ6e1UQ4wDHrJjJH/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/na-f445b234/IJ6e1UQ4wDHrJjJH/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/na-f445b234/IJ6e1UQ4wDHrJjJH/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/na-f445b234/IJ6e1UQ4wDHrJjJH/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/na-f445b234/IJ6e1UQ4wDHrJjJH/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"GitHub via App - Garth\">\u003cmeta data-mint-head property=\"og:description\" content=\"Install the Garth GitHub App on your organization or personal account for AI-powered automated code reviews and pull request feedback.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Garth\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.heygarth.ai/setup/github-app\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://na-f445b234.mintlify.site/_mintlify/api/og/v2?division=Set+up+your+repository\u0026amp;title=GitHub+via+App\u0026amp;description=Install+the+Garth+GitHub+App+on+your+organization+or+personal+account+for+AI-powered+automated+code+reviews+and+pull+request+feedback.\u0026amp;theme=f6818c8f2129b8c847831b3c\u0026amp;signature=7fd89d96073a71271ed2b02b3313b4f7fc90785d30122be4f60f9d8358a4f65c\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"GitHub via App - Garth\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Install the Garth GitHub App on your organization or personal account for AI-powered automated code reviews and pull request feedback.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://na-f445b234.mintlify.site/_mintlify/api/og/v2?division=Set+up+your+repository\u0026amp;title=GitHub+via+App\u0026amp;description=Install+the+Garth+GitHub+App+on+your+organization+or+personal+account+for+AI-powered+automated+code+reviews+and+pull+request+feedback.\u0026amp;theme=f6818c8f2129b8c847831b3c\u0026amp;signature=7fd89d96073a71271ed2b02b3313b4f7fc90785d30122be4f60f9d8358a4f65c\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/na-f445b234/IJ6e1UQ4wDHrJjJH/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Garth\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7C3AED\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.heygarth.ai/setup/github-app\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/setup/github-app.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.heygarth.ai/#organization\",\"name\":\"Garth\",\"url\":\"https://docs.heygarth.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/na-f445b234/lt6qWs3cfIZ6qzJc/logo/garth_light.png?fit=max\u0026auto=format\u0026n=lt6qWs3cfIZ6qzJc\u0026q=85\u0026s=95e855e51923c062bb16147c7d2152dc\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.heygarth.ai#website\",\"name\":\"Garth\",\"url\":\"https://docs.heygarth.ai\",\"publisher\":{\"@id\":\"https://docs.heygarth.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.heygarth.ai/setup/github-app#webpage\",\"url\":\"https://docs.heygarth.ai/setup/github-app\",\"name\":\"GitHub via App\",\"description\":\"Install the Garth GitHub App on your organization or personal account for AI-powered automated code reviews and pull request feedback.\",\"dateModified\":\"2026-08-27T08:29:30.976Z\",\"isPartOf\":{\"@id\":\"https://docs.heygarth.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.heygarth.ai/setup/github-app#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.heygarth.ai/setup/github-app#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Garth\",\"item\":\"https://docs.heygarth.ai\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GitHub via App\",\"item\":\"https://docs.heygarth.ai/setup/github-app\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.heygarth.ai/setup/github-app#article\",\"headline\":\"GitHub via App\",\"name\":\"GitHub via App\",\"description\":\"Install the Garth GitHub App on your organization or personal account for AI-powered automated code reviews and pull request feedback.\",\"url\":\"https://docs.heygarth.ai/setup/github-app\",\"mainEntityOfPage\":{\"@id\":\"https://docs.heygarth.ai/setup/github-app#webpage\"},\"dateModified\":\"2026-08-27T08:29:30.976Z\",\"publisher\":{\"@id\":\"https://docs.heygarth.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.heygarth.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Garth\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Garth\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/setup/github-app.md","siteName":"Garth","nav":{"global":null,"tabs":[{"tab":"Garth","groups":[{"group":"Get started","pages":[{"title":"Overview","description":"Garth connects to your Git platform to deliver AI-powered pull request reviews and continuous code scanning — directly in your existing workflow.","icon":"hand-wave","href":"/overview"}]},{"group":"Set up your repository","pages":[{"title":"GitHub via App","sidebarTitle":"GitHub via App","icon":"https://mintlify.s3.us-west-1.amazonaws.com/na-f445b234/logo/git/github.svg","href":"/setup/github-app"},{"title":"GitHub via PAT","sidebarTitle":"GitHub via PAT","description":"Connect Garth to GitHub.com or GitHub Enterprise Server with a classic personal access token for automated code reviews.","icon":"https://mintlify.s3.us-west-1.amazonaws.com/na-f445b234/logo/git/github.svg","href":"/setup/github-pat"},{"title":"Bitbucket","icon":"https://mintlify.s3.us-west-1.amazonaws.com/na-f445b234/logo/git/bitbucket.svg","href":"/setup/bitbucket"},{"title":"GitLab","icon":"https://mintlify.s3.us-west-1.amazonaws.com/na-f445b234/logo/git/gitlab.svg","href":"/setup/gitlab"},{"title":"Azure DevOps","icon":"https://mintlify.s3.us-west-1.amazonaws.com/na-f445b234/logo/git/azure_devops.svg","href":"/setup/azure-devops"}]},{"group":"GReview","pages":[{"title":"Features","icon":"sparkles","href":"/greview/features"},{"title":"Repository configuration","icon":"gear","href":"/greview/repository-configuration"},{"title":"Customize review","icon":"pen-to-square","href":"/greview/customize-review"}]},{"group":"GScan","pages":[{"title":"Features","icon":"sparkles","href":"/gscan/features"},{"title":"Code security","icon":"shield-check","href":"/gscan/code-security"},{"title":"Code quality","icon":"chart-line","href":"/gscan/code-quality"},{"title":"Repository configuration","icon":"gear","href":"/gscan/repository-configuration"}]},{"group":"GAssist","pages":[{"title":"Overview","icon":"wand-magic-sparkles","href":"/gassist/overview"},{"title":"Supported platforms","icon":"plug","href":"/gassist/supported-platforms"},{"group":"Connect with MS Teams","icon":"microsoft","pages":[{"title":"Getting started","sidebarTitle":"Overview","icon":"rocket","href":"/gassist/getting-started"},{"title":"Garth admin setup","sidebarTitle":"Garth admin setup","icon":"user-gear","href":"/gassist/admin-setup"},{"title":"Install in MS Teams","sidebarTitle":"Install in MS Teams","icon":"microsoft","href":"/gassist/teams-install"}]},{"group":"Connect with Slack","icon":"slack","pages":[{"title":"Getting started with Slack","sidebarTitle":"Overview","icon":"rocket","href":"/gassist/slack/getting-started"},{"title":"Garth admin setup","sidebarTitle":"Garth admin setup","icon":"user-gear","href":"/gassist/slack/admin-setup"}]},{"title":"Notifications","icon":"bell","href":"/gassist/notifications"},{"title":"PR cards","icon":"rectangle-list","href":"/gassist/pr-cards"},{"title":"Commands","icon":"terminal","href":"/gassist/commands"}]},{"group":"Bring your own key","pages":[{"title":"Bring Your Own Key","icon":"key","href":"/byok/overview"},{"title":"Claude API Tier Limits","icon":"layer-group","href":"/byok/claude-tiers"},{"title":"OpenAI Models and Usage Tiers","icon":"robot","href":"/byok/openai-models"},{"title":"Gemini Models and Rate Limits","icon":"google","href":"/byok/gemini-models"},{"title":"Sarvam AI Models and Rate Limits","icon":"https://assets.sarvam.ai/assets/brand/logos/sarvam-logo-white.svg","href":"/byok/sarvam-ai"}]},{"group":"On-prem setup","pages":[{"title":"Setup Guideline","icon":"server","href":"/on-prem-setup/setup-guideline"},{"group":"OAuth App","pages":[{"title":"GitHub","icon":"https://mintlify.s3.us-west-1.amazonaws.com/na-f445b234/logo/git/github.svg","href":"/on-prem-setup/github"},{"title":"Azure DevOps","icon":"https://mintlify.s3.us-west-1.amazonaws.com/na-f445b234/logo/git/azure_devops.svg","href":"/on-prem-setup/azure-devops"},{"title":"GitLab","icon":"https://mintlify.s3.us-west-1.amazonaws.com/na-f445b234/logo/git/gitlab.svg","href":"/on-prem-setup/gitlab"},{"title":"Bitbucket","icon":"https://mintlify.s3.us-west-1.amazonaws.com/na-f445b234/logo/git/bitbucket.svg","href":"/on-prem-setup/bitbucket"}]}]}]},{"tab":"G360","pages":[{"title":"G360","href":"/g360/configure-setup-workflow"}]}]},"basePath":"","title":"GitHub via App - Garth","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-BXrZabKK.js","DynamicMarkdown-CtasenyM.js","zoom-image-lightbox-C5F0mVLH.js","lightbox-handle-r17bVUz3.js"]}