Apex Execution Runtime

Your Apex test suite, in seconds.

aer runs Apex on your machine — tests, classes, triggers, the whole suite — with no org and no deploy. A 90-minute Salesforce run finishes in under five minutes, so changes reach production faster.

Install free Start free trial
Free to download · run up to 100 tests & try the debugger with no trial
aer — test runner
$ aer test force-app/
PASS BillingEngine_Test.appliesTaxToTaxableLines
PASS BillingEngine_Test.skipsExemptAccounts
PASS BillingEngine_Test.prorationRoundsHalfUp
PASS InvoiceService_Test.createsInvoiceFromOrder
PASS InvoiceService_Test.mergesDuplicateLines
PASS QuoteSync_Test.syncsToOpportunity
PASS QuoteSync_Test.handlesMissingPricebookEntry
PASS AccountTrigger_Test.preventsDuplicateDomains
…and 2,492 more
Ran 2,500 tests: 2,500 passed, 0 failed
RUNNING REAL PRODUCTION SUITES FROM
HealthcareISV managed packagesFinancial servicesConsulting partners
The bottleneck

Now your agents are waiting on the org, too.

Coding agents generate Apex faster than any team can review it — but every class, every test, every fix still has to reach an org before anyone knows it works. The deploy-and-test loop that already slowed your developers is now the bottleneck for your agents as well, with more code than ever queued behind the same slow round-trip.

01

Deploys interrupt flow

Push to org, wait, refresh, repeat. The context switch kills momentum on every change.

02

Suites take hours, not seconds

What should be instant becomes a waiting game. Engineers stop running tests, and quality slips.

03

Agents outpace the org

AI writes Apex in seconds, then waits minutes for an org to prove it works. Generation got fast; verification didn't.

aer is the fix

Let agents generate. Verify locally, in milliseconds.

aer is a command-line runtime, so agents drive it like any other tool — one command runs generated Apex and its tests on the developer's machine, with no deploy and no org round-trip. Agents get an answer in milliseconds instead of minutes, so the code they write is proven before it ever reaches a sandbox. The bottleneck disappears for humans and agents alike.

Run generated code instantly — no deploy to check it works.
Let agents iterate against a fast local runtime instead of a slow sandbox.
One CLI command works the same for a developer or an agent, making it easy to wire into any workflow.
Ready-made agent skills on GitHub ↗
// agent generates a class + test
apply DiscountService.cls
$ aer test force-app/ -f DiscountService
FAIL DiscountService_Test.appliesPercentageDiscount
  Assertion Failed: Expected 90.00, was 100.00
Ran 1 test: 0 passed, 1 failed
fix & re-run
PASS DiscountService_Test.appliesPercentageDiscount
caught locally · org never touched
Meet aer

Apex on your machine. No org required.

aer is a local Apex runtime built for speed, clarity, and modern workflows. It runs your code — tests, classes, triggers — without touching an org, and executes it the way Salesforce does. It's production-grade infrastructure built for real codebases with hundreds of classes, by people who write Apex every day.

It's the same language and the same semantics, with feedback that lands in seconds.

Run Apex locally

Execute production code on your dev machine with zero network overhead. Work offline; own your environment.

Tests in milliseconds

Validation in milliseconds, not minutes. Run your entire suite as fast as you can type.

Faithful to Salesforce

Schema-aware, trigger-respecting, governor-limit-enforcing. Real Apex behavior — just faster.

Measured benchmarks

Real suites. Real numbers.

These are timings from production codebases, measured end to end. The bigger and slower your suite is today, the more time aer gives back to every developer, every day.

Large healthcare org
2,500 tests
18×faster
Salesforce
90 min
aer
< 5 min
ISV managed package
20,000+ tests
faster
Salesforce
2 hours
aer
~20 min
ISV package · mocked DML
750 tests
faster
Salesforce
60 sec
aer
10 sec

Timings from customer suites. Your results depend on suite shape, DML volume, and hardware.

Shipping velocity

Shorter loops put more changes in production.

When verification is instant, developers run tests while they write code, well before a commit reaches CI. Bugs surface earlier, reviews move faster, and the path from idea to deploy gets dramatically shorter.

Tested before review — engineers run the full suite locally, so PRs arrive green.
No sandbox contention — no waiting on a shared org or fighting over capacity.
Faster, deterministic CI — parallel runs, no flaky shared state, fewer reverts.
A single change, end to end
WRITE
TEST
Salesforce · deploy + run
aer · local
SHIP
The test step is where teams lose hours. aer collapses it from minutes per run to seconds — so the whole loop tightens.
Watch

Two short films about life on Salesforce.

Optional viewing — pick the one that sounds like your team. Each opens in a new tab.

In your editor

Run and debug Apex where you already work.

aer meets your team in their editor — no new workflow to adopt. Set breakpoints, step through execution, and run the suite without leaving the IDE.

aer for VS Code — interactive demo click to launch

A real VS Code editor in your browser — run a failing test, set a breakpoint, and step through Apex live, all powered by aer.

{}

aer for VS Code

Run and debug tests from inside VS Code. Real breakpoints, live variables, and call stacks — line-by-line execution control for Apex.

View on the VS Code Marketplace ↗
Run a test, a class, or the whole suite from the editor
Set breakpoints and inspect live state
Go-to-definition, references, schema-aware autocomplete
IC

Illuminated Cloud

Already on Illuminated Cloud in JetBrains IDEs? aer plugs in directly, so your team keeps the toolchain they know and gains local speed underneath.

Local test runs inside the IC workflow
No change to how your team navigates and edits
Same runtime, same results as CI and the CLI
sf

Salesforce CLI plugin

A drop-in sf plugin runs your tests in aer instead of an org — ideal for CI and existing scripts.

$ sf aer apex run test
PASS BillingEngine_Test.appliesTax
…and 2,499 more
2,500 passed, 0 failed
Swap the org for aer with one command
Fits straight into existing CI pipelines
Familiar Salesforce CLI ergonomics

Runs locally, behaves like production.

When you deploy to an org, the behavior matches. When tests pass in aer, they pass in production.
Schema-aware
Custom objects, fields, and relationships, enforced.
Governor limits
DML and SOQL follow the real limits.
Triggers in order
Correct execution order, every time.
Managed packages
Namespaces and visibility work as expected.
Coverage

It runs what your org runs.

aer behaves like the Salesforce Apex runtime, executing against an embedded database seeded from your metadata. The parts of Apex that normally need an org work locally — so your real tests run, unmodified.

SObjects & database

An embedded database seeded from your metadata, queried and mutated like the real thing.

SOQL · WHERE / ORDER BY / LIMIT relationship queries DML · insert/update/delete/undelete Database methods record types picklist dependencies field sets Schema / describe

Triggers, validation rules & flows

Automation fires alongside your Apex on every DML, exactly as it does in an org.

before/after insert·update·delete·undelete validation rules FIELD_CUSTOM_VALIDATION_EXCEPTION record-triggered flows Flow interviews

Governor limits

Tracked and enforced, raising the same LimitException you'd hit in production.

SOQL DML CPU time heap callouts LimitException

Standard library

The platform namespaces and built-ins your code already depends on.

Collections String / Math / Date JSON Crypto · Pattern HTTP + HttpCalloutMock Messaging email DataWeave System · Schema · ConnectApi · EventBus

Testing framework

The full test harness, including coverage output your CI can consume.

@IsTest Test.startTest() / stopTest() mock callouts test-data isolation coverage · Cobertura / JSON

Type checking

Running tests parse- and type-checks your code, catching errors before you deploy.

parse check type check catch errors pre-deploy
Get started

Install in seconds. No trial required.

Download aer and start running tests today — no signup, no org, no procurement. Suites of up to 100 tests and short debugger sessions are free. Start a trial for a license key when you want to run your whole suite at once and debug without limits.

install aer
# Homebrew — macOS / Linux
$ brew install octoberswimmer/tap/aer
# Salesforce CLI plugin
$ sf plugins install @octoberswimmer/aer-sf-plugin
# VS Code — installs aer + the debugger
# Or download any platform from Releases
# macOS, Linux & Windows

Free, no license

Everything you need to try aer for real.

Up to 100 tests per run
Debugger & server up to 5 minutes
Full fidelity + every editor integration

With a license

Start a trial to unlock it in minutes.

Run your entire suite at once
Unlimited debugging
CI license + team seats on the Team plan
How a trial works
1

Start a free trial

Enter your email — no card required to evaluate.

2

Get a registration key

Retrieve it from the aer license portal.

3

Share it with your team

Developers register for licenses with the key.

4

Manage everything

Seats, your CI license & billing in one portal.

Pricing

Start free. Add a license when you need the full suite.

Free
$0
download — no trial needed
Install
Run up to 100 tests per run
Debugger & server up to 5 minutes
Full Salesforce fidelity
VS Code, Illuminated Cloud & sf CLI
Developer
Start free trial
Everything in Free, with no limits
Run your entire test suite at once
Unlimited debugging
Your license key, managed in the portal
CI INCLUDED
Team
CI license + the first 5 developer seats. Additional developers .
Start free trial
Everything in Developer, for all seats
CI license — run the suite in your pipeline
Seats & registration keys in one portal
Same runtime locally and in CI

Your team can install aer and run tests today — free, no trial. Start a trial only when you need a license key.

Stop waiting on the org. Start shipping faster.

Install aer, run your first suite in milliseconds, and feel the difference immediately. Then hand it to your team.

Install aer Start free trial