73 Commits
Author SHA1 Message Date
henry-hai 574ed3624a Delete claude-for-financial-advisors directory (#354)
Delete the financial advisors directory in anthropics/financial-services
2026-09-21 22:10:41 +01:00
john-michaelandClaude fca3cc8e6c build-manifest: put credentials in the URL fragment, not the query string (#356)
* build-manifest: put credentials in the URL fragment, not the query string

Claude for Office reads manifest settings from the URL fragment; query-string
credentials are deprecated there and ignored from 2026-10-19
(anthropics/office-agent#2857). Fragments are not sent in HTTP requests.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LTWZSYSeY8PZFPmQ3PXJin

* manifest docs: trim the fragment explanation

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LTWZSYSeY8PZFPmQ3PXJin

* build-manifest: rename FRAGMENT_KEYS to SENSITIVE_KEYS

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LTWZSYSeY8PZFPmQ3PXJin

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-09-18 19:48:55 -04:00
Omar Mihilmy 35c80df9f4 access_policies: document and validate the file_path identifier (#352)
Admins can now write add-in access rules that match the open document's path, for files that can't carry a sensitivity label (for example, on a network share).
- access-policies.md: a path example, the grammar and operator entries, and a rule covering how paths are compared and their limits.
- build-manifest.mjs: accepts file_path with equals | startsWith, and warns when it is used on uploaded_file, where it can never match.
2026-09-15 17:30:01 -04:00
Tobin South 90912d92c7 Drop claude-for-financial-advisors marketplace entry (#351)
The plugin directory stays; only the marketplace listing is removed to avoid a duplicate listing.
2026-09-14 17:42:44 +01:00
Tobin South 6e7f94d3fc Launch of Claude for Financial Advisors (#350)
Add Claude for Financial Advisors plugin
2026-09-14 17:14:17 +01:00
Tobin South 734150c2d9 Remove wealth-management plugin (#349) 2026-09-11 13:00:18 -07:00
Vivek Nair 69cbc81467 claude-for-msft-365-install: document the web_search disabled_features slug (#329)
docs: document the web_search disabled_features slug (0.1.11)

The add-in now enforces web_search in disabled_features: it removes the
native web_search/web_fetch server tools and the user toggle, leaving code
execution intact. Add it to the enforced-slug table with the pairing
guidance (mcp_servers for an in-network replacement search tool) and to the
build script's hint.
2026-08-24 18:04:28 -07:00
john-michael e5edf36b69 manifest: recognize the available_models config key (#311)
* manifest: recognize the available_models config key

Adds available_models to the KEYS validator (comma-separated ids or JSON
array of ids / {id,label} objects, mirroring the add-in's parser) and
documents it in manifest.md and bootstrap.md. Replaces the retired
disabled_models/additional_models pair from #294: available_models is a
single override list, so admins state the full picker rather than diffs.

No-Verification-Needed: exercised build-manifest.mjs directly against valid and invalid inputs

* bump claude-for-msft-365-install to 0.1.9

No-Verification-Needed: version bump only
2026-08-24 15:20:07 -04:00
Vivek Nair 33a3d8a9d6 fix: Update docs about Foundry (#323) 2026-08-21 14:14:00 -07:00
Omar Mihilmy 38652224c1 manifest: add access_policies key and guided access-policies command (#307)
* manifest: add access_policies key and guided access-policies command doc

Adds the access_policies config key — a JSON array of allow/deny
statements that supersedes disabled_features and can scope a rule to
documents by Purview sensitivity label. The build script recognizes
the key (warn-only shape check for a JSON array), manifest.md documents
it alongside disabled_features, and a new access-policies command walks
the admin through fetching label GUIDs, choosing statements, and the
matching rules to explain before shipping.

* Validate access_policies statement structure; document grammar and slugs

The build script now parses access_policies and warns on each statement
that fails the grammar — bad effect, unknown resource or identifier type,
an operator the identifier type does not support (a GUID takes only
equals | exists), an empty identifiers array, a blank action slug. These
are the shapes the add-in drops silently, so the build is the only place
they get caught; an unparseable value is fatal.

Docs: add a statement-grammar reference and the full feature-slug list to
access-policies.md, sync the disabled_features table in manifest.md with
all four slugs, add the missing access_policies field to bootstrap.md,
and fix the parent-label prefix example to include the " - " separator.
2026-08-04 10:41:29 -04:00
Omar Mihilmy eb0c1ea962 Add read-only add-in data export; harden cache-clear scripts (#302)
* Add read-only add-in data export; harden cache-clear scripts

Chat history, skills, MCP registrations and memory live only in browser
storage on the user's machine. Add export-addin-data.{sh,ps1} to copy them
before a rebuild, and fix the cache-clear scripts that sit next to them.

clear-addin-cache.sh matched the add-in ID case-sensitively, but Office names
the wef file with whatever casing the manifest <Id> carried. A lowercase GUID
reported "already clear" and exited 0, sending admins to the folder-wide wipe
that destroys chat history on Windows. Match case-insensitively, and make a
miss print NOT cleared and exit non-zero on both platforms.

clear-addin-cache.ps1 never parsed on Windows PowerShell 5.1: em dashes in a
BOM-less .ps1 are decoded as ANSI into mojibake containing a quote, which
terminates a string mid-file. All .ps1 files are now pure ASCII, and check.py
rejects non-ASCII bytes in a .ps1 without a UTF-8 BOM.

Also:
- export: parse the port out of WebKit's binary origin file. Dropping it made
  two origins on the same host collide in one export folder, silently
  overwriting the first.
- export: include localStorage, which holds settings, the inference config,
  and the onboarding/terms flags.
- export: exporting nothing while --out was given now exits non-zero, so
  "export then wipe" cannot treat an empty backup as success.
- export: a failed database copy no longer aborts the run; paths containing
  an apostrophe work.
- export.ps1: clear the destination before Copy-Item -Recurse, which nested
  instead of refreshing on a re-run; add -IncludeAll for stores whose names
  compaction has hidden; scan uncompressed LevelDB files first.
- clear.ps1: require a GUID for -Id, since Remove-Item -Path expands wildcards;
  escape value names for Remove-ItemProperty.
- clear.sh: scan Outlook too, and guard flags that take a value.
- Document why replacing or reinstalling a manifest never moves the data.

Verified on macOS against live add-in data, and on a Windows host against
Windows PowerShell 5.1.

* Export Windows localStorage as the whole per-profile store

localStorage holds the settings, the inference/customer config, and the
onboarding + terms-accepted flags -- none of it in IndexedDB -- so an export
without it left a rebuilt machine re-doing onboarding.

Chromium keeps one LevelDB per profile shared by every origin, so it cannot be
filtered down to one add-in. Copy it whole rather than drop it, once per Office
account, beside that account's origin folders. It therefore also contains other
origins' settings: the size is printed on every run including the argument-less
preview, the help text says so plainly, and the folder can simply be deleted
from the export if a data policy forbids it.

- Copy to a scratch name and swap only on success. Deleting the destination
  first meant a locked LOCK file (Office still running) left the export with
  neither the new copy nor the previous good one. A failure is now counted and
  reported as INCOMPLETE with a non-zero exit, matching the macOS script.
- Drive the copy off the unique profile list instead of the per-store loop, so
  a profile whose only store fails the origin-name parse keeps its settings.
- Report in list mode too, matching macOS -- the argument-less run is
  advertised as printing what it found.
- .SYNOPSIS/.DESCRIPTION no longer claim only Claude's data is copied.
- Correct the export-data doc: the export tree is relabelled for readability,
  not a path mirror, so it cannot be copied back verbatim.

Verified on a Windows host against Windows PowerShell 5.1: copied once per
profile, flat on re-run, real LevelDB contents present, disclosed in list mode
without writing anything.
2026-07-22 12:12:21 -04:00
Omar Mihilmy 4aa51ed3d3 manifest: add gateway_auth_source=entra; new entra-app.md registration doc (#281)
* manifest: add gateway_auth_source=entra param + Entra app registration docs (incl. GCC High)

- build-manifest.mjs: recognize gateway_auth_source; require entra_scope (→ graph_client_id, entra_sso=1); warn if paired with gateway_token; drop stale 'graph_client_id is Outlook-only' note
- manifest.md: new 'Use the Entra token as your gateway credential' section with a consolidated Entra app registration checklist (SPA redirect URI, Expose an API, admin consent, v2 tokens, gateway-side validation) and a GCC High/DoD subsection (portal.azure.us, .us issuer/JWKS)

* manifest.md: list both NAA redirect URIs (brk-multihub + https fallback)

The checklist only listed the https://.../msal-redirect.html SPA fallback. Desktop Office and Outlook web use the NAA broker, which requires brk-multihub://pivot.claude.ai registered as SPA — without it sign-in fails with AADSTS50011. Both are needed: brk-multihub for NAA, https for the Excel/Word/PPT Office-Web fallback where the NAA bridge isn't injected. Also pointed the earlier 'Bring your own Entra app' prose at the checklist instead of duplicating (incompletely).

* Split Entra app registration into commands/entra-app.md

manifest.md now documents what the params do; entra-app.md documents how to register the app (redirect URIs, per-use-case permissions table, admin consent, token version, backend validation, GCC-High/DoD, troubleshooting). Linked from every manifest.md section that needs your own app: graph_client_id, entra_scope, gateway_auth_source, sovereign clouds.
2026-06-26 17:55:14 -04:00
Omar Mihilmy 4bbabc7cd1 Add sovereign / national cloud (GCC-High, DoD, 21Vianet) docs and graph_cloud validation (#268)
* docs(claude-for-msft-365-install): sovereign-cloud support via graph_cloud enum

The Outlook add-in now supports GCC-High, DoD, and 21Vianet tenants via a
single graph_cloud manifest parameter (global | us-gov-high | us-gov-dod |
china) that maps to fixed Graph + Entra endpoint pairs — no admin-supplied
URLs. Teach the install plugin about it:

- commands/manifest.md: per-tenant graph_cloud table; DoD must always set it
  (shares an authority host with GCC High); non-global clouds require a BYO
  graph_client_id; the enum also governs Word/Excel/PowerPoint Entra SSO.
- scripts/build-manifest.mjs: register graph_cloud and hard-fail on
  unrecognized values or a non-global cloud without graph_client_id,
  mirroring the add-in's load-time checks so admins see the error at build
  time instead of an AADSTS code after deployment. Param building extracted
  into an exported buildParams() for testability.
- scripts/build-manifest.test.mjs: node:test suite — default query string
  unchanged, all enum values accepted, bad values and the removed URL params
  rejected.
- .github/workflows/plugin-validate.yml: run the test suite on every PR.

* Drop manifest script tests — graph_cloud validation is two inline checks
2026-06-05 16:53:08 -04:00
alvinlhan 120a31dced Adding Box to MCP Integrations (#187)
* Added Box to MCP Integrations

* Add Box to mcp.json
2026-05-29 12:31:43 -04:00
Matt Piccolella 286f906895 Add displayName to all marketplace plugin entries (#247)
* Add displayName to all marketplace plugin entries

* Bump pinned Claude Code CLI to 2.1.143 for marketplace displayName support
2026-05-26 09:14:37 -07:00
dlaw-ant 96bc9615bc Stamp metadata.anthropic_cookbook on managed-agent deploys (#245) 2026-05-20 22:32:05 -04:00
Matt PiccolellaandJake Marsh ef165e4160 fix(plugins): add SKILL.md frontmatter, repair hooks.json, dedupe spglobal MCP (#243)
The marketplace loader rejected 9 of 20 plugins on sync:

- 29 vertical-plugin SKILL.md sources had no YAML frontmatter — the
  skill name/description sat in the body as a bare `description:` line
  after the `# Title` H1. Synthesized proper `--- name/description ---`
  frontmatter (name = skill dir, description = the existing body text),
  matching the loading skills (e.g. fund-admin/accrual-schedule). Agent
  bundles re-synced via scripts/sync-agent-skills.py (12 copies).
- 4 hooks/hooks.json were `[]`; the loader requires a JSON object.
  Changed to `{ "hooks": {} }` — the form investment-banking already
  uses and that synced clean.
- partner-built/spglobal defined the `spglobal` MCP server both inline
  in plugin.json and in .mcp.json (identical). Dropped the inline copy;
  .mcp.json is the canonical location.

scripts/check.py: OK — 80 files, 0 issues.

Co-authored-by: Jake Marsh <jakemarsh@anthropic.com>
2026-05-20 18:10:06 -07:00
Omar Mihilmy 3edda1c467 fix(ci): plugin-validate cache fix + msft-365 README update (#239)
* fix(ci): cache claude binary dir, not just the dangling symlink

~/.local/bin/claude is a symlink into ~/.local/share/claude/versions/<v>.
Caching only the symlink restored a dangling link on a cache hit, so
`claude` failed with exit 127. Cache the versioned dir too and bump the
cache key (-v2) to discard the broken saved entry.

* docs(claude-for-msft-365-install): add update + bootstrap sections, debug command row
2026-05-19 10:55:15 -04:00
Omar Mihilmy 9affc6e683 fix(plugins): repair broken hooks.json + add plugin-validate CI (#232)
fix(plugins): hooks.json must be {"hooks": {}} not []; add plugin-validate CI

The empty-array hooks.json in private-equity, financial-analysis,
equity-research and wealth-management caused those plugins to fail to
load ("Hook load failed: expected object, received array"). Replace [] with
the minimal valid {"hooks": {}} object in all four.

Add a plugin-validate workflow that runs the official `claude plugin
validate` over the marketplace manifest and every plugin on each PR and
push, so a malformed manifest fails CI instead of reaching users. The
CLI is installed from the official binary channel and cached, keyed on a
pinned version, so a warm cache skips the download entirely.
2026-05-18 15:12:12 -04:00
Omar Mihilmy 379e414f98 feat(repo): plugin version-bump hook + CI backstop; claude-in-office Wef sideload debug (#208)
* feat(repo): plugin version-bump hook + CI backstop, fix install docs/remote

* docs(claude-in-office): add Wef registry + wef-folder sideload (Windows + macOS) for local debugging

* ci: use actions/checkout@v4 instead of pinned SHA

* docs(claude-in-office): scope sideload cleanup to the specific manifest, not the wef folder

* docs(claude-in-office): scope cache-clear to wef contents with guards, not rm -rf of caches/wef dirs

* docs(claude-in-office): target cache-clear by add-in Id, leave other add-ins in wef untouched

* feat(claude-in-office): add clear-addin-cache scripts (mac/win), ID-targeted, dry-run by default

* fix(claude-in-office): Windows sideload cleanup is registry-based, ID-first; direct edits (no office-addin-dev-settings); document deployed-cache caveat

* docs(claude-in-office): clarify surgical per-ID deletion of local/sideloaded manifests is safe; MS warning applies only to the deployed cache

* feat(claude-in-office): add sideload-addin scripts (mac/win), ID-derived, dry-run by default; debug.md points to script pair

* feat(claude-in-office): sideload installs directly (drop dry-run); dry-run stays only on destructive clear-addin-cache

* docs(claude-in-office): make the post-clear app restart an explicit step, not a buried line
2026-05-15 17:57:20 -04:00
Omar Mihilmy ac4c5b4c91 docs(claude-in-office): clarify entra_scope — multi-scope support, looser validation (#195)
The add-in now accepts entra_scope as a comma/whitespace-separated list and
no longer requires a URI-shaped value (Entra validates scope syntax, not the
build script). Update the docs and the build-manifest validation to match:

- build-manifest.mjs: entra_scope pattern relaxed to any non-blank string;
  the graph_client_id pairing check is unchanged.
- manifest.md: document the multi-scope list syntax and the same-resource
  constraint; clarify the build script enforces the pairing, not the format.
- bootstrap.md: note scp is a space-delimited list with multiple scopes.
- debug.md: add a Silent SSO / Entra token failures troubleshooting section
  (AADSTS50194, entra_scope-without-graph_client_id, silent-then-popup).
2026-05-14 21:26:04 -04:00
Omar Mihilmy 853f755a61 feat(claude-in-office): add disabled_features manifest param (#154) 2026-05-09 07:28:47 -04:00
Omar Mihilmy 1c2ece3467 docs(claude-in-office): document allow_1p manifest param (#153)
* docs(claude-in-office): document allow_1p manifest param

* chore(claude-in-office): bump plugin version to 0.1.1
2026-05-08 22:50:40 -04:00
Vivek Nair 57772c3f16 feat(claude-in-office): Outlook manifest support (#127)
build-manifest.mjs now takes a host argument (office | outlook). The
outlook host fetches manifest-outlook-3p.xml, which uses Microsoft's
MailApp schema and cannot share a file with the TaskPaneApp manifest
Excel/Word/PowerPoint use.

- URL_SLOTS regexes are now /g so all three Outlook taskpane URL entries
  (FormSettings + V1_0 + V1_1 Resources) receive the config params, not
  just the first match.
- New graph_client_id key for orgs that bring their own Entra app for
  Microsoft Graph instead of consenting to Anthropic's multi-tenant app.
- aws_* keys with the outlook host fail fast: Bedrock is not currently
  supported for Outlook.
- consent.md gains the Outlook Graph admin-consent URL (Mail.ReadWrite,
  Calendars.Read, People.Read, User.Read, offline_access) and the
  own-Entra-app alternative.
- manifest.md and setup.md document the host arg, the per-host file
  split, and route admins to the consent step before generating the
  Outlook manifest.
2026-05-07 17:10:05 -04:00
cxyback bb4a2b3e53 Restructure repo and add named agents (#81)
- Move verticals from repo root into plugins/vertical-plugins/ and partner
  plugins into plugins/partner-built/
- Add 10 named, self-contained agent plugins under plugins/agent-plugins/
  (Pitch Agent, Market Researcher, Earnings Reviewer, Model Builder,
  Meeting Prep, GL Reconciler, Month-End Closer, Statement Auditor,
  Valuation Reviewer, KYC Screener) — each bundles its own skills so it
  installs standalone
- Add managed-agent-cookbooks/ (one per agent) with subagent isolation
  and steering examples for /v1/agents deployment
- Add fund-admin and operations verticals so the finance-ops/onboarding
  agents ship real domain skills
- Add scripts/ (check.py manifest lint, sync-agent-skills.py,
  deploy-managed-agent.sh, orchestrate.py reference loop,
  test-cookbooks.sh)
- Add .github/workflows/secret-scan.yml (gitleaks + internal-ref grep)
- Tighten agent tool grants to declared MCPs only — no Bash, WebFetch,
  or undeclared mcp__* references in any agent
- Add not-investment-advice disclaimer to README
- Rename claude-in-office to claude-for-msft-365-install (content
  unchanged)
2026-05-05 10:58:18 -04:00
manar-ant b7cb30cc98 feat(claude-in-office): add entra_scope manifest param for access-token bootstrap auth (#79)
* feat(claude-in-office): add entra_scope manifest param for access-token bootstrap auth

* docs(claude-in-office): note accessTokenAcceptedVersion for entra_scope resource app
2026-04-30 12:58:01 -04:00
manar-ant 5ae6748fb6 docs(claude-in-office): document graph_client_id manifest param for BYO Entra app (#78) 2026-04-29 20:34:15 -04:00
Vivek Nair 532221dcf1 docs(claude-in-office): document otlp_resource_attributes config key (#73)
Adds the new `otlp_resource_attributes` key (comma-separated k=v, same
format as OTEL_RESOURCE_ATTRIBUTES) to:

- build-manifest.mjs KEYS validator
- manifest.md / bootstrap.md telemetry sections
- update-user-attrs.md key table

Paired with anthropics/office-agent OA-336.
2026-04-22 23:20:45 -04:00
manar-ant 356f09fe93 feat(manifest): add inference_headers config key (#68)
JSON object of extra HTTP headers the add-in attaches to every request
it sends to the configured gateway. Lets enterprise gateways receive
accounting or routing tags without a header-injecting proxy in front.

- build-manifest.mjs: KEYS validator entry
- manifest.md / bootstrap.md / update-user-attrs.md: documented with
  example and reserved-header list
2026-04-17 17:50:20 -04:00
manar-ant a9c6d61315 fix(manifest): accept gateway_auth_header and gateway_api_format case-insensitively (#65) 2026-04-15 15:13:09 -04:00
Omar Mihilmy c35ff8cd34 feat(claude-in-office): Python bootstrap reference server with RBAC (#64)
Adds examples/python-bootstrap/: a ~80-line FastAPI reference for the
bootstrap endpoint. Validates the Entra ID token, reads oid/groups from
claims, parses X-Claude-User-Agent for the Office host, and returns
skills + mcp_servers via a first-match RULES table in config.py.

Includes mint_dev_token.py (loopback-only RS256 dev tokens),
get_tenant_id.py, requirements.txt, and README.

Also documents the X-Claude-User-Agent request header and recommended
CORS preflight (Allow-Headers: Authorization, X-Claude-User-Agent, *)
in commands/bootstrap.md.
2026-04-15 12:31:47 -04:00
manar-ant ad39947a13 fix(manifest): add otlp_endpoint/otlp_headers to KEYS validator (#63) 2026-04-14 16:17:10 -04:00
alexa-perlov 38369baaf7 feat(manifest): add Azure AI Foundry config keys (#60)
Add azure_resource_name and azure_api_key to the build-manifest KEYS
table so admins can bake Foundry config into the add-in manifest.
Document the Foundry path in setup.md and the keys table in manifest.md.
2026-04-13 10:46:21 -07:00
manar-ant e96550afbb feat(claude-in-office): add gateway_api_format manifest key (#61)
Adds gateway_api_format (anthropic | bedrock | vertex) to the config key
set so admins can deploy against gateways exposing Bedrock InvokeModel
or Vertex rawPredict pass-through routes instead of /v1/messages.

- build-manifest.mjs: KEYS entry with /^(anthropic|bedrock|vertex)$/
- setup.md: gateway wizard asks for API format; vertex => also capture
  gcp_project_id + gcp_region; Step 6 smoke test now has three
  format-specific curls (path + body shape differ per format)
- manifest.md / update-user-attrs.md / bootstrap.md: docs for the key
2026-04-08 17:22:25 -04:00
Vivek Nair 90d7a0c0af feat: document otlp_endpoint and otlp_headers config keys (#57)
feat(claude-in-office): document otlp_endpoint and otlp_headers config keys
2026-04-05 11:34:12 -04:00
alexa-perlov 8470f2de5c feat(claude-in-office): accept mcp_servers key in build-manifest (#55)
Adds mcp_servers to the recognized KEYS table so admins can bake an
org-wide MCP server list into the manifest URL. Documents the key in
commands/manifest.md alongside the other cross-cutting keys, with a
shell-quoted example and a pointer to bootstrap.md for the full schema
and per-user delivery.
2026-04-01 20:15:35 -04:00
Omar Mihilmy 75aac9a8bb docs(claude-in-office): add devtools recipes for macOS and Windows (#51)
Adds a new section to the /debug skill covering how to attach browser
devtools to the add-in WebView on both platforms. The macOS recipe
includes the three-gate sequence (defaults write, Safari Develop menu,
Sonoma Privacy & Security allowlist) plus the gotcha that Office updates
silently reset the defaults-write flag. Windows covers both WebView2
(right-click or Edge DevTools Preview) and the IE11/Trident legacy path
via IEChooser.exe.

Also adds a triage table row so admins asking 'how do I see the console'
route here directly.
2026-04-01 12:18:51 -04:00
Omar Mihilmy 16321d982a Merge pull request #53 from anthropics/feat/bootstrap-command
feat(claude-in-office): add bootstrap command for mcp_servers and skills
2026-04-01 11:42:44 -04:00
Omar Mihilmy 2c728669c9 feat(claude-in-office): add bootstrap command for mcp_servers and skills 2026-04-01 10:23:05 -04:00
manar-ant 8f122c9f2b Merge pull request #52 from anthropics/manar/bootstrap-expires-at-docs
Document bootstrap_expires_at in bootstrap response
2026-03-31 23:37:49 -04:00
Manar Safi ef1b63b67a docs(claude-in-office): document bootstrap_expires_at response field
Adds bootstrap_expires_at to the bootstrap endpoint response example
and explains it enables proactive config refresh — the add-in re-calls
the endpoint before expiry. Epoch seconds or milliseconds, auto-detected.
2026-03-31 23:27:33 -04:00
manar-ant a757f2fd85 Merge pull request #48 from anthropics/manar/gateway-auth-header-key
Add gateway_auth_header manifest key
2026-03-30 11:04:02 -04:00
Manar Safi c22da9af23 docs(claude-in-office): document gateway_auth_header key
Explains the x-api-key vs Authorization: Bearer choice in the Gateway
section of setup.md, adds the key to manifest.md's per-cloud table, and
updates the Step 6 smoke-test curl with the alternate header form.
2026-03-29 11:05:26 -04:00
Manar Safi 618cf03007 feat(claude-in-office): add gateway_auth_header manifest key
Adds gateway_auth_header to the KEYS table so admins can configure
which header carries the gateway token. Accepts "x-api-key" (default)
or "authorization" (sends Authorization: Bearer <token>).

Pairs with add-in support for the same key in CustomerConfig.
2026-03-27 20:37:21 -04:00
Omar Mihilmy 62ba73a9b1 Merge pull request #47 from anthropics/add-claude-in-office-plugin
Add claude-in-office plugin for Office add-in deployment
2026-03-27 12:22:04 -04:00
Omar Mihilmy c7e5fc6d56 claude-in-office: make admin consent conditional on entra_sso
Consent is only required when entra_sso=1 (Bedrock or per-user config).
Gateway and Vertex with org-wide config skip it. Updates setup.md flow
and consent.md to reflect this.
2026-03-27 11:36:13 -04:00
Omar Mihilmy c9358a5d5c Add claude-in-office plugin for Office add-in deployment
Migrated from anthropics/office-agent. Provides /setup, /manifest, /consent,
/update-user-attrs, and /debug commands for M365 admins provisioning the
Claude Office add-in with direct cloud access (Vertex AI, Bedrock, or an
LLM gateway).
2026-03-27 10:57:28 -04:00
Omar Mihilmy b75df36855 Merge pull request #43 from anthropics/cxl/remove-yfinance
Remove unused yfinance dependency from dcf-model skill
2026-03-26 13:41:11 -04:00
Nicholas Lin 9a08cb4f7a Remove unused yfinance dependency from dcf-model skill
The package was listed in requirements.txt but never imported by any
script in the skill. Removing to reduce supply-chain surface area.
2026-03-26 10:43:28 -04:00
cxyback b881b3c73e Merge pull request #35 from anthropics/cxl/pe-ai-readiness
Add ai-readiness skill to private-equity plugin
2026-03-13 15:12:12 -07:00