Salesforce Winter '27 adds compiler type metadata through the Apex Symbol API, IDE-driven DX tasks through MCP, and two code analysis capabilities in ApexGuru.
Read compiler type metadata
The Apex Symbol API, in beta, introduces /tooling/symbols, a Tooling API REST resource available in **API 68.0 and later**. It returns detailed metadata for built-in, custom, and dynamic Apex types from the same type information the Apex compiler uses. Intended uses include IDE code completion and context for AI agents generating Apex.
Every request needs a category: builtin, database, or dynamic. Filters for namespace and name are optional. The limit is **one concurrent caller per org**.
Run DX tasks from the IDE
The Salesforce DX MCP Server, also in beta, lets an LLM in an IDE run standard DX tasks from natural-language prompts: sync metadata, run Apex and agent tests, or create scratch orgs. It also connects tools such as Scale Center and ApexGuru to agentic IDEs.
Find duplicate code and scan for antipatterns
ApexGuru adds two capabilities:
- **Duplicate detection** finds exact and near-duplicate Apex code, ranked by the number of characters you can remove.
- **IDE-triggered antipattern scanning** scans Apex from agentic IDEs, including Cursor, VS Code, and Agentforce Vibes, through the Salesforce DX MCP Server.
ApexGuru is available at no extra cost for Unlimited Edition, Signature Success Plan, and Scale Test customers. Government Cloud is unsupported.
Don't assume these features form one workflow. The supplied release notes establish the MCP connection for ApexGuru antipattern scans—not Symbol API integration with the DX MCP Server or IDE access to duplicate detection. If you need either path, test it separately.
Test before adopting
For /tooling/symbols, list the callers and decide how they'll stay within the org's single-caller limit. Write down the types and member metadata your tooling needs, then check the responses against that list.
For DX, start with one task, such as running Apex tests. Set the expected result before prompting the IDE. Verify both that the task ran successfully and that it returned the result you expected.
Check ApexGuru eligibility before planning a scan. Test duplicate detection separately from IDE-triggered antipattern scanning. Use samples with known duplicates or antipatterns, plus samples where you expect no findings. Note those expectations before running the analysis. Check completion, whether you can interpret the output, and whether it matches the sample. No findings can be correct; useful findings are a separate question. Decide which ones you'd act on.
For each capability, record whether you'll adopt or defer it and what you'd use it for. Assign an owner to any unresolved constraint.
