Back to all releases
// October 8, 2026v1.39.0

Platform

Identity

Security and Policy

The role editor's MCP access tab is a per-server picker, and the Access Hub gets a guided Claude Tag setup

The role editor's MCP access tab is now a per-server picker: choose Specific servers or All servers, then pick from every MCP server in the project with fuzzy search, Select all/Clear all, and a side sheet to scope a server to specific tools or forbid it outright. mcp:read and mcp:write move to Platform access, so MCP access now holds only mcp:connect. In the Access Hub, connecting Claude Tag is now a guided setup instead of a manual runbook: enter your Anthropic organization ID, pick an agent and optional tags (admission through the catalog rule itself lands in a follow-up release). More on managing trust in the Access Hub in Workload identity, and on risk policy scope in Guardrails.

Features

  • The role editor's MCP access tab is a per-server picker — Choose Specific servers or All servers, then pick from every MCP server grouped by project with fuzzy search, Select all/Clear all, and a side sheet to scope a server to specific tools or forbid it outright. mcp:read and mcp:write move to Platform access, so MCP access now holds only mcp:connect. (#7317, @qstearns)
  • The Access Hub catalog gains a guided Claude Tag setup — Connecting Claude Tag from the Access Hub catalog now walks through an Anthropic organization ID, an agent, and optional tags instead of a manual runbook. Admission through a catalog rule doesn't take effect yet; that lands in a follow-up. (Organization admins; setup only, admission pending.) (#7164, @aa-wong)
  • Risk policies ask client sessions or specific MCP servers up front — The policy Scope step now opens with two option cards, Client sessions and Specific MCP servers, each naming what it covers and what it needs, instead of starting on the detector matrix. Client sessions only appears once hooks are configured for the project; without them the step explains why and links straight to hooks setup. (#7231, @dennnis-ez)
  • Okta Integration Network installs authenticate with a client secret — An Okta identity provider installed from the Okta Integration Network can now authenticate to the customer's Okta org with the client ID and secret the install issues, instead of requiring the custom-app private key flow. A pending connection can switch between the two methods until its client ID is submitted. (#6942, @daviddanialy)
  • Remote identity providers can send no scope when nothing else decides one — An organization admin can now set a remote identity provider to send no scope parameter instead of its whole supported list, for sign-ins with no scope from the client or the resource. The provider's Overview and Settings pages show the new fallback choice. (Organization admins managing remote identity providers.) (#7198, @daviddanialy)
  • A remote MCP server's login scopes can be pinned and traced to their source — A server's Identity settings can now pin the scopes its logins request, and the platform resolves a login's scopes from the protected resource's own advertised and challenged list before falling back to the identity provider's catalogue. Rolling out behind a flag to Speakeasy's own organizations first; every other organization keeps today's behavior. (Organization admins; rolling out.) (#7196, @daviddanialy; #7272, @daviddanialy)
  • Speakeasy-AI headers and environment variables are now canonical — Speakeasy-AI-* request headers and SPEAKEASY_AI_* environment variables are now the names to set and copy everywhere, continuing what the CLI and Functions SDK already switched to. Every Gram-* header and GRAM_* variable keeps working as a deprecated alias. (#7321, @adaam2)
  • The dashboard, admin console, and CLI read Speakeasy throughout — User-facing text across the dashboard, admin dashboard, CLI help and output, server error messages, consent pages, MCP server info, and API descriptions now names the product Speakeasy. Header names, environment variables, package names, and code identifiers are unchanged. (#7265, @adaam2)
  • The "No Identity" option is now called "Manual" — The third Remote MCP identity option, and the warnings that name it, now read "Manual"; the description is unchanged. (#7296, @qstearns)

Bug fixes

  • The Inspect tab can list tools on a custom domain again — The remote MCP relay no longer copies an upstream server's own CORS headers onto its response, which had been blocking the browser from loading the Inspect tab's tool list for custom-domain servers that send their own CORS headers. (#7268, @danielkov)
  • Claude Code plugin installs now auto-update — The install snippet registers the marketplace under its exact name with auto-update on, instead of leaving plugins pinned to their first version with no error. The snippet, the hooks setup dialog, and the generated marketplace README now agree. (#7134, @mfbx9da4)
  • The Anthropic Compliance import no longer misses new messages in old chats — The importer now walks the organization's chat list ordered by last update instead of relying on an activity type Anthropic never records for new messages, so chats that only gained messages after their first import are picked up again. Existing integrations restart from a 24-hour window on their next poll. (#7322, @subomi)
  • The import keeps going when one Claude chat can't be retrieved — A chat Anthropic has hard-deleted or retired through retention, but that still appears in the chat list or activity feed, is now skipped and reported as unavailable instead of stalling the whole poll. (#7326, @subomi)
  • One oversized message no longer fails its whole risk scan batch — Batch risk scan inputs are now bounded to 50 KiB when they're loaded, so a single large message can't take down the rest of the batch's analysis. (#7193, @vishalg0wda)
Sagar Batchu
Sagar Batchu
View on GitHub