1.0.27: Restrict local agent tools with tools / disallowedTools (TypeScript) and tools / disallowed_tools (Python); allowlists and capability groups like "shell" and "mcp" ([] = text-only). Not persisted across resume.
Changelog
SDK
1.0.27: Restrict local agent tools with tools / disallowedTools (TypeScript) and tools / disallowed_tools (Python); allowlists and capability groups like "shell" and "mcp" ([] = text-only). Not persisted across resume.
Browser auth (TypeScript):Cursor.auth.login() opens a browser login, mints an API key, and stores it in ~/.cursor/sdk/auth.json; Cursor.auth.status() and Cursor.auth.logout() included. After login, agents work without apiKey / CURSOR_API_KEY.
Usage for local agents:agent.getUsage() / agent.get_usage() return per-turn billed usage and cost for local agents; optional runId narrows to one turn.
PR authorship:cloud.openAsCursorGithubApp / open_as_cursor_github_app controls whether PRs open as the Cursor GitHub App (service-account default) or the key owner (user-key default).
Multi-root local workspaces: Pass local.dirs to load rules, skills, and project context from multiple folders; cwd remains the primary working directory (replaces the old cwd array form).
Admin denylists on local runs: Team admin shell command denylists apply to local SDK runs and reject matching commands before execution.
Python: Clearer errors (underlying message and code instead of bare “internal error”); cloud agent metadata is typed via CloudAgentOptions and readable on SDKAgentInfo.metadata.
SDK Bridge: On RPC failures, run with --verbose or set CURSOR_SDK_BRIDGE_LOG=1 to log each RPC’s name, outcome, duration, and full error to stderr (payloads are never logged).