[{"data":1,"prerenderedAt":473},["ShallowReactive",2],{"docs-navigation":3,"i-lucide:book-open":96,"i-lucide:history":100,"i-lucide:shield-check":102,"i-lucide:mail":104,"i-lucide:search":106,"i-lucide:moon":108,"i-lucide:sun":110,"i-lucide:menu":112,"i-lucide:chevron-down":114,"i-lucide:arrow-up-right":116,"i-simple-icons:github":118,"docs-\u002Fdocs\u002Fguides\u002Ftroubleshooting":120,"docs-surround-\u002Fdocs\u002Fguides\u002Ftroubleshooting":458,"i-lucide:arrow-left":463,"i-lucide:arrow-right":465,"i-lucide:copy":467,"i-lucide:key-round":469,"i-lucide:hash":471},[4],{"title":5,"path":6,"stem":7,"children":8},"Introduction","\u002Fdocs","docs\u002F1.index",[9,10,28,45,66,79],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13,"children":14,"page":27},"Install","\u002Fdocs\u002Finstall","docs\u002F2.install",[15,19,23],{"title":16,"path":17,"stem":18},"Install with the installer","\u002Fdocs\u002Finstall\u002Finstaller","docs\u002F2.install\u002F1.installer",{"title":20,"path":21,"stem":22},"Install from source","\u002Fdocs\u002Finstall\u002Ffrom-source","docs\u002F2.install\u002F2.from-source",{"title":24,"path":25,"stem":26},"Register with Claude","\u002Fdocs\u002Finstall\u002Fclaude-clients","docs\u002F2.install\u002F3.claude-clients",false,{"title":29,"path":30,"stem":31,"children":32,"page":27},"Providers","\u002Fdocs\u002Fproviders","docs\u002F3.providers",[33,37,41],{"title":34,"path":35,"stem":36},"Outlook.com","\u002Fdocs\u002Fproviders\u002Foutlook","docs\u002F3.providers\u002F1.outlook",{"title":38,"path":39,"stem":40},"Gmail, Fastmail, iCloud and any IMAP server","\u002Fdocs\u002Fproviders\u002Fother-providers","docs\u002F3.providers\u002F2.other-providers",{"title":42,"path":43,"stem":44},"Overriding provider endpoints","\u002Fdocs\u002Fproviders\u002Fendpoint-overrides","docs\u002F3.providers\u002F3.endpoint-overrides",{"title":46,"path":47,"stem":48,"children":49,"page":27},"Reference","\u002Fdocs\u002Freference","docs\u002F4.reference",[50,54,58,62],{"title":51,"path":52,"stem":53},"Tools","\u002Fdocs\u002Freference\u002Ftools","docs\u002F4.reference\u002F1.tools",{"title":55,"path":56,"stem":57},"Configuration","\u002Fdocs\u002Freference\u002Fconfiguration","docs\u002F4.reference\u002F2.configuration",{"title":59,"path":60,"stem":61},"CLI","\u002Fdocs\u002Freference\u002Fcli","docs\u002F4.reference\u002F3.cli",{"title":63,"path":64,"stem":65},"Permissions","\u002Fdocs\u002Freference\u002Fpermissions","docs\u002F4.reference\u002F4.permissions",{"title":67,"path":68,"stem":69,"children":70,"page":27},"Guides","\u002Fdocs\u002Fguides","docs\u002F5.guides",[71,75],{"title":72,"path":73,"stem":74},"The settings window","\u002Fdocs\u002Fguides\u002Fsettings-window","docs\u002F5.guides\u002F1.settings-window",{"title":76,"path":77,"stem":78},"Troubleshooting","\u002Fdocs\u002Fguides\u002Ftroubleshooting","docs\u002F5.guides\u002F2.troubleshooting",{"title":80,"path":81,"stem":82,"children":83,"page":27},"About","\u002Fdocs\u002Fabout","docs\u002F6.about",[84,88,92],{"title":85,"path":86,"stem":87},"Notes and limits","\u002Fdocs\u002Fabout\u002Flimits","docs\u002F6.about\u002F1.limits",{"title":89,"path":90,"stem":91},"Architecture","\u002Fdocs\u002Fabout\u002Farchitecture","docs\u002F6.about\u002F2.architecture",{"title":93,"path":94,"stem":95},"Contributing","\u002Fdocs\u002Fabout\u002Fcontributing","docs\u002F6.about\u002F3.contributing",{"left":97,"top":97,"width":98,"height":98,"rotate":97,"vFlip":27,"hFlip":27,"body":99},0,24,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 5v16m8.001-2A2 2 0 0 0 22 17V5a2 2 0 0 0-1.999-2L16 3.002A5 5 0 0 0 12 5a5 5 0 0 0-4-2H4a2 2 0 0 0-2 2v12a2 2 0 0 0 1.999 2H8a5 5 0 0 1 4 2a5 5 0 0 1 4-2z\"\u002F>",{"left":97,"top":97,"width":98,"height":98,"rotate":97,"vFlip":27,"hFlip":27,"body":101},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M3 12a9 9 0 1 0 9-9a9.75 9.75 0 0 0-6.74 2.74L3 8\"\u002F>\u003Cpath d=\"M3 3v5h5m4-1v5l4 2\"\u002F>\u003C\u002Fg>",{"left":97,"top":97,"width":98,"height":98,"rotate":97,"vFlip":27,"hFlip":27,"body":103},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\"\u002F>\u003Cpath d=\"m9 12l2 2l4-4\"\u002F>\u003C\u002Fg>",{"left":97,"top":97,"width":98,"height":98,"rotate":97,"vFlip":27,"hFlip":27,"body":105},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m22 7l-8.991 5.727a2 2 0 0 1-2.009 0L2 7\"\u002F>\u003Crect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\"\u002F>\u003C\u002Fg>",{"left":97,"top":97,"width":98,"height":98,"rotate":97,"vFlip":27,"hFlip":27,"body":107},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m21 21l-4.34-4.34\"\u002F>\u003Ccircle cx=\"11\" cy=\"11\" r=\"8\"\u002F>\u003C\u002Fg>",{"left":97,"top":97,"width":98,"height":98,"rotate":97,"vFlip":27,"hFlip":27,"body":109},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\"\u002F>",{"left":97,"top":97,"width":98,"height":98,"rotate":97,"vFlip":27,"hFlip":27,"body":111},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"4\"\u002F>\u003Cpath d=\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\"\u002F>\u003C\u002Fg>",{"left":97,"top":97,"width":98,"height":98,"rotate":97,"vFlip":27,"hFlip":27,"body":113},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":97,"top":97,"width":98,"height":98,"rotate":97,"vFlip":27,"hFlip":27,"body":115},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 9l6 6l6-6\"\u002F>",{"left":97,"top":97,"width":98,"height":98,"rotate":97,"vFlip":27,"hFlip":27,"body":117},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 7h10v10M7 17L17 7\"\u002F>",{"left":97,"top":97,"width":98,"height":98,"rotate":97,"vFlip":27,"hFlip":27,"body":119},"\u003Cpath fill=\"currentColor\" d=\"M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"\u002F>",{"id":121,"title":76,"body":122,"description":451,"extension":452,"icon":453,"meta":454,"navTitle":76,"navigation":455,"path":77,"seo":456,"stem":78,"__hash__":457},"docs\u002Fdocs\u002F5.guides\u002F2.troubleshooting.md",{"type":123,"value":124,"toc":445},"minimark",[125,129,138,143,157,167,182,186,189,249,283,287,427,441],[126,127,76],"h1",{"id":128},"troubleshooting",[130,131,132,133,137],"p",{},"Start with ",[134,135,136],"code",{},"rubit-mcp-mail doctor",". If that passes in a terminal but the server\nfails inside Claude, the problem is almost always the environment — read on.",[139,140,142],"h2",{"id":141},"the-startup-summary","The startup summary",[130,144,145,148,149,152,153,156],{},[134,146,147],{},"serve"," logs a startup summary to stderr, which Claude Desktop captures in\n",[134,150,151],{},"~\u002F.config\u002FClaude\u002Flogs\u002Fmcp-server-\u003Cname>.log"," and Claude Code shows with\n",[134,154,155],{},"claude --mcp-debug",". It names the config path, the secret backend in use, and\nwhether each account's credential was found:",[158,159,164],"pre",{"className":160,"code":162,"language":163},[161],"language-text","config: \u002Fhome\u002Fyou\u002F.config\u002Frubit-mcp-mail\u002Fconfig.toml (found)\nsecrets: keyring (keyring.backends.SecretService)\naccount outlook \u003Cyou@outlook.com> via outlook: credential present (key 'msal-cache:outlook')\n","text",[134,165,162],{"__ignoreMap":166},"",[130,168,169,170,173,174,177,178,181],{},"For more, set ",[134,171,172],{},"RUBIT_MCP_MAIL_LOG_LEVEL=DEBUG"," (and optionally\n",[134,175,176],{},"RUBIT_MCP_MAIL_LOG_FILE=\u002Ftmp\u002Frubit-mail.log",") in the ",[134,179,180],{},"env"," block; at DEBUG the\nserver also reports each account's live auth status, including why a silent\ntoken refresh failed.",[139,183,185],{"id":184},"reproducing-the-clients-environment","Reproducing the client's environment",[130,187,188],{},"To watch it by hand, run the server in the foreground with the same stripped\nenvironment the client uses:",[158,190,194],{"className":191,"code":192,"language":193,"meta":166,"style":166},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","env -i HOME=\"$HOME\" USER=\"$USER\" PATH=\u002Fusr\u002Flocal\u002Fbin:\u002Fusr\u002Fbin:\u002Fbin \\\n  RUBIT_MCP_MAIL_LOG_LEVEL=DEBUG .\u002F.venv\u002Fbin\u002Frubit-mcp-mail serve\n","bash",[134,195,196,237],{"__ignoreMap":166},[197,198,201,204,208,211,215,219,221,224,226,229,231,234],"span",{"class":199,"line":200},"line",1,[197,202,180],{"class":203},"sBMFI",[197,205,207],{"class":206},"sfazB"," -i",[197,209,210],{"class":206}," HOME=",[197,212,214],{"class":213},"sMK4o","\"",[197,216,218],{"class":217},"sTEyZ","$HOME",[197,220,214],{"class":213},[197,222,223],{"class":206}," USER=",[197,225,214],{"class":213},[197,227,228],{"class":217},"$USER",[197,230,214],{"class":213},[197,232,233],{"class":206}," PATH=\u002Fusr\u002Flocal\u002Fbin:\u002Fusr\u002Fbin:\u002Fbin",[197,235,236],{"class":217}," \\\n",[197,238,240,243,246],{"class":199,"line":239},2,[197,241,242],{"class":206},"  RUBIT_MCP_MAIL_LOG_LEVEL=DEBUG",[197,244,245],{"class":206}," .\u002F.venv\u002Fbin\u002Frubit-mcp-mail",[197,247,248],{"class":206}," serve\n",[250,251,254],"callout",{"color":252,"icon":253},"warning","i-lucide-key-round",[130,255,256,257,260,261,263,264,267,268,272,273,276,277,282],{},"If that prints ",[134,258,259],{},"credential NOT FOUND"," while ",[134,262,136],{}," in your\nterminal prints ",[134,265,266],{},"auth ok",", the mismatch is the ",[269,270,271],"strong",{},"environment, not the token"," —\ncompare the ",[134,274,275],{},"secrets:"," line from each. The fix is in\n",[278,279,281],"a",{"href":280},"\u002Fdocs\u002Finstall\u002Fclaude-clients#linux","Register with Claude → Linux",".",[139,284,286],{"id":285},"common-symptoms","Common symptoms",[288,289,290,303],"table",{},[291,292,293],"thead",{},[294,295,296,300],"tr",{},[297,298,299],"th",{},"Symptom",[297,301,302],{},"Likely cause",[304,305,306,341,352,360,374,388,399,415],"tbody",{},[294,307,308,318],{},[309,310,311,312,315,316],"td",{},"Every account reports \"not authenticated\" inside Claude Desktop, but ",[134,313,314],{},"doctor"," says ",[134,317,266],{},[309,319,320,321,324,325,328,329,332,333,336,337,340],{},"Stripped environment: ",[134,322,323],{},"keyring"," can't reach the Secret Service. Pass ",[134,326,327],{},"DBUS_SESSION_BUS_ADDRESS"," and ",[134,330,331],{},"XDG_RUNTIME_DIR",", or set ",[134,334,335],{},"RUBIT_MCP_MAIL_NO_KEYRING=1"," on ",[269,338,339],{},"both"," sides.",[294,342,343,346],{},[309,344,345],{},"Outlook device-code sign-in fails immediately",[309,347,348,351],{},[269,349,350],{},"Allow public client flows"," was not set to Yes in the Azure app registration (step 5).",[294,353,354,357],{},[309,355,356],{},"Outlook rejects the sign-in outright",[309,358,359],{},"Supported account types is single-tenant. It must be \"any organizational directory and personal Microsoft accounts\" (step 3).",[294,361,362,368],{},[309,363,364,367],{},[134,365,366],{},"posix_spawn"," cannot find the binary",[309,369,370,371,282],{},"Trailing or leading whitespace around the path in ",[134,372,373],{},"claude mcp add",[294,375,376,382],{},[309,377,378,381],{},[134,379,380],{},"folder: \"junk\""," finds nothing",[309,383,384,385,387],{},"The server didn't advertise SPECIAL-USE and the name didn't match. Run ",[134,386,314],{}," to see the classification, and use the raw folder name.",[294,389,390,393],{},[309,391,392],{},"A permission toggle had no effect",[309,394,395,396,398],{},"The running ",[134,397,147],{}," process cached its config. Restart the client.",[294,400,401,407],{},[309,402,403,404],{},"A tool returns ",[134,405,406],{},"Error: '\u003Ctool>' is disabled for account '\u003Cname>'",[309,408,409,410,282],{},"It is in that account's ",[278,411,412],{"href":64},[134,413,414],{},"disabled_tools",[294,416,417,420],{},[309,418,419],{},"Windows Defender or Avast flags the installer",[309,421,422,426],{},[278,423,425],{"href":424},"\u002Fdocs\u002Finstall\u002Finstaller#a-note-on-antivirus-warnings","Known false positive"," for unsigned PyInstaller binaries.",[130,428,429,430,436,437,282],{},"Still stuck? ",[278,431,435],{"href":432,"rel":433},"https:\u002F\u002Fgithub.com\u002Fbgalmes\u002Frubit-mcp-mail\u002Fissues",[434],"nofollow","Open an issue","\nor ",[278,438,440],{"href":439},"\u002Fcontact","get in touch",[442,443,444],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":166,"searchDepth":239,"depth":446,"links":447},3,[448,449,450],{"id":141,"depth":239,"text":142},{"id":184,"depth":239,"text":185},{"id":285,"depth":239,"text":286},"Logs, the stripped-environment keyring problem, and how to reproduce a client's environment.","md","i-lucide-life-buoy",{},true,{"title":76,"description":451},"J2ezEfLOvSaj5xo5L2UJYiovMxcCtrg-Ge7hzkj6nRo",[459,461],{"title":72,"path":73,"stem":74,"description":460,"children":-1},"A desktop window for everything in config.toml — accounts, permissions, providers and doctor.",{"title":85,"path":86,"stem":87,"description":462,"children":-1},"What IMAP search can and cannot do, body truncation, and the Microsoft risk.",{"left":97,"top":97,"width":98,"height":98,"rotate":97,"vFlip":27,"hFlip":27,"body":464},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m12 19l-7-7l7-7m7 7H5\"\u002F>",{"left":97,"top":97,"width":98,"height":98,"rotate":97,"vFlip":27,"hFlip":27,"body":466},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 12h14m-7-7l7 7l-7 7\"\u002F>",{"left":97,"top":97,"width":98,"height":98,"rotate":97,"vFlip":27,"hFlip":27,"body":468},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\" ry=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fg>",{"left":97,"top":97,"width":98,"height":98,"rotate":97,"vFlip":27,"hFlip":27,"body":470},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z\"\u002F>\u003Ccircle cx=\"16.5\" cy=\"7.5\" r=\".5\" fill=\"currentColor\"\u002F>\u003C\u002Fg>",{"left":97,"top":97,"width":98,"height":98,"rotate":97,"vFlip":27,"hFlip":27,"body":472},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 9h16M4 15h16M10 3L8 21m8-18l-2 18\"\u002F>",1789573342689]