{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Mirage","description":"Mirage gives AI agents one virtual filesystem for S3, Google Drive, Slack, GitHub, Notion, Postgres, and SSH, so shell commands work across services.","colors":{"primary":"#0C0C0C","light":"#FAFAFA","dark":"#000000"},"logo":{"light":"https://mintcdn.com/struktoai/7G-pGKhPIqaKqOXr/logo/light.svg?fit=max\u0026auto=format\u0026n=7G-pGKhPIqaKqOXr\u0026q=85\u0026s=d7007be7b5588a72b2072d2c33791785","dark":"https://mintcdn.com/struktoai/7G-pGKhPIqaKqOXr/logo/dark.svg?fit=max\u0026auto=format\u0026n=7G-pGKhPIqaKqOXr\u0026q=85\u0026s=0a255f925beb7370a41145f3f9185e9d"},"favicon":"https://mintcdn.com/struktoai/F9Lv_nTaj6By6crk/favicon.svg?fit=max\u0026auto=format\u0026n=F9Lv_nTaj6By6crk\u0026q=85\u0026s=bbca6fb54e64d72bdda46fb667828f1f","navbar":{"links":[{"icon":"globe","href":"https://www.strukto.ai/mirage","label":"mirage"},{"icon":"discord","href":"https://discord.gg/u8BPQ65KsS","label":""},{"icon":"x-twitter","href":"https://x.com/struktoai","label":""},{"icon":"github","href":"https://github.com/strukto-ai/mirage","label":"strukto-ai/mirage"}]},"footer":{"socials":{"github":"https://github.com/strukto-ai/mirage"}},"seo":{"metatags":{"keywords":"Mirage, filesystem for AI agents, virtual filesystem, AI agent tools, agent infrastructure, MCP alternative, bash for agents, S3 filesystem, Google Drive filesystem, Slack filesystem, GitHub filesystem, agent sandbox, Strukto","author":"Strukto","robots":"index, follow","googlebot":"index, follow","canonical":"https://docs.mirage.strukto.ai","theme-color":"#0C0C0C","color-scheme":"light dark","language":"en","category":"Technology","target":"developers","apple-mobile-web-app-capable":"yes","apple-mobile-web-app-status-bar-style":"black-translucent","og:type":"website","og:url":"https://docs.mirage.strukto.ai","og:image":"https://raw.githubusercontent.com/strukto-ai/mirage/main/assets/mirage-og-light@2x.png","og:image:alt":"Mirage: a virtual terminal for AI agents","og:site_name":"Mirage","og:locale":"en_US","twitter:card":"summary_large_image","twitter:site":"@struktoai","twitter:creator":"@struktoai","twitter:image":"https://raw.githubusercontent.com/strukto-ai/mirage/main/assets/mirage-og-light@2x.png","twitter:image:alt":"Mirage · A Virtual Terminal for AI Agents | Strukto"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"struktoai","hasAudioNarration":false,"actualSubdomain":"struktoai","customDomains":["docs.mirage.strukto.ai"],"gitSource":{"type":"github","owner":"strukto-ai","repo":"mirage","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aea921f8c3fa9f8a3992ce5","collectionId":"9ac76bce-eb88-4144-9b2a-33873abc7a4a","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aea921f8c3fa9f8a3992ce5"},"entitlements":{},"buildId":"6aea9399d5e6a6b6342ca85e","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"VFS","count":171},{"language":"default","tag":"Home","count":132},{"language":"default","tag":"TS","count":94},{"language":"default","tag":"Python","count":90},{"language":"default","tag":"CLIs","count":79},{"language":"default","tag":"Object Storage","count":48},{"language":"default","tag":"Cloud \u0026 Productivity","count":35},{"language":"default","tag":"Data \u0026 AI","count":33},{"language":"default","tag":"Developer \u0026 Messaging","count":27},{"language":"default","tag":"AI Agents","count":20}]},"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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"home/setup/linear","slug":"/home/setup/linear","pageMetadata":{"title":"Linear","icon":"/images/linear-logo.svg","description":"Set up a Linear personal API key for the Linear VFS.","href":"/home/setup/linear"},"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: \"Set up a Linear personal API key for the Linear VFS.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{CodeBlock,Heading}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`credentials`,children:`Credentials`}),`\n`,_jsx(Heading,{level:`3`,id:`1-create-a-personal-api-key`,children:`1. Create a Personal API Key`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Go to Settings -> Security \u0026 Access`}),`\n`,_jsx(_components.li,{children:`Create a new personal API key`}),`\n`,_jsx(_components.li,{children:`Copy the key`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`2-set-environment-variables`,children:`2. Set Environment Variables`}),`\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:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# .env.development`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`LINEAR_API_KEY`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`lin_api_xxxx...`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`For SDK guides, see `,_jsx(_components.a,{href:`/python/vfs/linear`,children:`Linear (Python)`}),` and `,_jsx(_components.a,{href:`/typescript/setup/linear`,children:`Linear (TypeScript)`}),`.`]})]})}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":"Linear","icon":"/images/linear-logo.svg","description":"Set up a Linear personal API key for the Linear VFS.","href":"/home/setup/linear"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Credentials","slug":"credentials","depth":2,"children":[{"title":"1. Create a Personal API Key","slug":"1-create-a-personal-api-key","depth":3,"children":[]},{"title":"2. Set Environment Variables","slug":"2-set-environment-variables","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"subdomain":"struktoai","siteName":"Mirage","title":"Linear - Mirage","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-31T09:07:54.914Z","originalFileLocation":"home/setup/linear.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=\"Set up a Linear personal API key for the Linear VFS.\">\u003cmeta data-mint-head name=\"keywords\" content=\"Mirage, filesystem for AI agents, virtual filesystem, AI agent tools, agent infrastructure, MCP alternative, bash for agents, S3 filesystem, Google Drive filesystem, Slack filesystem, GitHub filesystem, agent sandbox, Strukto\">\u003cmeta data-mint-head name=\"application-name\" content=\"Mirage\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/struktoai/3lv99snhL-Tr_A0L/_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/struktoai/3lv99snhL-Tr_A0L/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/struktoai/3lv99snhL-Tr_A0L/_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/struktoai/3lv99snhL-Tr_A0L/_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/struktoai/3lv99snhL-Tr_A0L/_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/struktoai/3lv99snhL-Tr_A0L/_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/struktoai/3lv99snhL-Tr_A0L/_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/struktoai/3lv99snhL-Tr_A0L/_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/struktoai/3lv99snhL-Tr_A0L/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Linear - Mirage\">\u003cmeta data-mint-head property=\"og:description\" content=\"Set up a Linear personal API key for the Linear VFS.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Mirage\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.mirage.strukto.ai/home/setup/linear\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://raw.githubusercontent.com/strukto-ai/mirage/main/assets/mirage-og-light@2x.png\">\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=\"Linear - Mirage\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Set up a Linear personal API key for the Linear VFS.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://raw.githubusercontent.com/strukto-ai/mirage/main/assets/mirage-og-light@2x.png\">\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/struktoai/3lv99snhL-Tr_A0L/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Mirage\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0C0C0C\">\u003cmeta data-mint-head name=\"og:locale\" content=\"en_US\">\u003cmeta data-mint-head name=\"author\" content=\"Strukto\">\u003cmeta data-mint-head name=\"googlebot\" content=\"index, follow\">\u003cmeta data-mint-head name=\"theme-color\" content=\"#0C0C0C\">\u003cmeta data-mint-head name=\"color-scheme\" content=\"light dark\">\u003cmeta data-mint-head name=\"language\" content=\"en\">\u003cmeta data-mint-head name=\"category\" content=\"Technology\">\u003cmeta data-mint-head name=\"target\" content=\"developers\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-capable\" content=\"yes\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\">\u003cmeta data-mint-head name=\"og:image:alt\" content=\"Mirage: a virtual terminal for AI agents\">\u003cmeta data-mint-head name=\"twitter:creator\" content=\"@struktoai\">\u003cmeta data-mint-head name=\"twitter:image:alt\" content=\"Mirage · A Virtual Terminal for AI Agents | Strukto\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.mirage.strukto.ai/home/setup/linear\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/home/setup/linear.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.mirage.strukto.ai/#organization\",\"name\":\"Mirage\",\"url\":\"https://docs.mirage.strukto.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/struktoai/7G-pGKhPIqaKqOXr/logo/light.svg?fit=max\u0026auto=format\u0026n=7G-pGKhPIqaKqOXr\u0026q=85\u0026s=d7007be7b5588a72b2072d2c33791785\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.mirage.strukto.ai#website\",\"name\":\"Mirage\",\"url\":\"https://docs.mirage.strukto.ai\",\"publisher\":{\"@id\":\"https://docs.mirage.strukto.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.mirage.strukto.ai/home/setup/linear#webpage\",\"url\":\"https://docs.mirage.strukto.ai/home/setup/linear\",\"name\":\"Linear\",\"description\":\"Set up a Linear personal API key for the Linear VFS.\",\"dateModified\":\"2026-10-31T09:07:54.914Z\",\"isPartOf\":{\"@id\":\"https://docs.mirage.strukto.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.mirage.strukto.ai/home/setup/linear#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.mirage.strukto.ai/home/setup/linear#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"VFS\",\"item\":\"https://docs.mirage.strukto.ai/home/setup/vfs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Developer \u0026 Messaging\",\"item\":\"https://docs.mirage.strukto.ai/home/setup/github\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Linear\",\"item\":\"https://docs.mirage.strukto.ai/home/setup/linear\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.mirage.strukto.ai/home/setup/linear#article\",\"headline\":\"Linear\",\"name\":\"Linear\",\"description\":\"Set up a Linear personal API key for the Linear VFS.\",\"url\":\"https://docs.mirage.strukto.ai/home/setup/linear\",\"mainEntityOfPage\":{\"@id\":\"https://docs.mirage.strukto.ai/home/setup/linear#webpage\"},\"image\":\"https://raw.githubusercontent.com/strukto-ai/mirage/main/assets/mirage-og-light@2x.png\",\"dateModified\":\"2026-10-31T09:07:54.914Z\",\"publisher\":{\"@id\":\"https://docs.mirage.strukto.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.mirage.strukto.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Mirage\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Mirage","nav":{"global":null,"tabs":[{"tab":"Home","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/mirage-icon-light.svg","groups":[{"group":"Getting Started","pages":[{"title":"Introduction","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/mirage-icon-light.svg","href":"/home/introduction"},{"title":"Installation","icon":"download","href":"/home/install"}]},{"group":"Examples","pages":[{"title":"Embedded Terminal","icon":"terminal","href":"/home/examples/embedded-terminal"},{"title":"Policy \u0026 Security","icon":"shield-halved","href":"/home/examples/policy-security"},{"title":"Runtime Routing","icon":"route","href":"/home/examples/runtime-routing"}]},{"group":"Agents","pages":[{"title":"Agents","sidebarTitle":"Overview","icon":"robot","href":"/home/agents"},{"group":"Coding Agents","icon":"laptop-code","pages":[{"title":"Claude Code","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/claude-logo.svg","href":"/home/agents/claude-code"},{"title":"OpenAI Codex","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/openai-logo.svg","href":"/home/agents/codex"},{"title":"Grok Build","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/grok-logo.svg","href":"/home/agents/grok-build"}]},{"group":"Access","icon":"plug","pages":[{"title":"Access","sidebarTitle":"Overview","icon":"cube","href":"/home/access/overview"},{"title":"HTTP","icon":"globe","href":"/home/access/http"},{"title":"MCP","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/mcp-icon.svg","href":"/home/access/mcp"},{"title":"RPC","icon":"brackets-curly","href":"/home/access/rpc"},{"title":"SSH","icon":"square-terminal","href":"/home/access/ssh"},{"title":"CLI","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/mirage-icon-light.svg","href":"/home/access/cli"},{"title":"Errors","icon":"triangle-exclamation","href":"/home/access/errors"},{"group":"FUSE","icon":"folder-open","pages":[{"title":"Overview","icon":"folder-open","href":"/home/setup/fuse"},{"title":"macOS","icon":"apple","href":"/home/setup/macos"},{"title":"Linux","icon":"linux","href":"/home/setup/linux"},{"title":"Windows","icon":"windows","href":"/home/setup/windows"}]}]}]},{"group":"VFS","pages":[{"title":"VFS","sidebarTitle":"Overview","icon":"grid-2","href":"/home/setup/vfs"},{"title":"Custom VFS","icon":"code","href":"/home/setup/custom-vfs"},{"title":"VFS.md and SKILL.md","icon":"file-lines","href":"/home/setup/vfs-md"},{"group":"Local \u0026 Infrastructure","icon":"server","pages":[{"title":"RAM","icon":"memory","href":"/home/setup/ram"},{"title":"Disk","icon":"hard-drive","href":"/home/setup/disk"},{"title":"OPFS","icon":"hard-drive","href":"/home/setup/opfs"},{"title":"Redis","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/redis-logo.svg","href":"/home/setup/redis"},{"title":"SSH","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/ssh-logo.svg","href":"/home/setup/ssh"}]},{"group":"Object Storage","icon":"cloud","pages":[{"title":"S3","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/s3-logo.svg","href":"/home/setup/s3"},{"title":"Cloudflare R2","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/cloudflare-logo.svg","href":"/home/setup/r2"},{"title":"Google Cloud Storage","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/gcs-logo.svg","href":"/home/setup/gcs"},{"title":"OCI Object Storage","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/oracle-logo.svg","href":"/home/setup/oci"},{"title":"Supabase Storage","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/supabase-logo.svg","href":"/home/setup/supabase"},{"title":"MinIO","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/minio-logo.svg","href":"/home/setup/minio"},{"title":"Ceph (Rados Gateway)","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/ceph-logo.svg","href":"/home/setup/ceph"},{"title":"SeaweedFS","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/seaweedfs-logo.svg","href":"/home/setup/seaweedfs"},{"title":"Wasabi","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/wasabi-logo.svg","href":"/home/setup/wasabi"},{"title":"Backblaze B2","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/backblaze-logo.svg","href":"/home/setup/backblaze"},{"title":"DigitalOcean Spaces","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/digitalocean-logo.svg","href":"/home/setup/digitalocean"},{"title":"Tencent COS","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/tencent-logo.svg","href":"/home/setup/tencent"},{"title":"Alibaba OSS","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/aliyun-logo.svg","href":"/home/setup/aliyun"},{"title":"Scaleway","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/scaleway-logo.svg","href":"/home/setup/scaleway"},{"title":"QingStor","icon":"cloud","href":"/home/setup/qingstor"},{"title":"HF Buckets","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/huggingface-logo.svg","href":"/home/setup/hf_buckets"}]},{"group":"Cloud \u0026 Productivity","icon":"folder-open","pages":[{"title":"Google Workspace","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/google-logo.svg","href":"/home/setup/google"},{"title":"Google Calendar","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/gcal-logo.svg","href":"/home/setup/gcal"},{"title":"OneDrive","icon":"microsoft","href":"/home/setup/onedrive"},{"title":"SharePoint","icon":"microsoft","href":"/home/setup/sharepoint"},{"title":"Dropbox","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/dropbox-logo.svg","href":"/home/setup/dropbox"},{"title":"Box","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/box-logo.svg","href":"/home/setup/box"},{"title":"Nextcloud","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/nextcloud-logo.svg","href":"/home/setup/nextcloud"},{"title":"Databricks Volume","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/databricks-logo.svg","href":"/home/setup/databricks"},{"title":"TiDB Cloud Filesystem","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/tidb-logo.svg","href":"/home/setup/tidb"}]},{"group":"Developer \u0026 Messaging","icon":"code","pages":[{"title":"GitHub","icon":"github","href":"/home/setup/github"},{"title":"HF Spaces","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/huggingface-logo.svg","description":"Set up Hugging Face Spaces credentials.","href":"/home/setup/hf_spaces"},{"title":"Linear","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/linear-logo.svg","href":"/home/setup/linear"},{"title":"Weights \u0026 Biases","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/wandb-logo.svg","description":"Read experiment runs, configuration, summaries, history, and run files.","href":"/home/setup/wandb"},{"title":"Langfuse","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/langfuse-logo.svg","href":"/home/setup/langfuse"},{"title":"Jaeger","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/jaeger-logo.svg","href":"/home/setup/jaeger"},{"title":"Slack","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/slack-logo.svg","href":"/home/setup/slack"},{"title":"Discord","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/discord-logo.svg","href":"/home/setup/discord"},{"title":"Email","icon":"envelope","href":"/home/setup/email"}]},{"group":"Data \u0026 AI","icon":"database","pages":[{"title":"MongoDB","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/mongodb-logo.svg","href":"/home/setup/mongodb"},{"title":"GridFS","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/mongodb-logo.svg","href":"/home/setup/gridfs"},{"title":"Postgres","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/postgres-logo.svg","href":"/home/setup/postgres"},{"title":"Airtable","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/airtable-logo.svg","href":"/home/setup/airtable"},{"title":"Chroma","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/chroma-logo.svg","href":"/home/setup/chroma"},{"title":"LanceDB","icon":"database","href":"/home/setup/lancedb"},{"title":"Qdrant","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/qdrant-logo.svg","href":"/home/setup/qdrant"},{"title":"Dify","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/dify-logo.svg","href":"/home/setup/dify"},{"title":"Mem0","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/mem0.svg","href":"/home/setup/mem0"},{"title":"HF Datasets","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/huggingface-logo.svg","href":"/home/setup/hf_datasets"},{"title":"HF Models","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/huggingface-logo.svg","href":"/home/setup/hf_models"}]},{"group":"Notes \u0026 Tasks","icon":"book","pages":[{"title":"Notion","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/notion-logo.svg","href":"/home/setup/notion"},{"title":"Trello","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/trello-logo.svg","href":"/home/setup/trello"}]}]},{"group":"Integration","pages":[{"title":"Integration","sidebarTitle":"Overview","icon":"plug","href":"/home/integration/overview"},{"title":"Search","icon":"magnifying-glass","href":"/home/integration/search"},{"title":"Lines","icon":"list-ol","href":"/home/integration/lines"},{"title":"Checksums","icon":"fingerprint","href":"/home/integration/checksums"},{"title":"Walks","icon":"folder-tree","href":"/home/integration/walks"}]},{"group":"CLIs","pages":[{"title":"Overview","icon":"wrench","href":"/home/setup/clis"},{"group":"CLIs","icon":"wrench","pages":[{"title":"Himalaya","icon":"envelope","href":"/home/setup/cli/himalaya"},{"title":"GWS","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/google-logo.svg","href":"/home/setup/cli/gws"},{"title":"Slack","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/slack-logo.svg","href":"/home/setup/cli/slack"},{"title":"Discord","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/discord-logo.svg","href":"/home/setup/cli/discord"},{"title":"ntn","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/notion-logo.svg","href":"/home/setup/cli/ntn"},{"title":"Linear","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/linear-logo.svg","href":"/home/setup/cli/linear"},{"title":"Trello","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/trello-logo.svg","href":"/home/setup/cli/trello"},{"title":"Airtable","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/airtable-logo.svg","href":"/home/setup/cli/airtable"},{"title":"gh","icon":"github","href":"/home/setup/cli/gh"},{"title":"hf","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/huggingface-logo.svg","href":"/home/setup/cli/hf"},{"title":"git","icon":"git-alt","href":"/home/setup/cli/git"},{"title":"search","icon":"magnifying-glass","href":"/home/setup/cli/search"}]}]},{"group":"Mirage Shell","pages":[{"title":"Mirage shell","icon":"square-terminal","href":"/home/core/shell"},{"title":"Command Output Limits","sidebarTitle":"Output Limits","icon":"gauge","href":"/home/core/output-limits"},{"title":"Core Tools","icon":"wrench","href":"/home/core/tools"},{"title":"Data \u0026 Network","icon":"network-wired","href":"/home/core/data-network"}]},{"group":"Agent Profiles","pages":[{"title":"Agent profiles","sidebarTitle":"Overview","icon":"robot","href":"/home/profiles"}]},{"group":"Policy","pages":[{"title":"Policy","sidebarTitle":"Overview","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/policy-icon.svg","href":"/home/policy/overview"},{"title":"Policies","icon":"gavel","href":"/home/policy/policies"},{"title":"Scripts","icon":"code","href":"/home/policy/scripts"},{"title":"Explain","icon":"lightbulb","href":"/home/policy/explain"},{"title":"Route Runtime","icon":"route","href":"/home/policy/route-runtime"},{"title":"Route Network","icon":"network-wired","href":"/home/policy/route-network"}]},{"group":"Runtimes","pages":[{"title":"Runtimes","sidebarTitle":"Overview","icon":"microchip","href":"/home/setup/runtime/overview"},{"group":"Python","icon":"python","pages":[{"title":"Monty","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/pydantic-logo.svg","href":"/home/setup/runtime/monty"},{"title":"WASI","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/webassembly-logo.svg","href":"/home/setup/runtime/wasi"},{"title":"Pyodide","icon":"python","href":"/home/setup/runtime/pyodide"}]},{"group":"JavaScript","icon":"js","pages":[{"title":"QuickJS","icon":"js","href":"/home/setup/runtime/quickjs"}]},{"title":"Local","icon":"laptop","href":"/home/setup/runtime/local"},{"group":"Sandbox","icon":"server","pages":[{"title":"Overview","icon":"server","href":"/home/setup/runtime/sandbox"},{"title":"Sandlock","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/sandlock-logo.svg","href":"/home/setup/runtime/sandbox/sandlock"},{"title":"Docker","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/docker-logo.svg","href":"/home/setup/runtime/sandbox/docker"},{"title":"Apple Container","icon":"apple","href":"/home/setup/runtime/sandbox/apple_container"},{"title":"smolvm","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/smolvm-logo.svg","href":"/home/setup/runtime/sandbox/smolvm"},{"title":"microsandbox","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/microsandbox-logo.svg","href":"/home/setup/runtime/sandbox/microsandbox"},{"title":"Daytona","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/daytona-logo.svg","href":"/home/setup/runtime/sandbox/daytona"},{"title":"E2B","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/e2b-logo.svg","href":"/home/setup/runtime/sandbox/e2b"},{"title":"SSH","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/ssh-logo.svg","href":"/home/setup/runtime/sandbox/ssh"}]},{"title":"Custom runtime","icon":"code","href":"/home/setup/runtime/custom"}]},{"group":"Infrastructure","pages":[{"title":"Overview","icon":"network-wired","href":"/home/infrastructure/overview"},{"title":"Namespace","icon":"link","href":"/home/infrastructure/namespace"},{"title":"Sessions","icon":"user","href":"/home/infrastructure/sessions"},{"title":"History","icon":"clock-rotate-left","href":"/home/infrastructure/history"},{"title":"Jobs","icon":"list-check","href":"/home/infrastructure/jobs"},{"title":"File cache","icon":"database","href":"/home/infrastructure/file-cache"},{"title":"Index","icon":"folder-tree","href":"/home/infrastructure/file-index"}]},{"group":"Configuration","pages":[{"title":"Workspace configuration","icon":"sliders","href":"/home/configuration"},{"title":"Service credentials","sidebarTitle":"Service credentials","icon":"key","href":"/home/authentication"}]},{"group":"Notifications","pages":[{"title":"Overview","sidebarTitle":"Overview","icon":"bell","href":"/home/notifications"},{"title":"VFS Notifications","icon":"table-cells","href":"/home/notifications/support"}]},{"group":"Help","pages":[{"title":"Troubleshooting","icon":"life-ring","href":"/home/troubleshooting"}]}]},{"tab":"Python","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/python-logo.svg","pages":[{"title":"Python","href":"/python/install"}]},{"tab":"TS","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/typescript-logo.svg","pages":[{"title":"TS","href":"/typescript/install"}]}]},"basePath":"","title":"Linear - Mirage","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":[],"chunks":[]}