Give background environment builds approved access to your repositories with a GitHub App installation or GitLab group grant, separate from personal access.
Connect your Git provider so Replit can access repositories for shared environment builds. This walkthrough uses GitHub; you can also connect a GitLab group.An environment build runs without your personal chat session, so it needs a workspace connection rather than your Personal account connection. You must be a workspace administrator to configure shared access. Members can view it and manage their own personal sign-in.
This early-access workflow may not be available in every workspace.
GitHub: install the Replit GitHub App
1
Open your GitHub connection
Open Repositories and select Manage on the GitHub card. If you aren’t connected yet, select Connect and sign in first.
2
Configure shared access
Select Configure beside GitHub App.
3
Add your organization
Select Add GitHub organization to open GitHub’s installation page.Choose the organization where you want to install Replit. For an existing installation, select Configure.
4
Choose repository access
Choose All repositories or Only select repositories, review the requested permissions, and select Install. For an existing installation, select Update access instead. Your GitHub administrator may need to approve it.
5
Confirm the connection
Return to Replit and select Refresh if needed. Enable the organization for sandbox creation. Installation alone does not enable this access: in the example above, the organization still shows Enable.Confirm the organization is enabled before building your environment.
GitHub manages the installation’s repository permissions. Review those settings with your GitHub administrator if a repository is missing.
GitLab: connect a group and select projects
GitLab uses group and project grants, not a GitHub-style app installation.
1
Sign in to GitLab
Open Repositories and connect GitLab. Select Manage on its card, then open the workspace connection configuration to see your groups.
2
Connect your group
Choose Configure beside a group. Select the projects to share, then choose Connect group.
3
Confirm the connection
Confirm the group shows Connected. To change its selected projects later, choose Edit.
If a group or project is missing, check your GitLab permissions and your organization’s approval requirements.
Disconnect shared access
In Repositories > Manage > Configure, choose Disconnect for the saved GitHub workspace grant or GitLab group. This removes that workspace’s access through the grant, not your personal sign-in or the provider-side GitHub App installation.Builds and projects that rely on the grant lose repository access. Disconnecting a GitLab group also removes its Replit service account, memberships, and webhooks, and revokes existing build tokens.To keep a GitLab group connected but remove individual projects, use Edit instead. Removing projects revokes their workspace access and may invalidate existing build tokens.
Build your environment
Return to Create a reusable environment. If checkout fails, check the workspace connection and its repository permissions. Never put a personal token in a build step, source file, or image.For other development resources, see chat secrets or an external secrets manager for chat-only versus reusable access, and machine identities for provider trust. Neither replaces a workspace connection.
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Replit","colors":{"primary":"#FF3C00","light":"#FF3C00","dark":"#FF3C00"},"logo":{"light":"https://mintcdn.com/replit/j4of5To8jzehz0JK/logo/light.svg?fit=max\u0026auto=format\u0026n=j4of5To8jzehz0JK\u0026q=85\u0026s=6209cb5927b56fd1781133af05428373","dark":"https://mintcdn.com/replit/j4of5To8jzehz0JK/logo/dark.svg?fit=max\u0026auto=format\u0026n=j4of5To8jzehz0JK\u0026q=85\u0026s=9cbba158300d48c49d8b888e71015495","href":"/welcome"},"favicon":"https://mintcdn.com/replit/CmOMKRnamiqG44eH/favicon.ico?fit=max\u0026auto=format\u0026n=CmOMKRnamiqG44eH\u0026q=85\u0026s=c89a6df6f537373c946c7a5f0ac65475","appearance":{"default":"light"},"background":{"color":{"light":"#F6F5F4","dark":"#1E1E1F"}},"navbar":{"links":[],"primary":{"type":"button","label":"Start Building","href":"https://replit.com?ref=docs"}},"footer":{"socials":{"x":"https://x.com/replit","linkedin":"https://www.linkedin.com/company/repl-it","youtube":"https://www.youtube.com/@replit"}},"seo":{"metatags":{"og:site_name":"Replit Docs","twitter:site":"@replit","twitter:creator":"@replit","author":"Replit"},"indexing":"all"},"fonts":{"heading":{"family":"ABC Diatype Plus","weight":400,"source":"https://cdn.replit.com/dotcom/fonts/ABCDiatypePlusVariable.woff2","format":"woff2"},"body":{"family":"ABC Diatype Plus","weight":400,"source":"https://cdn.replit.com/dotcom/fonts/ABCDiatypePlusVariable.woff2","format":"woff2"}},"integrations":{"segment":{"key":"dMePKGC4BqfBivpe0Hvl8IoPpzSHgjdX"}},"contextual":{"options":["copy","view"],"display":"header"},"thumbnails":{"appearance":"light","background":"https://mintcdn.com/replit/j4of5To8jzehz0JK/thumb.png?fit=max\u0026auto=format\u0026n=j4of5To8jzehz0JK\u0026q=85\u0026s=a7db7f0256b2fa06810fb4d378e63cc5","fonts":{"family":"ABC Diatype Plus"}},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":"welcome"},{"language":"fr","navbar":{"links":[],"primary":{"type":"button","label":"Commencer à créer","href":"https://replit.com?ref=docs"}},"href":"fr/welcome"},{"language":"pt","hidden":false,"navbar":{"links":[],"primary":{"type":"button","label":"Comece a criar","href":"https://replit.com?ref=docs"}},"href":"pt/welcome"},{"language":"ja","hidden":false,"navbar":{"links":[],"primary":{"type":"button","label":"作成を開始","href":"https://replit.com?ref=docs"}},"href":"ja/welcome"},{"language":"ko","hidden":false,"navbar":{"links":[],"primary":{"type":"button","label":"빌드 시작하기","href":"https://replit.com?ref=docs"}},"href":"ko/welcome"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"replit","hasAudioNarration":false,"actualSubdomain":"replit","customDomains":["docs.replit.com","docs.repl.it"],"gitSource":{"type":"github","owner":"replit","repo":"replit-docs","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"issues":true,"edits":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af8dd237fd385b08ebd83e4","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"en","tag":"Features","count":367},{"language":"fr","tag":"Fonctionnalités","count":366},{"language":"ja","tag":"機能","count":366},{"language":"ko","tag":"기능","count":366},{"language":"pt","tag":"Funcionalidades","count":366},{"language":"en","tag":"Changelog","count":101},{"language":"fr","tag":"Journal des modifications","count":100},{"language":"ja","tag":"変更履歴","count":100},{"language":"ko","tag":"변경 내역","count":100},{"language":"pt","tag":"Registro de alterações","count":100},{"language":"en","tag":"Apps","count":41},{"language":"fr","tag":"Apps","count":41},{"language":"ja","tag":"Apps","count":41},{"language":"ko","tag":"Apps","count":41},{"language":"pt","tag":"Apps","count":41},{"language":"en","tag":"Enterprise","count":40},{"language":"fr","tag":"Entreprise","count":40},{"language":"ja","tag":"Enterprise","count":40},{"language":"ko","tag":"Enterprise","count":40},{"language":"pt","tag":"Enterprise","count":40},{"language":"en","tag":"Use cases","count":39},{"language":"fr","tag":"Use cases","count":39},{"language":"ja","tag":"Use cases","count":39},{"language":"ko","tag":"Use cases","count":39},{"language":"pt","tag":"Use cases","count":39},{"language":"en","tag":"Chats","count":25},{"language":"en","tag":"Designs","count":25},{"language":"fr","tag":"Chats","count":25},{"language":"fr","tag":"Designs","count":25},{"language":"ja","tag":"Chats","count":25},{"language":"ja","tag":"Designs","count":25},{"language":"ko","tag":"Chats","count":25},{"language":"ko","tag":"Designs","count":25},{"language":"pt","tag":"Chats","count":25},{"language":"pt","tag":"Designs","count":25},{"language":"en","tag":"Trust \u0026 Billing","count":23},{"language":"fr","tag":"Confiance et facturation","count":23},{"language":"ja","tag":"信頼と請求","count":23},{"language":"ko","tag":"신뢰 및 결제","count":23},{"language":"pt","tag":"Confiança e faturamento","count":23},{"language":"en","tag":"Web","count":22},{"language":"fr","tag":"Web","count":22},{"language":"ja","tag":"Web","count":22},{"language":"ko","tag":"Web","count":22},{"language":"pt","tag":"Web","count":22},{"language":"en","tag":"Help","count":20},{"language":"fr","tag":"Help","count":20},{"language":"ja","tag":"Help","count":20},{"language":"ko","tag":"Help","count":20},{"language":"pt","tag":"Help","count":20}]},"assistantConfig":{"deflection":{"enabled":true,"email":"support@replit.com"}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"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":"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},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","href":"/_mintlify/custom/replit/d427c49142834eef/styles.css"}],"page":{"pagePath":"build/code/install-git-app","slug":"/build/code/install-git-app","pageMetadata":{"title":"Install the Git Provider App","sidebarTitle":"Install the Git Provider App","description":"Give background environment builds approved access to your repositories with a GitHub App installation or GitLab group grant, separate from personal access.","href":"/build/code/install-git-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: \"Give background environment builds approved access to your repositories with a GitHub App installation or GitLab group grant, separate from personal access.\"\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`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading,Note,OptimizedImage,Step,Steps}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Connect your Git provider so Replit can access repositories for shared environment builds. This walkthrough uses GitHub; you can also `,_jsx(_components.a,{href:`#gitlab-connect-a-group-and-select-projects`,children:`connect a GitLab group`}),`.`]}),`\n`,_jsx(_components.p,{children:`An environment build runs without your personal chat session, so it needs a workspace connection rather than your Personal account connection. You must be a workspace administrator to configure shared access. Members can view it and manage their own personal sign-in.`}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`This early-access workflow may not be available in every workspace.`})}),`\n`,_jsx(Heading,{level:`2`,id:`github-install-the-replit-github-app`,children:`GitHub: install the Replit GitHub App`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Open your GitHub connection`,children:[_jsxs(_components.p,{children:[`Open `,_jsx(_components.a,{href:`https://replit.com/repos`,children:`Repositories`}),` and select `,_jsx(_components.strong,{children:`Manage`}),` on the GitHub card. If you aren’t connected yet, select `,_jsx(_components.strong,{children:`Connect`}),` and sign in first.`]}),_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/provider-cards.jpg?fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=ca5ffa6fc9d3849fc57a26746f4030f9`,alt:`Repositories page with the GitHub and GitLab connection cards highlighted.`,style:{width:`100%`,height:`auto`,maxHeight:`none`},\"data-og-width\":`1717`,width:`1717`,\"data-og-height\":`996`,height:`996`,\"data-path\":`images/git-provider/provider-cards.jpg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/provider-cards.jpg?w=280\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=0325b0418ba24adf2e3e3329ab44286a 280w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/provider-cards.jpg?w=560\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=1ad3e3398034d765ead9a19377096f46 560w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/provider-cards.jpg?w=840\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=f25e1ef715513c0767cb5d124a15c333 840w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/provider-cards.jpg?w=1100\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=7b9f85eaed5977e36e22170515d27ba8 1100w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/provider-cards.jpg?w=1650\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=fe63ec22483a9be3f979ed6f5d85c3c5 1650w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/provider-cards.jpg?w=2500\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=ea8e2e7c7707b5ce2f41d7313842f844 2500w`})]}),_jsxs(Step,{title:`Configure shared access`,children:[_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Configure`}),` beside `,_jsx(_components.strong,{children:`GitHub App`}),`.`]}),_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/configure-github.jpg?fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=78c6766b8632ed165ee1b8d2e11251ae`,alt:`GitHub connection dialog with the Configure button highlighted.`,style:{width:`100%`,height:`auto`,maxHeight:`none`},\"data-og-width\":`1717`,width:`1717`,\"data-og-height\":`996`,height:`996`,\"data-path\":`images/git-provider/configure-github.jpg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/configure-github.jpg?w=280\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=640ff889377a15fc41ccf485150ae824 280w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/configure-github.jpg?w=560\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=414986eafb3471dc24484118e7df3ce4 560w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/configure-github.jpg?w=840\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=470c73feacca75aafb4e9e5c72d9db07 840w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/configure-github.jpg?w=1100\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=a91c2efe6c96d2ac9486ff36f95851a5 1100w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/configure-github.jpg?w=1650\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=35087004d0dbcaae5ba60024a47cdda5 1650w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/configure-github.jpg?w=2500\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=caaaa605c69ea1d12707c4fbd1544c39 2500w`})]}),_jsxs(Step,{title:`Add your organization`,children:[_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Add GitHub organization`}),` to open GitHub’s installation page.`]}),_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/add-organization.jpg?fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=9d708646d465c53b69dca7acbf7b10ee`,alt:`GitHub organization settings with Add GitHub organization highlighted.`,style:{width:`100%`,height:`auto`,maxHeight:`none`},\"data-og-width\":`1717`,width:`1717`,\"data-og-height\":`996`,height:`996`,\"data-path\":`images/git-provider/add-organization.jpg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/add-organization.jpg?w=280\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=4b72add62ae2621ca4e46ae0bbbb6c0c 280w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/add-organization.jpg?w=560\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=83a92b230f96caab87581b35327b7652 560w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/add-organization.jpg?w=840\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=11ada6c61402deb06898755ed9ed94d0 840w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/add-organization.jpg?w=1100\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=36745eab9bc5754d8ab35266913e5fce 1100w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/add-organization.jpg?w=1650\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=b567427712809ace89302237b1c7ec53 1650w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/add-organization.jpg?w=2500\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=e1c548507b076c81506ec4108fb34f4d 2500w`}),_jsxs(_components.p,{children:[`Choose the organization where you want to install Replit. For an existing installation, select `,_jsx(_components.strong,{children:`Configure`}),`.`]}),_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/choose-organization.png?fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=45625ac4a235b0ddc42930116ce48208`,alt:`GitHub asking where to install Replit, with the Replit organization available to configure.`,style:{width:`100%`,height:`auto`,maxHeight:`none`},\"data-og-width\":`1572`,width:`1572`,\"data-og-height\":`821`,height:`821`,\"data-path\":`images/git-provider/choose-organization.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/choose-organization.png?w=280\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=3dc3a0b0ff65cf95151877f343a2ce75 280w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/choose-organization.png?w=560\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=1a58dbca05db0e35cc71858cea4f2a92 560w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/choose-organization.png?w=840\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=b266635768e01962cfcb92c7a2b7d3ce 840w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/choose-organization.png?w=1100\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=27045df443b487ca9c34d182215b6032 1100w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/choose-organization.png?w=1650\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=82898e82c2cc3c8cc09f2d958b6221ee 1650w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/choose-organization.png?w=2500\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=745d186a1b6e93719db1afae38d60ea2 2500w`})]}),_jsxs(Step,{title:`Choose repository access`,children:[_jsxs(_components.p,{children:[`Choose `,_jsx(_components.strong,{children:`All repositories`}),` or `,_jsx(_components.strong,{children:`Only select repositories`}),`, review the requested permissions, and select `,_jsx(_components.strong,{children:`Install`}),`. For an existing installation, select `,_jsx(_components.strong,{children:`Update access`}),` instead. Your GitHub administrator may need to approve it.`]}),_jsx(OptimizedImage,{src:`https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/repository-permissions.jpg?fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=16852b935103770fef58dd9aac2cde93`,alt:`GitHub installation page showing All repositories and Only select repositories options, requested permissions, and the Install button.`,style:{width:`100%`,height:`auto`,maxHeight:`none`},\"data-og-width\":`1642`,width:`1642`,\"data-og-height\":`1936`,height:`1936`,\"data-path\":`images/git-provider/repository-permissions.jpg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/repository-permissions.jpg?w=280\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=d94bd4200b7c77c9035f19516b085baa 280w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/repository-permissions.jpg?w=560\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=c829987a1a7b9b922d320d3e912ae3dd 560w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/repository-permissions.jpg?w=840\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=c68cc9fd2bf57e7f6c9a71f07aa621cd 840w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/repository-permissions.jpg?w=1100\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=da039f53d3958970fb41a269cb8c53af 1100w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/repository-permissions.jpg?w=1650\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=ae6e0d04b18aa788b89c849c93235246 1650w, https://mintcdn.com/replit/u9HibLDH0LmIFha_/images/git-provider/repository-permissions.jpg?w=2500\u0026fit=max\u0026auto=format\u0026n=u9HibLDH0LmIFha_\u0026q=85\u0026s=bf758454ad0c4e9e478ad2879a231624 2500w`})]}),_jsxs(Step,{title:`Confirm the connection`,children:[_jsxs(_components.p,{children:[`Return to Replit and select `,_jsx(_components.strong,{children:`Refresh`}),` if needed. Enable the organization for sandbox creation. Installation alone does not enable this access: in the example above, the organization still shows `,_jsx(_components.strong,{children:`Enable`}),`.`]}),_jsx(_components.p,{children:`Confirm the organization is enabled before building your environment.`})]})]}),`\n`,_jsx(_components.p,{children:`GitHub manages the installation’s repository permissions. Review those settings with your GitHub administrator if a repository is missing.`}),`\n`,_jsx(Heading,{level:`2`,id:`gitlab-connect-a-group-and-select-projects`,children:`GitLab: connect a group and select projects`}),`\n`,_jsx(_components.p,{children:`GitLab uses group and project grants, not a GitHub-style app installation.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Sign in to GitLab`,children:_jsxs(_components.p,{children:[`Open `,_jsx(_components.a,{href:`https://replit.com/repos`,children:`Repositories`}),` and connect GitLab. Select `,_jsx(_components.strong,{children:`Manage`}),` on its card, then open the workspace connection configuration to see your groups.`]})}),_jsx(Step,{title:`Connect your group`,children:_jsxs(_components.p,{children:[`Choose `,_jsx(_components.strong,{children:`Configure`}),` beside a group. Select the projects to share, then choose `,_jsx(_components.strong,{children:`Connect group`}),`.`]})}),_jsx(Step,{title:`Confirm the connection`,children:_jsxs(_components.p,{children:[`Confirm the group shows `,_jsx(_components.strong,{children:`Connected`}),`. To change its selected projects later, choose `,_jsx(_components.strong,{children:`Edit`}),`.`]})})]}),`\n`,_jsx(_components.p,{children:`If a group or project is missing, check your GitLab permissions and your organization’s approval requirements.`}),`\n`,_jsx(Heading,{level:`2`,id:`disconnect-shared-access`,children:`Disconnect shared access`}),`\n`,_jsx(_components.p,{children:`In Repositories > Manage > Configure, choose Disconnect for the saved GitHub workspace grant or GitLab group. This removes that workspace’s access through the grant, not your personal sign-in or the provider-side GitHub App installation.`}),`\n`,_jsx(_components.p,{children:`Builds and projects that rely on the grant lose repository access. Disconnecting a GitLab group also removes its Replit service account, memberships, and webhooks, and revokes existing build tokens.`}),`\n`,_jsx(_components.p,{children:`To keep a GitLab group connected but remove individual projects, use Edit instead. Removing projects revokes their workspace access and may invalidate existing build tokens.`}),`\n`,_jsx(Heading,{level:`2`,id:`build-your-environment`,children:`Build your environment`}),`\n`,_jsxs(_components.p,{children:[`Return to `,_jsx(_components.a,{href:`/build/code/create-reusable-environment`,children:`Create a reusable environment`}),`. If checkout fails, check the workspace connection and its repository permissions. Never put a personal token in a build step, source file, or image.`]}),`\n`,_jsxs(_components.p,{children:[`For other development resources, see `,_jsx(_components.a,{href:`/build/code/adding-secrets-to-environments`,children:`chat secrets or an external secrets manager`}),` for chat-only versus reusable access, and `,_jsx(_components.a,{href:`/build/code/machine-identities`,children:`machine identities`}),` for provider trust. Neither replaces a workspace connection.`]})]})}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":"Install the Git Provider App","sidebarTitle":"Install the Git Provider App","description":"Give background environment builds approved access to your repositories with a GitHub App installation or GitLab group grant, separate from personal access.","href":"/build/code/install-git-app"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"GitHub: install the Replit GitHub App","slug":"github-install-the-replit-github-app","depth":2,"children":[]},{"title":"GitLab: connect a group and select projects","slug":"gitlab-connect-a-group-and-select-projects","depth":2,"children":[]},{"title":"Disconnect shared access","slug":"disconnect-shared-access","depth":2,"children":[]},{"title":"Build your environment","slug":"build-your-environment","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"replit","siteName":"Replit","title":"Install the Git Provider App - Replit","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/build/code/install-git-app","matchLevel":0},"fr":{"href":"/fr/build/code/install-git-app","matchLevel":1,"noindex":true,"robots":"noindex, nofollow"},"pt":{"href":"/pt/build/code/install-git-app","matchLevel":1,"noindex":true,"robots":"noindex, nofollow"},"ja":{"href":"/ja/build/code/install-git-app","matchLevel":1,"noindex":true,"robots":"noindex, nofollow"},"ko":{"href":"/ko/build/code/install-git-app","matchLevel":1}}},"lastModified":"2026-10-27T12:23:50.036Z","originalFileLocation":"build/code/install-git-app.mdx","locale":"en"},"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=\"light\"}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=\"Give background environment builds approved access to your repositories with a GitHub App installation or GitLab group grant, separate from personal access.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Replit\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/replit/bmCuvIiWqqoyeE2o/_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/replit/bmCuvIiWqqoyeE2o/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/replit/bmCuvIiWqqoyeE2o/_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/replit/bmCuvIiWqqoyeE2o/_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/replit/bmCuvIiWqqoyeE2o/_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/replit/bmCuvIiWqqoyeE2o/_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/replit/bmCuvIiWqqoyeE2o/_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/replit/bmCuvIiWqqoyeE2o/_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/replit/bmCuvIiWqqoyeE2o/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Install the Git Provider App - Replit\">\u003cmeta data-mint-head property=\"og:description\" content=\"Give background environment builds approved access to your repositories with a GitHub App installation or GitLab group grant, separate from personal access.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Replit Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.replit.com/build/code/install-git-app\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://replit.mintlify.site/_mintlify/api/og/v2?division=Setup+and+access\u0026amp;title=Install+the+Git+Provider+App\u0026amp;description=Give+background+environment+builds+approved+access+to+your+repositories+with+a+GitHub+App+installation+or+GitLab+group+grant%2C+separate+from+personal+access.\u0026amp;theme=3d900b3257a00c38c6803774\u0026amp;signature=a89718128f57fb1bb4a18d36f57a879c9020ea8bb1a41b907537a611ef4295c8\">\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=\"Install the Git Provider App - Replit\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Give background environment builds approved access to your repositories with a GitHub App installation or GitLab group grant, separate from personal access.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://replit.mintlify.site/_mintlify/api/og/v2?division=Setup+and+access\u0026amp;title=Install+the+Git+Provider+App\u0026amp;description=Give+background+environment+builds+approved+access+to+your+repositories+with+a+GitHub+App+installation+or+GitLab+group+grant%2C+separate+from+personal+access.\u0026amp;theme=3d900b3257a00c38c6803774\u0026amp;signature=a89718128f57fb1bb4a18d36f57a879c9020ea8bb1a41b907537a611ef4295c8\">\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/replit/bmCuvIiWqqoyeE2o/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Replit\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF3C00\">\u003cmeta data-mint-head name=\"twitter:creator\" content=\"@replit\">\u003cmeta data-mint-head name=\"author\" content=\"Replit\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.replit.com/build/code/install-git-app\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/build/code/install-git-app.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.replit.com/build/code/install-git-app\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://docs.replit.com/ko/build/code/install-git-app\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.replit.com/build/code/install-git-app\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.replit.com/#organization\",\"name\":\"Replit\",\"url\":\"https://docs.replit.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/replit/j4of5To8jzehz0JK/logo/light.svg?fit=max\u0026auto=format\u0026n=j4of5To8jzehz0JK\u0026q=85\u0026s=6209cb5927b56fd1781133af05428373\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.replit.com#website\",\"name\":\"Replit\",\"url\":\"https://docs.replit.com\",\"publisher\":{\"@id\":\"https://docs.replit.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.replit.com/build/code/install-git-app#webpage\",\"url\":\"https://docs.replit.com/build/code/install-git-app\",\"name\":\"Install the Git Provider App\",\"description\":\"Give background environment builds approved access to your repositories with a GitHub App installation or GitLab group grant, separate from personal access.\",\"dateModified\":\"2026-10-27T12:23:50.036Z\",\"isPartOf\":{\"@id\":\"https://docs.replit.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.replit.com/build/code/install-git-app#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.replit.com/build/code/install-git-app#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Replit\",\"item\":\"https://docs.replit.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Install the Git Provider App\",\"item\":\"https://docs.replit.com/build/code/install-git-app\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.replit.com/build/code/install-git-app#article\",\"headline\":\"Install the Git Provider App\",\"name\":\"Install the Git Provider App\",\"description\":\"Give background environment builds approved access to your repositories with a GitHub App installation or GitLab group grant, separate from personal access.\",\"url\":\"https://docs.replit.com/build/code/install-git-app\",\"mainEntityOfPage\":{\"@id\":\"https://docs.replit.com/build/code/install-git-app#webpage\"},\"dateModified\":\"2026-10-27T12:23:50.036Z\",\"publisher\":{\"@id\":\"https://docs.replit.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.replit.com#website\"}}]}\u003c/script>","agentPointerHref":"/build/code/install-git-app.md","siteName":"Replit","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/welcome"}]},{"tab":"Chats","pages":[{"title":"Chats","href":"/chat/overview"}]},{"tab":"Apps","dropdowns":[{"dropdown":"Web","icon":"globe","pages":[{"group":"Quickstarts","pages":[{"title":"Build your first app","sidebarTitle":"Build your first app","icon":"rocket","href":"/build/your-first-app"},{"title":"Build and publish from a template","sidebarTitle":"Build from a template","icon":"palette","href":"/build/build-and-publish-from-template"},{"title":"Build with Free Mode","sidebarTitle":"Build with Free Mode","icon":"seedling","href":"/build/build-with-free-mode"},{"title":"Publish your app","sidebarTitle":"Publish your app","icon":"cloud-arrow-up","href":"/build/publish-your-app"}]},{"group":"Build paths","pages":[{"title":"Prototype a product idea","sidebarTitle":"Prototype an idea","icon":"lightbulb","href":"/build/prototype-an-idea"},{"title":"Launch a landing page","sidebarTitle":"Launch a landing page","icon":"rectangle-list","href":"/build/landing-page"},{"title":"Build a Shopify storefront","sidebarTitle":"Build a Shopify storefront","icon":"bag-shopping","href":"/build/ecommerce-store"},{"title":"Create a dashboard from data","sidebarTitle":"Create a dashboard","icon":"chart-simple","href":"/build/dashboard"},{"title":"Build a mobile app","sidebarTitle":"Build a mobile app","icon":"mobile-screen","href":"/build/mobile-app"}]},{"group":"Grow your app","pages":[{"title":"Add login","sidebarTitle":"Add login","icon":"user-lock","href":"/build/add-login"},{"title":"Add a database","sidebarTitle":"Add a database","icon":"database","href":"/build/add-database"},{"title":"Add integrations","sidebarTitle":"Add integrations","icon":"plug","href":"/build/add-integrations"},{"title":"Add a custom domain","sidebarTitle":"Add a custom domain","icon":"globe","href":"/build/add-custom-domain"}]},{"group":"Publish and operate","pages":[{"title":"Purchase a domain","sidebarTitle":"Purchase a domain","icon":"cart-shopping","href":"/build/domain-purchasing"},{"title":"Enable Feedback Widget","sidebarTitle":"Enable Feedback Widget","icon":"comment","href":"/build/enable-feedback"},{"title":"Improve your app's SEO","sidebarTitle":"Improve SEO","icon":"magnifying-glass-chart","href":"/build/improve-seo"},{"title":"Troubleshoot publishing","icon":"triangle-exclamation","href":"/build/troubleshooting"}]},{"group":"Connect \u0026 integrate","pages":[{"title":"Use Agent Skills","sidebarTitle":"Use Agent Skills","icon":"puzzle-piece","href":"/build/use-agent-skills"},{"title":"Connect via MCP","sidebarTitle":"Connect via MCP","icon":"server","href":"/build/connect-via-mcp"}]},{"group":"Collaborate","pages":[{"title":"Invite teammates","sidebarTitle":"Invite teammates","icon":"user-plus","href":"/build/invite-teammates"},{"title":"Create a team workspace","sidebarTitle":"Create a team workspace","icon":"users-rectangle","href":"/build/create-a-team-workspace"}]},{"group":"Import","pages":[{"title":"Import from a provider","sidebarTitle":"Import from a provider","icon":"file-import","href":"/build/import-from-providers"}]}]},{"dropdown":"Mobile","icon":"mobile","groups":[{"group":"Quickstarts","pages":[{"title":"Start your first mobile app","sidebarTitle":"Start your mobile app","icon":"wand-magic-sparkles","href":"/build/mobile-first-app"},{"title":"Preview and test on your phone","sidebarTitle":"Test with Expo Go","icon":"mobile","href":"/build/mobile-preview-testing"}]},{"group":"Publish for iOS","pages":[{"title":"Set up your Apple Developer account","sidebarTitle":"Set up your account","icon":"apple","href":"/build/mobile-apple-account"},{"title":"Upload your app to App Store Connect","sidebarTitle":"Upload your app","icon":"cloud-arrow-up","href":"/build/mobile-upload-ios"},{"title":"Beta test with TestFlight","sidebarTitle":"Test on TestFlight","icon":"flask","href":"/build/mobile-testflight"},{"title":"Submit to the App Store","sidebarTitle":"Submit for App Store","icon":"paper-plane","href":"/build/mobile-publish-ios"}]},{"group":"Add features and grow your app","pages":[{"title":"Add login","sidebarTitle":"Add login","icon":"right-to-bracket","href":"/build/mobile-login"},{"title":"Add payments with RevenueCat","sidebarTitle":"Add payments","icon":"credit-card","href":"/build/mobile-payments"},{"title":"Store images in your mobile app","sidebarTitle":"Save player images","icon":"image","href":"/build/mobile-store-images"},{"title":"Add haptics","sidebarTitle":"Add haptics","icon":"wave-square","href":"/build/mobile-haptics"},{"title":"Use iOS native components","sidebarTitle":"Use native UI","icon":"apple","href":"/build/mobile-native-components"},{"title":"Use the camera","sidebarTitle":"Add camera","icon":"camera","href":"/build/mobile-camera"},{"title":"Access contacts","sidebarTitle":"Add contacts","icon":"address-book","href":"/build/mobile-contacts"},{"title":"Send push notifications","sidebarTitle":"Send notifications","icon":"bell","href":"/build/mobile-push-notifications"},{"title":"Collect reviews and ratings","sidebarTitle":"Collect reviews","icon":"star","href":"/build/mobile-collect-reviews"}]},{"group":"Design","pages":[{"title":"Design your app","sidebarTitle":"Design your app","icon":"palette","href":"/build/mobile-design"},{"title":"Generate an app icon","sidebarTitle":"Generate app icon","icon":"image","href":"/build/mobile-app-icon"},{"title":"Generate App Store screenshots","sidebarTitle":"Generate store assets","icon":"images","href":"/build/mobile-store-screenshots"}]},{"group":"Collaborate","pages":[{"title":"Build PixelGames with a team","sidebarTitle":"Invite your team","icon":"users","href":"/build/mobile-invite-team"}]}]}]},{"tab":"Code","pages":[{"group":"Get started","pages":[{"title":"Code with Replit","sidebarTitle":"Code with Replit","href":"/build/code/code-with-replit"},{"title":"Connect to your repository","sidebarTitle":"Connect to your repository","href":"/build/code/connect-your-repository"},{"title":"Run your app in Replit","sidebarTitle":"Run your app in Replit","href":"/build/code/run-your-first-preview"},{"title":"Make a contribution","sidebarTitle":"Make a contribution","href":"/build/code/first-contribution"},{"title":"Respond to review","sidebarTitle":"Respond to review","href":"/build/code/respond-to-review-feedback"},{"title":"Work with a team of agents","sidebarTitle":"Work with a team of agents","description":"Work on independent repository tasks in separate worker chats, follow each agent's progress, and bring results together for review through your main chat.","href":"/build/code/coordinate-work"}]},{"group":"Setup and access","pages":[{"title":"Install the Git Provider App","sidebarTitle":"Install the Git Provider App","href":"/build/code/install-git-app"},{"title":"Manage repository access","sidebarTitle":"Manage repository access","description":"Understand personal GitHub and GitLab connections, workspace access for background builds, and which permissions to check when repository access fails.","href":"/build/code/manage-repository-access"},{"title":"Create a reusable environment","sidebarTitle":"Create a reusable environment","href":"/build/code/create-reusable-environment"},{"title":"Add secrets to environments","sidebarTitle":"Add secrets to environments","href":"/build/code/adding-secrets-to-environments"}]},{"group":"Security and identity","pages":[{"title":"Security for Repository Contributions","sidebarTitle":"Security","href":"/build/code/security"},{"title":"Machine Identities for Maintaining Environments","sidebarTitle":"Machine identities","href":"/build/code/machine-identities"},{"title":"Secure Access to GitHub and GitLab","sidebarTitle":"Git credential protection","href":"/build/code/git-provider-proxy"}]},{"group":"Concepts","pages":[{"title":"How coding with Replit works","sidebarTitle":"How coding with Replit works","href":"/build/code/working-with-code"},{"title":"Navigate your editor","sidebarTitle":"Navigate your editor","href":"/build/code/navigate-your-workspace"},{"title":"Git essentials","sidebarTitle":"Git essentials","href":"/build/code/git-essentials"}]}]},{"tab":"Designs","pages":[{"title":"Designs","href":"/design/what-is-replit-design"}]},{"tab":"Use cases","pages":[{"title":"Use cases","href":"/use-cases"}]},{"tab":"Learn","pages":[{"title":"Learn","href":"/learn/foundations/what-is-an-app"}]},{"tab":"Features","pages":[{"title":"Features","href":"/features/collaboration/workspaces"}]},{"tab":"Trust \u0026 Billing","pages":[{"title":"Trust \u0026 Billing","href":"/category/billing"}]},{"tab":"Enterprise","pages":[{"title":"Enterprise","href":"/teams/welcome"}]}]},{"language":"fr","navbar":{"links":[],"primary":{"type":"button","label":"Commencer à créer","href":"https://replit.com?ref=docs"}},"pages":[{"title":"fr","href":"/fr/build/code/install-git-app"}]},{"language":"pt","navbar":{"links":[],"primary":{"type":"button","label":"Comece a criar","href":"https://replit.com?ref=docs"}},"hidden":false,"pages":[{"title":"pt","href":"/pt/build/code/install-git-app"}]},{"language":"ja","navbar":{"links":[],"primary":{"type":"button","label":"作成を開始","href":"https://replit.com?ref=docs"}},"hidden":false,"pages":[{"title":"ja","href":"/ja/build/code/install-git-app"}]},{"language":"ko","navbar":{"links":[],"primary":{"type":"button","label":"빌드 시작하기","href":"https://replit.com?ref=docs"}},"hidden":false,"pages":[{"title":"ko","href":"/ko/build/code/install-git-app"}]}]},"basePath":"","title":"Install the Git Provider App - Replit","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-BbK2OBGL.js","lightbox-handle-r17bVUz3.js"]}