Connect Garth to GitHub.com or GitHub Enterprise Server with a classic personal access token for automated code reviews.
Garth connects to GitHub in two ways: the Garth GitHub App or a classic personal access token (this page). Use a token when you run GitHub Enterprise Server, or when organization policy prevents installing a GitHub App. If neither applies, GitHub via App needs no token rotation.
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.
The token owner must be an admin of the organization, or of every repository
you want reviewed. The scopes below only grant what that account is already
allowed to do. Token expiry is managed by you — Garth stops reviewing when the
token lapses.
Do not use a personal user account. Code reviews are attributed to the token
owner. Create a dedicated service account named GPRABot for this integration
and grant it admin access to the organization or target repositories.
1
Authenticate as the service account
Log into GitHub using the dedicated Garth service account.
2
Open token settings
Go to Settings → Developer settings → Personal access tokens (classic) and click Generate new token (classic).
Garth requires a classic token. Fine-grained personal access tokens are not supported.
3
Name the token and set expiry
Give the token a clear name such as Garth PR Token and choose an expiry. Record the expiry date — when the token lapses, Garth stops reviewing until you replace it in the dashboard.
4
Select token scopes
Enable the following scopes:
Scope
Purpose
repo
Clone repositories and use the pull request APIs
read:org
Read organization and team details
user:email
Read the account email address
admin:repo_hook
Create and update repository webhooks
5
Save the token
Click Generate token and copy it immediately — GitHub displays it only once.
Select the GitHub tab, then choose Personal Access Token.
Choose how to connect GitHub: the Garth GitHub App or a Personal Access Token
3
Enter your credentials
Provide the Organization or User URL and the Personal Access Token you just created, then click Validate.
Organization: https://github.com/orgs/your-org
Personal account: https://github.com/your-username
GitHub Enterprise Server: use your server host, for example https://github.example.com/orgs/your-org
The token is encrypted at rest on Garth’s servers. Your source code is never stored on Garth’s servers.
Enter your Organization or User URL and Personal Access Token, then click Validate
4
Confirm and save
Garth validates the token, shows the account it resolved, then saves the credentials and fetches your repositories.
5
Install repositories
Select the repositories you want Garth to review and click Install Repositories.
Automatic webhooks: Garth installs webhooks on selected repositories automatically. No manual webhook configuration is required. Webhooks are also removed automatically when you uninstall a repository.
Check the token type — Garth requires a classic personal access token. Fine-grained tokens fail validation.
Check the scopes — confirm repo, read:org, user:email, and admin:repo_hook are all selected. Scopes cannot be added to an existing classic token; regenerate it if one is missing.
Check the URL format — use https://github.com/orgs/your-org for an organization or https://github.com/your-username for a personal account.
Check SSO enforcement — if your organization uses SAML SSO, authorize the token for SSO from Settings → Developer settings → Personal access tokens (classic) in GitHub.
Confirm no existing connection is blocking — only one GitHub connection can be active at a time. Uninstall the Garth GitHub App first if it is still installed.
Webhook issues
If Garth is not reviewing pull requests on an installed repository:
Check webhook status — in the repository’s Settings → Webhooks, verify the Garth webhook exists and recent deliveries succeeded.
Verify admin access — the token owner needs admin access on the repository for admin:repo_hook to create webhooks.
Delete a stale webhook manually, then untoggle and re-toggle the repository in the Garth dashboard to reinstall it.
Not receiving reviews
If Garth is installed but you are not receiving reviews:
Verify Auto Review is enabled — ensure the Auto Review toggle is turned on for the repository.
Check branch exclusions — confirm the source or destination branch of your PR is not listed under Source Branches to Exclude or Destination Branches to Exclude.
Check file exclusions — verify that the files changed in your PR are not covered by patterns in Files to Exclude.
Token expired or rotated
Classic tokens expire on the date you set. When a token lapses or you rotate the service account:
Generate a replacement token with the same scopes.
Update it in Garth — go to Settings → Integrations → GitHub and re-enter the credentials, then click Validate.
Re-check repository tracking — confirm your repositories are still installed and activated.
Switch to the GitHub App
Only one GitHub connection can be active at a time. To move from a token to the App:
Disconnect the token — in Garth, go to Settings → Integrations → GitHub and remove the existing connection.
Wait a few minutes and reload the integrations page.
{"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-pat","slug":"/setup/github-pat","pageMetadata":{"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":"/logo/git/github.svg","href":"/setup/github-pat"},"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: \"Connect Garth to GitHub.com or GitHub Enterprise Server with a classic personal access token for automated code reviews.\"\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`,code:`code`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Frame,Heading,Info,Note,OptimizedImage,Step,Steps,Table,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(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,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`}),` or a `,_jsx(_components.strong,{children:`classic personal access token`}),` (this page). Use a token when you run GitHub Enterprise Server, or when organization policy prevents installing a GitHub App. If neither applies, `,_jsx(_components.a,{href:`/setup/github-app`,children:`GitHub via App`}),` needs no token rotation.`]}),`\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(Info,{children:_jsx(_components.p,{children:`The token owner must be an admin of the organization, or of every repository\nyou want reviewed. The scopes below only grant what that account is already\nallowed to do. Token expiry is managed by you — Garth stops reviewing when the\ntoken lapses.`})}),`\n`,_jsx(Heading,{level:`2`,id:`step-1-create-a-classic-personal-access-token`,children:`Step 1: Create a classic personal access token`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Do not use a personal user account. Code reviews are attributed to the token\nowner. Create a dedicated service account named `,_jsx(_components.code,{children:`GPRABot`}),` for this integration\nand grant it admin access to the organization or target repositories.`]})}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Authenticate as the service account`,children:_jsx(_components.p,{children:`Log into GitHub using the dedicated Garth service account.`})}),_jsxs(Step,{title:`Open token settings`,children:[_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Settings → Developer settings → Personal access tokens (classic)`}),` and click `,_jsx(_components.strong,{children:`Generate new token (classic)`}),`.`]}),_jsx(Note,{children:_jsxs(_components.p,{children:[`Garth requires a `,_jsx(_components.strong,{children:`classic`}),` token. Fine-grained personal access tokens are not supported.`]})})]}),_jsx(Step,{title:`Name the token and set expiry`,children:_jsxs(_components.p,{children:[`Give the token a clear name such as `,_jsx(_components.code,{children:`Garth PR Token`}),` and choose an expiry. Record the expiry date — when the token lapses, Garth stops reviewing until you replace it in the dashboard.`]})}),_jsxs(Step,{title:`Select token scopes`,children:[_jsx(_components.p,{children:`Enable the following scopes:`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Purpose`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`repo`})}),_jsx(_components.td,{children:`Clone repositories and use the pull request APIs`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`read:org`})}),_jsx(_components.td,{children:`Read organization and team details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`user:email`})}),_jsx(_components.td,{children:`Read the account email address`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`admin:repo_hook`})}),_jsx(_components.td,{children:`Create and update repository webhooks`})]})]})]})]}),_jsx(Step,{title:`Save the token`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Generate token`}),` and copy it immediately — `,_jsx(_components.strong,{children:`GitHub displays it only once.`})]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`step-2-link-to-garth`,children:`Step 2: Link to Garth`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open Garth integrations`,children:_jsxs(_components.p,{children:[`Log into the `,_jsx(_components.a,{href:`https://app.heygarth.ai/`,children:`Garth dashboard`}),` and navigate to `,_jsx(_components.a,{href:`https://app.heygarth.ai/settings/integrations`,children:`Settings → Integrations`}),`.`]})}),_jsxs(Step,{title:`Choose the token method`,children:[_jsxs(_components.p,{children:[`Select the `,_jsx(_components.strong,{children:`GitHub`}),` tab, then choose `,_jsx(_components.strong,{children:`Personal Access Token`}),`.`]}),_jsx(Frame,{caption:`Choose how to connect GitHub: the Garth GitHub App or a Personal Access Token`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/na-f445b234/fN_JQ_Q5_GrbY_HS/images/setup/github_connection_options.png?fit=max\u0026auto=format\u0026n=fN_JQ_Q5_GrbY_HS\u0026q=85\u0026s=390010002911f264d3586f5a5ca87352`,alt:`Garth GitHub integration settings showing the GitHub App and Personal Access Token connection options`,\"data-og-width\":`1612`,width:`1612`,\"data-og-height\":`451`,height:`451`,\"data-path\":`images/setup/github_connection_options.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/na-f445b234/fN_JQ_Q5_GrbY_HS/images/setup/github_connection_options.png?w=280\u0026fit=max\u0026auto=format\u0026n=fN_JQ_Q5_GrbY_HS\u0026q=85\u0026s=20f7f15bbd3eca528c4846b0e9d681ec 280w, https://mintcdn.com/na-f445b234/fN_JQ_Q5_GrbY_HS/images/setup/github_connection_options.png?w=560\u0026fit=max\u0026auto=format\u0026n=fN_JQ_Q5_GrbY_HS\u0026q=85\u0026s=ffad3d3b8f0011f825e9b08920eec0ce 560w, https://mintcdn.com/na-f445b234/fN_JQ_Q5_GrbY_HS/images/setup/github_connection_options.png?w=840\u0026fit=max\u0026auto=format\u0026n=fN_JQ_Q5_GrbY_HS\u0026q=85\u0026s=d5e41b8517426e350436cb0645572dc7 840w, https://mintcdn.com/na-f445b234/fN_JQ_Q5_GrbY_HS/images/setup/github_connection_options.png?w=1100\u0026fit=max\u0026auto=format\u0026n=fN_JQ_Q5_GrbY_HS\u0026q=85\u0026s=b197d5baa4f4e6ca3d33962752ac4b74 1100w, https://mintcdn.com/na-f445b234/fN_JQ_Q5_GrbY_HS/images/setup/github_connection_options.png?w=1650\u0026fit=max\u0026auto=format\u0026n=fN_JQ_Q5_GrbY_HS\u0026q=85\u0026s=a4f78f13f20cd7be56dcdebd20ee6754 1650w, https://mintcdn.com/na-f445b234/fN_JQ_Q5_GrbY_HS/images/setup/github_connection_options.png?w=2500\u0026fit=max\u0026auto=format\u0026n=fN_JQ_Q5_GrbY_HS\u0026q=85\u0026s=e4bc0e7e49041510093fe8666d1881c6 2500w`})})]}),_jsxs(Step,{title:`Enter your credentials`,children:[_jsxs(_components.p,{children:[`Provide the `,_jsx(_components.strong,{children:`Organization or User URL`}),` and the `,_jsx(_components.strong,{children:`Personal Access Token`}),` you just created, then click `,_jsx(_components.strong,{children:`Validate`}),`.`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Organization: `,_jsx(_components.code,{children:`https://github.com/orgs/your-org`})]}),`\n`,_jsxs(_components.li,{children:[`Personal account: `,_jsx(_components.code,{children:`https://github.com/your-username`})]}),`\n`,_jsxs(_components.li,{children:[`GitHub Enterprise Server: use your server host, for example `,_jsx(_components.code,{children:`https://github.example.com/orgs/your-org`})]}),`\n`]}),_jsx(Info,{children:_jsxs(_components.p,{children:[`The token is encrypted at rest on Garth’s servers. `,_jsx(_components.strong,{children:`Your source code is never stored on Garth’s servers.`})]})}),_jsx(Frame,{caption:`Enter your Organization or User URL and Personal Access Token, then click Validate`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/na-f445b234/fN_JQ_Q5_GrbY_HS/images/setup/github_PAT_integration.png?fit=max\u0026auto=format\u0026n=fN_JQ_Q5_GrbY_HS\u0026q=85\u0026s=30ea0923b47a34474881da75a524ace3`,alt:`Garth GitHub integration form with Organization or User URL and Personal Access Token fields and the required token scopes`,\"data-og-width\":`1613`,width:`1613`,\"data-og-height\":`755`,height:`755`,\"data-path\":`images/setup/github_PAT_integration.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/na-f445b234/fN_JQ_Q5_GrbY_HS/images/setup/github_PAT_integration.png?w=280\u0026fit=max\u0026auto=format\u0026n=fN_JQ_Q5_GrbY_HS\u0026q=85\u0026s=52267826441293f2c002e512ab60d643 280w, https://mintcdn.com/na-f445b234/fN_JQ_Q5_GrbY_HS/images/setup/github_PAT_integration.png?w=560\u0026fit=max\u0026auto=format\u0026n=fN_JQ_Q5_GrbY_HS\u0026q=85\u0026s=7d04fc68ba0d4f4a48051c12ad2162dc 560w, https://mintcdn.com/na-f445b234/fN_JQ_Q5_GrbY_HS/images/setup/github_PAT_integration.png?w=840\u0026fit=max\u0026auto=format\u0026n=fN_JQ_Q5_GrbY_HS\u0026q=85\u0026s=95ab54f52c25a0b2750852694e870a5f 840w, https://mintcdn.com/na-f445b234/fN_JQ_Q5_GrbY_HS/images/setup/github_PAT_integration.png?w=1100\u0026fit=max\u0026auto=format\u0026n=fN_JQ_Q5_GrbY_HS\u0026q=85\u0026s=758c42996f9597629da3c705efee4884 1100w, https://mintcdn.com/na-f445b234/fN_JQ_Q5_GrbY_HS/images/setup/github_PAT_integration.png?w=1650\u0026fit=max\u0026auto=format\u0026n=fN_JQ_Q5_GrbY_HS\u0026q=85\u0026s=1b9183784f83389efc14a6358d23a230 1650w, https://mintcdn.com/na-f445b234/fN_JQ_Q5_GrbY_HS/images/setup/github_PAT_integration.png?w=2500\u0026fit=max\u0026auto=format\u0026n=fN_JQ_Q5_GrbY_HS\u0026q=85\u0026s=2e54fc1bcdefbc62eeb525186d6ee9bc 2500w`})})]}),_jsx(Step,{title:`Confirm and save`,children:_jsx(_components.p,{children:`Garth validates the token, shows the account it resolved, then saves the credentials and fetches your repositories.`})}),_jsxs(Step,{title:`Install repositories`,children:[_jsxs(_components.p,{children:[`Select the repositories you want Garth to review and click `,_jsx(_components.strong,{children:`Install Repositories`}),`.`]}),_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Automatic webhooks:`}),` Garth installs webhooks on selected repositories automatically. No manual webhook configuration is required. Webhooks are also removed automatically when you uninstall a repository.`]})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`step-3-activate-and-configure-the-repository`,children:`Step 3: Activate and configure the repository`}),`\n`,_jsxs(_components.p,{children:[`After installation, activate each repository under `,_jsx(_components.a,{href:`https://app.heygarth.ai/agents/pr-review/repository-setup`,children:`Agent Setup → PR Review → Repository Setup`}),`.`]}),`\n`,_jsx(_components.p,{children:`Once a repository is activated, you can configure the following options:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Files to Exclude`}),` — specify file patterns that Garth should skip during reviews.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Source Branches to Exclude`}),` — exclude PRs originating from certain branches.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Destination Branches to Exclude`}),` — exclude PRs targeting certain branches.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Auto Review`}),` — enable or disable automatic reviews for new PRs on this repository.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Repository PR Review Guidelines`}),` — define custom review guidelines specific to this repository.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Validation fails`,id:`validation-fails`,children:[_jsxs(_components.p,{children:[`If `,_jsx(_components.strong,{children:`Validate`}),` rejects your credentials:`]}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check the token type`}),` — Garth requires a `,_jsx(_components.strong,{children:`classic`}),` personal access token. Fine-grained tokens fail validation.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check the scopes`}),` — confirm `,_jsx(_components.code,{children:`repo`}),`, `,_jsx(_components.code,{children:`read:org`}),`, `,_jsx(_components.code,{children:`user:email`}),`, and `,_jsx(_components.code,{children:`admin:repo_hook`}),` are all selected. Scopes cannot be added to an existing classic token; regenerate it if one is missing.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check the URL format`}),` — use `,_jsx(_components.code,{children:`https://github.com/orgs/your-org`}),` for an organization or `,_jsx(_components.code,{children:`https://github.com/your-username`}),` for a personal account.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check SSO enforcement`}),` — if your organization uses SAML SSO, authorize the token for SSO from `,_jsx(_components.strong,{children:`Settings → Developer settings → Personal access tokens (classic)`}),` in GitHub.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Confirm no existing connection is blocking`}),` — only one GitHub connection can be active at a time. Uninstall the Garth GitHub App first if it is still installed.`]}),`\n`]})]}),_jsxs(Accordion,{title:`Webhook issues`,id:`webhook-issues`,children:[_jsx(_components.p,{children:`If Garth is not reviewing pull requests on an installed repository:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check webhook status`}),` — in the repository’s `,_jsx(_components.strong,{children:`Settings → Webhooks`}),`, verify the Garth webhook exists and recent deliveries succeeded.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Verify admin access`}),` — the token owner needs admin access on the repository for `,_jsx(_components.code,{children:`admin:repo_hook`}),` to create webhooks.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Delete a stale webhook`}),` manually, then untoggle and re-toggle the repository in the Garth dashboard to reinstall it.`]}),`\n`]})]}),_jsxs(Accordion,{title:`Not receiving reviews`,id:`not-receiving-reviews`,children:[_jsx(_components.p,{children:`If Garth is installed but you are not receiving reviews:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check repository activation`}),` — go to `,_jsx(_components.a,{href:`https://app.heygarth.ai/agents/pr-review/repository-setup`,children:`Agent Setup → PR Review → Repository Setup`}),` and confirm the repository is activated.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Verify Auto Review is enabled`}),` — ensure the `,_jsx(_components.strong,{children:`Auto Review`}),` toggle is turned on for the repository.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check branch exclusions`}),` — confirm the source or destination branch of your PR is not listed under `,_jsx(_components.strong,{children:`Source Branches to Exclude`}),` or `,_jsx(_components.strong,{children:`Destination Branches to Exclude`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check file exclusions`}),` — verify that the files changed in your PR are not covered by patterns in `,_jsx(_components.strong,{children:`Files to Exclude`}),`.`]}),`\n`]})]}),_jsxs(Accordion,{title:`Token expired or rotated`,id:`token-expired-or-rotated`,children:[_jsx(_components.p,{children:`Classic tokens expire on the date you set. When a token lapses or you rotate the service account:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Generate a replacement token`}),` with the same scopes.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Update it in Garth`}),` — go to `,_jsx(_components.strong,{children:`Settings → Integrations → GitHub`}),` and re-enter the credentials, then click `,_jsx(_components.strong,{children:`Validate`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Re-check repository tracking`}),` — confirm your repositories are still installed and activated.`]}),`\n`]})]}),_jsxs(Accordion,{title:`Switch to the GitHub App`,id:`switch-to-the-github-app`,children:[_jsx(_components.p,{children:`Only one GitHub connection can be active at a time. To move from a token to the App:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Disconnect the token`}),` — in Garth, go to `,_jsx(_components.strong,{children:`Settings → Integrations → GitHub`}),` and remove the existing connection.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Wait a few minutes`}),` and reload the integrations page.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Install the App`}),` — follow `,_jsx(_components.a,{href:`/setup/github-app`,children:`GitHub via App`}),`.`]}),`\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 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":"/logo/git/github.svg","href":"/setup/github-pat"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Step 1: Create a classic personal access token","slug":"step-1-create-a-classic-personal-access-token","depth":2,"children":[]},{"title":"Step 2: Link to Garth","slug":"step-2-link-to-garth","depth":2,"children":[]},{"title":"Step 3: Activate and configure the repository","slug":"step-3-activate-and-configure-the-repository","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"na-f445b234","siteName":"Garth","title":"GitHub via PAT - Garth","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-27T08:29:30.964Z","originalFileLocation":"setup/github-pat.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=\"Connect Garth to GitHub.com or GitHub Enterprise Server with a classic personal access token for automated code reviews.\">\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 PAT - Garth\">\u003cmeta data-mint-head property=\"og:description\" content=\"Connect Garth to GitHub.com or GitHub Enterprise Server with a classic personal access token for automated code reviews.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Garth\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.heygarth.ai/setup/github-pat\">\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+PAT\u0026amp;description=Connect+Garth+to+GitHub.com+or+GitHub+Enterprise+Server+with+a+classic+personal+access+token+for+automated+code+reviews.\u0026amp;theme=f6818c8f2129b8c847831b3c\u0026amp;signature=4740e0cdde7721c9ff4df16425dfbb53d6323db0370001da8eea9c934e89cc95\">\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 PAT - Garth\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Connect Garth to GitHub.com or GitHub Enterprise Server with a classic personal access token for automated code reviews.\">\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+PAT\u0026amp;description=Connect+Garth+to+GitHub.com+or+GitHub+Enterprise+Server+with+a+classic+personal+access+token+for+automated+code+reviews.\u0026amp;theme=f6818c8f2129b8c847831b3c\u0026amp;signature=4740e0cdde7721c9ff4df16425dfbb53d6323db0370001da8eea9c934e89cc95\">\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-pat\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/setup/github-pat.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-pat#webpage\",\"url\":\"https://docs.heygarth.ai/setup/github-pat\",\"name\":\"GitHub via PAT\",\"description\":\"Connect Garth to GitHub.com or GitHub Enterprise Server with a classic personal access token for automated code reviews.\",\"dateModified\":\"2026-08-27T08:29:30.964Z\",\"isPartOf\":{\"@id\":\"https://docs.heygarth.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.heygarth.ai/setup/github-pat#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.heygarth.ai/setup/github-pat#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Set up your repository\",\"item\":\"https://docs.heygarth.ai/setup/github-app\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GitHub via PAT\",\"item\":\"https://docs.heygarth.ai/setup/github-pat\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.heygarth.ai/setup/github-pat#article\",\"headline\":\"GitHub via PAT\",\"name\":\"GitHub via PAT\",\"description\":\"Connect Garth to GitHub.com or GitHub Enterprise Server with a classic personal access token for automated code reviews.\",\"url\":\"https://docs.heygarth.ai/setup/github-pat\",\"mainEntityOfPage\":{\"@id\":\"https://docs.heygarth.ai/setup/github-pat#webpage\"},\"dateModified\":\"2026-08-27T08:29:30.964Z\",\"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-pat.md","siteName":"Garth","nav":{"global":null,"tabs":[{"tab":"Garth","groups":[{"group":"Get started","pages":[{"title":"Overview","icon":"hand-wave","href":"/overview"}]},{"group":"Set up your repository","pages":[{"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":"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","icon":"https://mintlify.s3.us-west-1.amazonaws.com/na-f445b234/logo/git/github.svg","href":"/setup/github-pat"},{"title":"Bitbucket","description":"Connect Garth to your Bitbucket Cloud repositories for AI-driven pull request reviews and inline code feedback.","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 PAT - 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"]}