Apex Settings is configured from Setup, not from code, though the resulting state can also be deployed as ApexSettings metadata. Here is the basic flow for reviewing and adjusting it. You need the Author Apex permission or equivalent admin access.
- Open the page
From Setup, type Apex in the Quick Find box and choose Apex Settings under Custom Code. Read the current state of every toggle before changing anything, since each one is org-wide.
- Set deployment behavior
Turn on Compile All Apex on Deploy for production and staging orgs so deployments precompile bytecode and surface dependency conflicts during the release rather than on first run.
- Decide on test parallelism
Leave parallel testing on unless lock-contention failures are blocking your pipeline. Prefer annotating specific classes with isTest(isParallel=false) over disabling parallelism for the whole org.
- Confirm security defaults and save
Verify sensitive-data protection and other security toggles are at their recommended values, save, then commit the ApexSettings metadata to source control so the configuration is captured.
Compiles every Apex class during a deploy instead of only changed classes. Adds deploy time, catches dependency drift early, and avoids first-run recompilation.
Forces tests to run serially across the org. Removes lock-contention flakiness but slows the suite. Use a per-class isParallel annotation first where possible.
Governs the maximum Apex HTTP callout response. Synchronous callouts cap at 6 MB and asynchronous at 12 MB; right-size payloads before relying on the ceiling.
Keeps the platform redacting sensitive patterns from output. Leave enabled; disabling it tends to surface in a Security Review.
- The settings are org-wide, so a change made to fix one team's problem affects every developer and every deployment in that org.
- ApexSettings is metadata, so a sandbox-to-production deploy can silently overwrite values an admin set directly in production.
- Disabling parallel testing makes flaky lock failures disappear but hides the underlying shared-data conflict instead of fixing it.
- The 6 MB synchronous callout cap is a hard platform limit; raising related settings will not let a single response exceed the documented ceiling.