If Homebrew reports that Xcode is outdated, update Command Line Tools or use the
curl installer below. The formula only unpacks a release binary; it does not
build Wrapper with Xcode. See Troubleshooting.
The installer downloads a release tarball from GitHub Releases, verifies
checksums.txt, and installs under $HOME/.wrapper (override with
WRAPPER_INSTALL_DIR). Optional pins:
Update with the same method you used to install.Homebrew:
brew updatebrew upgrade heycupola/tap/wrapper
Curl installer:
curl -fsSL https://wrapper.sh/install | bash
Do not mix the two. The curl installer prepends $HOME/.wrapper/bin to PATH,
so that copy wins over Homebrew. After brew upgrade, wrapper --version can
still show the older curl binary. Check with which -a wrapper. See
Troubleshooting.
The iPhone and iPad app is a TestFlight viewer, not a host. The shell, files,
and credentials stay on the Mac or Linux machine. After the CLI is installed
and a session is shared, attach from iOS.See Mobile viewer.
wrapper share shares immediately. In a running host, press Ctrl+\ then s.
Wrapper prints a share code and join command when the shell is idle.Owner join from any device:
wrapper attach --relay --id <sessionId>
Guest join uses the same command and a hidden share-code prompt. Press
Ctrl+\ then u to revoke access.
People you invite see the screen. They cannot type unless you allow it.
{"docsConfig":{"theme":"linden","$schema":"https://mintlify.com/docs.json","name":"Wrapper","colors":{"primary":"#2D57F0","light":"#84A1FF","dark":"#2D57F0"},"logo":{"light":"https://mintcdn.com/wrapper/rVJ99rFjj8Ixy-T3/assets/logo-light.svg?fit=max\u0026auto=format\u0026n=rVJ99rFjj8Ixy-T3\u0026q=85\u0026s=3f5c6296b612344be335cf06c17a3585","dark":"https://mintcdn.com/wrapper/rVJ99rFjj8Ixy-T3/assets/logo-dark.svg?fit=max\u0026auto=format\u0026n=rVJ99rFjj8Ixy-T3\u0026q=85\u0026s=c20077f543b638a5bc8ee27ffb95906c"},"favicon":"https://mintcdn.com/wrapper/rVJ99rFjj8Ixy-T3/assets/favicon.svg?fit=max\u0026auto=format\u0026n=rVJ99rFjj8Ixy-T3\u0026q=85\u0026s=afdf28cf934c820fc7785c72773618a8","appearance":{"default":"system"},"background":{"decoration":"grid","color":{"light":"#EEF0F2","dark":"#0B0D10"}},"navbar":{"links":[{"href":"https://wrapper.sh","label":"Website"},{"href":"https://wrapper.sh/support","label":"Support"},{"href":"https://discord.gg/2vNRzRMY6K","label":"Discord","type":"discord"},{"href":"https://x.com/heycupola","label":"X"},{"href":"https://github.com/heycupola/wrapper","type":"github"}]},"metadata":{"timestamp":true},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"wrapper","hasAudioNarration":false,"actualSubdomain":"wrapper","customDomains":["docs.wrapper.sh"],"gitSource":{"type":"github","owner":"heycupola","repo":"wrapper","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6adf78ee432a36e63393143c","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"Guides","count":6},{"language":"default","tag":"Reference","count":4},{"language":"default","tag":"Configuration","count":2},{"language":"default","tag":"Getting Started","count":2},{"language":"default","tag":"Development","count":1}]},"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":[{"filePath":"assets/custom.css","content":":root{--text-primary: #14171c}[data-theme=\"dark\"]{--text-primary: #f1f3f5}"}],"page":{"pagePath":"guides/installation","slug":"/guides/installation","pageMetadata":{"title":"Quickstart","description":"Install Wrapper, share a session, and attach. Does not patch your shell config.","href":"/guides/installation"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Install Wrapper, share a session, and attach. Does not patch your shell config.\"\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`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{CodeBlock,Frame,Heading,OptimizedImage,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Wrapper supports macOS and Linux. On Windows, use WSL.`}),`\n`,_jsx(Heading,{level:`2`,id:`install-the-cli`,children:`Install the CLI`}),`\n`,_jsx(Heading,{level:`3`,id:`homebrew`,children:`Homebrew`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`brew`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` heycupola/tap/wrapper`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`If Homebrew reports that Xcode is outdated, update Command Line Tools or use the\ncurl installer below. The formula only unpacks a release binary; it does not\nbuild Wrapper with Xcode. See `,_jsx(_components.a,{href:`/troubleshooting`,children:`Troubleshooting`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`checksum-verified-installer`,children:`Checksum-verified installer`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -fsSL`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://wrapper.sh/install`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` bash`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The installer downloads a release tarball from GitHub Releases, verifies\n`,_jsx(_components.code,{children:`checksums.txt`}),`, and installs under `,_jsx(_components.code,{children:`$HOME/.wrapper`}),` (override with\n`,_jsx(_components.code,{children:`WRAPPER_INSTALL_DIR`}),`). Optional pins:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`WRAPPER_VERSION`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`v0.2.3`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -fsSL`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://wrapper.sh/install`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` bash`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Confirm:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`wrapper`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --version`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`update-the-cli`,children:`Update the CLI`}),`\n`,_jsx(_components.p,{children:`Update with the same method you used to install.`}),`\n`,_jsx(_components.p,{children:`Homebrew:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`brew`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` update`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`brew`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` upgrade`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` heycupola/tap/wrapper`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Curl installer:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -fsSL`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://wrapper.sh/install`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` bash`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Do not mix the two. The curl installer prepends `,_jsx(_components.code,{children:`$HOME/.wrapper/bin`}),` to `,_jsx(_components.code,{children:`PATH`}),`,\nso that copy wins over Homebrew. After `,_jsx(_components.code,{children:`brew upgrade`}),`, `,_jsx(_components.code,{children:`wrapper --version`}),` can\nstill show the older curl binary. Check with `,_jsx(_components.code,{children:`which -a wrapper`}),`. See\n`,_jsx(_components.a,{href:`/troubleshooting`,children:`Troubleshooting`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`get-ios-viewer-beta`,children:`Get iOS viewer beta`}),`\n`,_jsx(_components.p,{children:`The iPhone and iPad app is a TestFlight viewer, not a host. The shell, files,\nand credentials stay on the Mac or Linux machine. After the CLI is installed\nand a session is shared, attach from iOS.`}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/guides/mobile-viewer`,children:`Mobile viewer`}),`.`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/wrapper/JLMnFS4G4wmSxZil/images/cli-install-success.webp?fit=max\u0026auto=format\u0026n=JLMnFS4G4wmSxZil\u0026q=85\u0026s=ce051a6338dd97a0d3493e71326e1c11`,alt:`Terminal output of the curl installer on macOS: download and checksum verification, the Wrapper banner, Installed Wrapper v0.2.4 into ~/.wrapper, and the Get started commands`,\"data-og-width\":`1070`,width:`1070`,\"data-og-height\":`698`,height:`698`,\"data-path\":`images/cli-install-success.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/wrapper/JLMnFS4G4wmSxZil/images/cli-install-success.webp?w=280\u0026fit=max\u0026auto=format\u0026n=JLMnFS4G4wmSxZil\u0026q=85\u0026s=6616a55b908cb1e6bb32ad1dcc39133a 280w, https://mintcdn.com/wrapper/JLMnFS4G4wmSxZil/images/cli-install-success.webp?w=560\u0026fit=max\u0026auto=format\u0026n=JLMnFS4G4wmSxZil\u0026q=85\u0026s=141920c9364dd2903eca0daf058af75b 560w, https://mintcdn.com/wrapper/JLMnFS4G4wmSxZil/images/cli-install-success.webp?w=840\u0026fit=max\u0026auto=format\u0026n=JLMnFS4G4wmSxZil\u0026q=85\u0026s=65141e67f532bbdfd28364d69722732b 840w, https://mintcdn.com/wrapper/JLMnFS4G4wmSxZil/images/cli-install-success.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=JLMnFS4G4wmSxZil\u0026q=85\u0026s=fd72b7f96c84b6baa0d0e8d029191f2f 1100w, https://mintcdn.com/wrapper/JLMnFS4G4wmSxZil/images/cli-install-success.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=JLMnFS4G4wmSxZil\u0026q=85\u0026s=8d616dc4b29811e19a6fd6b392944b86 1650w, https://mintcdn.com/wrapper/JLMnFS4G4wmSxZil/images/cli-install-success.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=JLMnFS4G4wmSxZil\u0026q=85\u0026s=e626715c4f7cdcda0b4e36736049a9dd 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`share-a-session`,children:`Share a session`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`wrapper share`}),` does not patch your shell config:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`wrapper`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` auth`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` login`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`wrapper`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` share`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Wrap a command without sharing yet:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`wrapper`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` run`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` claude`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Prefer a remote Linux box? See `,_jsx(_components.a,{href:`/guides/linux-remote`,children:`Remote Linux box`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`optional-wrap-every-new-terminal`,children:`Optional: wrap every new terminal`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`wrapper install`}),` is optional. It adds a line to your shell config so every new\ninteractive shell is wrapped. Sharing does not need this.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`wrapper`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --dry-run`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`wrapper`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`sign-in`,children:`Sign in`}),`\n`,_jsx(_components.p,{children:`Remote share needs a Wrapper account. Local attach uses the loopback token\nonly:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`wrapper`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` auth`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` login`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Approve the device code at the printed URL. Check status with\n`,_jsx(_components.code,{children:`wrapper auth whoami`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/guides/auth`,children:`Authentication`}),` for token storage and logout.`]}),`\n`,_jsx(Heading,{level:`2`,id:`attach-locally`,children:`Attach locally`}),`\n`,_jsx(_components.p,{children:`From another terminal on the same machine:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`wrapper`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` status`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`wrapper`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` attach`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Local attach uses loopback plus a per-session token from your session registry.\nIt does `,_jsx(_components.strong,{children:`not`}),` use the Fly relay, Convex, or Pro.`]}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/guides/local-attach`,children:`Local attach`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`share-remotely-pro`,children:`Share remotely (Pro)`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`wrapper share`}),` shares immediately. In a running host, press `,_jsx(_components.code,{children:`Ctrl+\\\\`}),` then `,_jsx(_components.code,{children:`s`}),`.\nWrapper prints a share code and join command when the shell is idle.`]}),`\n`,_jsx(_components.p,{children:`Owner join from any device:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`wrapper`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` attach`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --relay`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`sessionI`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`d`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Guest join uses the same command and a hidden share-code prompt. Press\n`,_jsx(_components.code,{children:`Ctrl+\\\\`}),` then `,_jsx(_components.code,{children:`u`}),` to revoke access.`]}),`\n`,_jsx(Warning,{children:`People you invite see the screen. They cannot type unless you allow it.`}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/guides/remote-share`,children:`Remote share`}),`, `,_jsx(_components.a,{href:`/reference/pricing`,children:`Pricing`}),`, and\n`,_jsx(_components.a,{href:`/configuration/security`,children:`Security and privacy`}),`.`]})]})}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":"Quickstart","description":"Install Wrapper, share a session, and attach. Does not patch your shell config.","href":"/guides/installation"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Install the CLI","slug":"install-the-cli","depth":2,"children":[{"title":"Homebrew","slug":"homebrew","depth":3,"children":[]},{"title":"Checksum-verified installer","slug":"checksum-verified-installer","depth":3,"children":[]}]},{"title":"Update the CLI","slug":"update-the-cli","depth":2,"children":[]},{"title":"Get iOS viewer beta","slug":"get-ios-viewer-beta","depth":2,"children":[]},{"title":"Share a session","slug":"share-a-session","depth":2,"children":[]},{"title":"Optional: wrap every new terminal","slug":"optional-wrap-every-new-terminal","depth":2,"children":[]},{"title":"Sign in","slug":"sign-in","depth":2,"children":[]},{"title":"Attach locally","slug":"attach-locally","depth":2,"children":[]},{"title":"Share remotely (Pro)","slug":"share-remotely-pro","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"wrapper","siteName":"Wrapper","title":"Quickstart - Wrapper","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-02T15:33:41.631Z","gitLastModified":"2026-10-02T15:33:33.000Z","originalFileLocation":"guides/installation.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Install Wrapper, share a session, and attach. Does not patch your shell config.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Wrapper\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/wrapper/-aSltPH2zYggzBbK/_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/wrapper/-aSltPH2zYggzBbK/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/wrapper/-aSltPH2zYggzBbK/_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/wrapper/-aSltPH2zYggzBbK/_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/wrapper/-aSltPH2zYggzBbK/_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/wrapper/-aSltPH2zYggzBbK/_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/wrapper/-aSltPH2zYggzBbK/_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/wrapper/-aSltPH2zYggzBbK/_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/wrapper/-aSltPH2zYggzBbK/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Quickstart - Wrapper\">\u003cmeta data-mint-head property=\"og:description\" content=\"Install Wrapper, share a session, and attach. Does not patch your shell config.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Wrapper\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.wrapper.sh/guides/installation\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://wrapper.mintlify.site/_mintlify/api/og/v2?division=Guides\u0026amp;title=Quickstart\u0026amp;description=Install+Wrapper%2C+share+a+session%2C+and+attach.+Does+not+patch+your+shell+config.\u0026amp;theme=608bff4a46928577323a9783\u0026amp;signature=d21e87516c4baf7b07fef1fc865d786c9e01829b7ec268687418743c2b081488\">\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=\"Quickstart - Wrapper\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Install Wrapper, share a session, and attach. Does not patch your shell config.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://wrapper.mintlify.site/_mintlify/api/og/v2?division=Guides\u0026amp;title=Quickstart\u0026amp;description=Install+Wrapper%2C+share+a+session%2C+and+attach.+Does+not+patch+your+shell+config.\u0026amp;theme=608bff4a46928577323a9783\u0026amp;signature=d21e87516c4baf7b07fef1fc865d786c9e01829b7ec268687418743c2b081488\">\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/wrapper/-aSltPH2zYggzBbK/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Wrapper\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2D57F0\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.wrapper.sh/guides/installation\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/guides/installation.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.wrapper.sh/#organization\",\"name\":\"Wrapper\",\"url\":\"https://docs.wrapper.sh\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/wrapper/rVJ99rFjj8Ixy-T3/assets/logo-light.svg?fit=max\u0026auto=format\u0026n=rVJ99rFjj8Ixy-T3\u0026q=85\u0026s=3f5c6296b612344be335cf06c17a3585\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.wrapper.sh#website\",\"name\":\"Wrapper\",\"url\":\"https://docs.wrapper.sh\",\"publisher\":{\"@id\":\"https://docs.wrapper.sh/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.wrapper.sh/guides/installation#webpage\",\"url\":\"https://docs.wrapper.sh/guides/installation\",\"name\":\"Quickstart\",\"description\":\"Install Wrapper, share a session, and attach. Does not patch your shell config.\",\"dateModified\":\"2026-10-02T15:33:33.000Z\",\"isPartOf\":{\"@id\":\"https://docs.wrapper.sh#website\"},\"breadcrumb\":{\"@id\":\"https://docs.wrapper.sh/guides/installation#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.wrapper.sh/guides/installation#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Wrapper\",\"item\":\"https://docs.wrapper.sh\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Quickstart\",\"item\":\"https://docs.wrapper.sh/guides/installation\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.wrapper.sh/guides/installation#article\",\"headline\":\"Quickstart\",\"name\":\"Quickstart\",\"description\":\"Install Wrapper, share a session, and attach. Does not patch your shell config.\",\"url\":\"https://docs.wrapper.sh/guides/installation\",\"mainEntityOfPage\":{\"@id\":\"https://docs.wrapper.sh/guides/installation#webpage\"},\"dateModified\":\"2026-10-02T15:33:33.000Z\",\"publisher\":{\"@id\":\"https://docs.wrapper.sh/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.wrapper.sh#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Wrapper\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Wrapper\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/guides/installation.md","siteName":"Wrapper","nav":{"global":null,"groups":[{"group":"Getting Started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"Troubleshooting","description":"Fix auth, attach, install, HUD, and relay issues.","href":"/troubleshooting"}]},{"group":"Guides","pages":[{"title":"Quickstart","href":"/guides/installation"},{"title":"Remote Linux box","description":"Run Wrapper on an always-on Linux host without installing it on your laptop.","href":"/guides/linux-remote"},{"title":"Authentication","href":"/guides/auth"},{"title":"Local attach","href":"/guides/local-attach"},{"title":"Remote share","href":"/guides/remote-share"},{"title":"Mobile viewer","href":"/guides/mobile-viewer"}]},{"group":"Configuration","pages":[{"title":"Security and privacy","href":"/configuration/security"},{"title":"Environment","href":"/configuration/environment"}]},{"group":"Development","pages":[{"title":"Setup","href":"/development/setup"}]},{"group":"Reference","pages":[{"title":"CLI reference","href":"/reference/cli"},{"title":"Architecture","href":"/reference/architecture"},{"title":"Transports","href":"/reference/transports"},{"title":"Pricing","href":"/reference/pricing"}]}]},"basePath":"","title":"Quickstart - Wrapper","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-u3J1-UOn.js","DynamicMarkdown-B-f2cqXQ.js","zoom-image-lightbox-DTFzvaXJ.js","lightbox-handle-r17bVUz3.js"]}