From claude-in-office
Diagnoses Claude Office add-in deployment issues like stale configs, connection failures, missing add-ins, and auth errors via admin triage playbook.
How this command is triggered — by the user, by Claude, or both
Slash command
/claude-in-office:debugThe summary Claude sees in its command listing — used to decide when to auto-load this command
# Debug a Claude Office deployment You are helping an enterprise admin diagnose why the deployed add-in isn't working right. Start by asking **what's wrong**, then route. ## Triage Ask the admin to describe the symptom. Route by answer: | Symptom | Section | |---|---| | Updated the manifest but users still see old config | [Stale config after update](#stale-config-after-update) | | Add-in shows "Connection failed" | [Read the error paste](#read-the-error-paste) | | Add-in doesn't appear in Excel/PowerPoint at all | [Add-in not visible](#add-in-not-visible) | | Sign-in popup fails or loo...
You are helping an enterprise admin diagnose why the deployed add-in isn't working right. Start by asking what's wrong, then route.
Ask the admin to describe the symptom. Route by answer:
| Symptom | Section |
|---|---|
| Updated the manifest but users still see old config | Stale config after update |
| Add-in shows "Connection failed" | Read the error paste |
| Add-in doesn't appear in Excel/PowerPoint at all | Add-in not visible |
| Sign-in popup fails or loops | Admin consent |
| Need to see the browser console | Opening browser devtools |
If they have an error paste from the add-in (the Copy error details button on the connect-failed screen), always start there. It carries everything.
Paste structure:
Claude for Office connection failed (<Provider>)
Build: <sha>
<friendly message>
Request:
<key>: <value actually sent>
...
Manifest params:
<key>: <value the deployed manifest carries>
...
Raw error:
<SDK/HTTP error>
What to check:
Request: vs Manifest params: delta. Keys are the same snake_case names
in both blocks, so diff directly. If they differ, the user typed override
values into the form. If they match, the manifest values went through
unchanged.Manifest params: m key is the version tag (e.g. unified-1.0.0.11). If
it's below what you last uploaded, the user is on a stale manifest. Go to
Stale config.Raw error: is the ground truth. Common patterns:
invalid_client (401, Google) → wrong google_client_secret for that
google_client_id. Verify in GCP Console → Credentials.Load failed (<host>) → network blocked at the WebView layer. Firewall
needs to allow that host.STS AssumeRoleWithWebIdentity failed → AWS IAM OIDC provider
misconfigured or role trust policy wrong.HTTP 401/403 (gateway) → bad token or gateway rejected the key.Two caches, two clocks:
| Layer | Who holds it | TTL | How to clear |
|---|---|---|---|
| Service | M365 Admin Center → Exchange Online → client | Up to 72h for updates (24h for fresh deploys) | Wait, or redeploy with a fresh <Id> |
| Client | Office app's Wef folder on each machine | Until app restart, sometimes longer | Delete the folder |
Microsoft's own FAQ:
It can take up to 72 hours for add-in updates, changes from turn on or turn off to reflect for users. https://learn.microsoft.com/en-us/microsoft-365/admin/manage/centralized-deployment-faq
Admin Center silently ignores re-uploads with the same <Version>. If you
uploaded a fix without bumping the fourth segment, it never took. Open M365
Admin Center → Integrated apps → your add-in → check the listed version.
Quit Excel/PowerPoint first, then:
macOS:
rm -rf ~/Library/Containers/com.microsoft.Excel/Data/Library/Caches/
rm -rf ~/Library/Containers/com.microsoft.Powerpoint/Data/Library/Caches/
rm -rf ~/Library/Containers/com.microsoft.Excel/Data/Documents/wef
rm -rf ~/Library/Containers/com.microsoft.Powerpoint/Data/Documents/wef
Windows:
rd /s /q "%LOCALAPPDATA%\Microsoft\Office\16.0\Wef"
Relaunch. If still stale, the service-side cache hasn't caught up. Wait, or
use a fresh <Id> (below).
Microsoft's cache-clear doc: https://learn.microsoft.com/en-us/office/dev/add-ins/testing/clear-cache
If 72h is unacceptable, a fresh <Id> UUID forces Admin Center and every
client to treat it as a brand-new add-in (24h fresh-deploy SLA, usually much
faster). Edit manifest.xml, replace the text inside <Id> with a new UUID
(uuidgen on mac/linux, [guid]::NewGuid() in PowerShell), re-upload.
<Hosts>
may not include this app. Check both <Hosts> lists (top-level and under
<VersionOverrides>).If the user sees a sign-in popup that closes immediately or loops, the tenant
hasn't granted admin consent to the Claude app. Run
:consent to generate the consent URL for a Global Admin to
approve. The symptom in error pastes: user_canceled in the raw error (the
broker maps any unclassifiable close to that).
When you need the WebView's console — JS errors, network tab, the add-in's debug logs — you have to attach the host OS's browser devtools. The add-in runs in an embedded WebView with no address bar and no built-in F12, so each OS has its own recipe.
Three gates. Gate 3 is the one everyone misses.
Office developer extras — quit the app first, then:
defaults write com.microsoft.Excel OfficeWebAddinDeveloperExtras -bool true
defaults write com.microsoft.Powerpoint OfficeWebAddinDeveloperExtras -bool true
defaults write com.microsoft.Word OfficeWebAddinDeveloperExtras -bool true
Makes right-click → Inspect Element appear inside the task pane.
Safari Develop menu — Safari → Settings → Advanced → check Show features for web developers.
macOS Developer Tools allowlist (Sonoma and later) — System Settings → Privacy & Security → Developer Tools → toggle Terminal on. Without this, Safari's Develop menu shows "No Inspectable Applications" even with gates 1 and 2 open.
With the task pane open, either right-click inside it → Inspect Element,
or go to Safari → Develop → [your machine name] → find the add-in host
(pivot.claude.ai in prod, your configured domain otherwise).
Gotchas:
defaults write.defaults write. pkill -f "Microsoft Excel" then
relaunch.Depends on which WebView engine Office is using. Current M365 on Win10/11 with the WebView2 runtime gets Chromium; older perpetual Office or machines without the runtime may still be on IE11/Trident.
WebView2 (Chromium — the common case):
Right-click inside the task pane → Inspect. That's it, no gates. If right-click doesn't show Inspect, install Microsoft Edge DevTools Preview from the Microsoft Store — it lists all attachable WebView2 targets including Office add-ins. Launch it, find the add-in's URL in the target list, click to attach.
IE11/Trident (legacy Office 2019/2021 perpetual):
Run the IEChooser from an admin PowerShell:
& "C:\Windows\SysWOW64\F12\IEChooser.exe"
Pick the add-in's page from the list. If the list is empty, the task pane isn't open yet — open it first, then refresh IEChooser.
Microsoft's walkthrough: https://learn.microsoft.com/en-us/office/dev/add-ins/testing/debug-add-ins-using-devtools-edge-chromium
npx claudepluginhub nbreeze-eric/financial-services-plugins-cn --plugin claude-in-office7plugins reuse this command
First indexed Apr 1, 2026
Showing the 6 earliest of 7 plugins
/debugDiagnoses and resolves enterprise add-in deployment issues — stale configs, connection failures, missing add-ins, and auth loops. Triages by symptom and guides through manifest/cache fixes.
/cc-troubleshootDiagnoses and fixes Claude Code setup and runtime issues via full diagnostics or targeted checks (auth, MCP, hooks, config, etc.), producing PASS/WARN/FAIL reports with recommended and auto-fixes.
/workers-debugInteractively diagnoses Cloudflare Workers issues — deployment errors, runtime crashes, binding failures, and performance problems — with step-by-step investigation and fixes.
/debugTriggers a structured debugging workflow when encountering bugs, test failures, or unexpected behavior — before proposing any fixes.
/troubleshootDiagnoses issues in code, builds, deployments, and system behavior with structured root cause analysis and safe fix application.
/guiDebugs and validates GUI systems including web dashboards, CLI interfaces, and visual components with automated diagnostics, testing, performance analysis, accessibility checks, and fixes. Supports scan modes via flags.