Both VS Code and the AL compiler give you the opportunity to try out the next version. In this video, I show how you can join the bleeding edge without getting into too much trouble. Check out the video:

In this video, Erik walks through an approach for dealing with VS Code compatibility issues that affect AL development — specifically, the debugging problems introduced in VS Code version 1.78. Rather than downgrading to a previous version, he demonstrates how to install the VS Code Insiders Edition and use the pre-release version of the AL Language extension to stay on the bleeding edge.
The Problem: Debugging Broke in VS Code 1.78
When VS Code version 1.78 was released, it introduced a breaking issue with AL debugging. Sometimes you could sort of debug, but not reliably. The official recommendation from Microsoft was to downgrade to version 1.77 — a perfectly valid and sensible answer. But Erik presents an alternative: instead of going backwards, why not go forward?
VS Code Insiders Edition: The Forward-Looking Alternative
Visual Studio Code offers what they call the Insiders Edition, available at code.visualstudio.com/insiders. This is designed for early adopters and installs completely side by side with your regular VS Code installation. You get an entirely independent instance — nothing you do in one affects the other.
You can easily distinguish the different versions by their taskbar icons:
- Purple icon — Visual Studio (the full, non-Code version)
- Blue icon — VS Code (the stable release you know and love)
- Green icon — VS Code Insiders Edition
When Erik opens the Insiders Edition and checks Help → About, it shows version 1.79 Insider — one step ahead of the problematic 1.78 release.
Important: Extensions Are Independent Too
Because the Insiders Edition is fully isolated, the extensions you have installed in your regular VS Code are not automatically shared. You may need to install them separately. This isolation is actually a feature — it means you can experiment freely without risking your production setup.
Using the AL Language Pre-Release Extension
The AL Language team at Microsoft doesn’t use the term “Insiders” for their extension. Instead, they offer a pre-release version. Within the Insiders Edition, you can switch to the pre-release version of the AL Language extension, which in this case installs version 12.x of the compiler.
This is where things get interesting. With the pre-release AL extension, you get access to fixes and features before they hit the stable channel. For example, here’s a typical AL project structure you might be testing with:
A Simple Page Extension
// Welcome to your new AL extension.
// Remember that object names and IDs should be unique across all extensions.
// AL snippets start with t*, like tpageext - give them a try and happy coding!
pageextension 50100 CustomerListExt extends "Customer List"
{
trigger OnOpenPage();
begin
Message('App published: Hello world');
end;
}
A Table Object
table 50100 "Awesome AZ demo"
{
Caption = 'Awesome AZ demo';
DataClassification = ToBeClassified;
fields
{
field(1; "Key Field"; Code[20])
{
Caption = 'Key Field';
DataClassification = SystemMetadata;
}
field(10; Name; Text[100])
{
Caption = 'Name';
DataClassification = SystemMetadata;
}
}
keys
{
key(PK; "Key Field")
{
Clustered = true;
}
}
}
The app.json Configuration
{
"id": "f02b9892-4c88-4903-bc7a-bfc4dea694e1",
"name": "Video10",
"publisher": "Default publisher",
"version": "1.0.0.0",
"dependencies": [
{
"id": "63ca2fa4-4f03-4f2b-a480-172fef340d3f",
"publisher": "Microsoft",
"name": "System Application",
"version": "16.0.0.0"
},
{
"id": "437dbf0e-84ff-417a-965d-ed2bb9650972",
"publisher": "Microsoft",
"name": "Base Application",
"version": "16.0.0.0"
}
],
"platform": "16.0.0.0",
"idRanges": [
{
"from": 50100,
"to": 50149
}
],
"showMyCode": true,
"runtime": "5.0"
}
Note that while the pre-release compiler supports newer runtimes (like 12.x), your target cloud sandbox may not yet be on that runtime version. Erik mentions that some cloud tenants were still on runtime 9.2 at the time, so the runtime setting in app.json needs to match what your target environment actually supports.
The Authentication Bug Fix
One of the most exciting fixes Erik highlights in the pre-release version is improved token handling for Azure AD authentication scenarios with multiple workspaces. If you’ve ever worked with multiple cloud sandboxes open simultaneously — one for each customer, one for each app component — you may have experienced the frustrating issue where authentication would get mixed up, forcing you to re-authenticate constantly.
Erik had a productive session with the compiler team at Directions where they were able to isolate the scenario and fix the bug. The pre-release version now shows a different authentication message: instead of the old “trying to authenticate with…” followed by frequent failures, it now cleanly reports the authenticated user and tenant.
When Erik hits F5 to deploy to a cloud sandbox, the output shows a clean authenticated as [user] in tenant [tenant] message — no re-authentication prompts required.
A Word of Caution
Erik emphasizes an important point: you should never use the pre-release AL extension to create app files that you send to production or submit to app stores. The pre-release compiler is for testing and experimentation only. The beauty of the side-by-side setup is that your stable (blue) VS Code remains untouched for production work, while the Insiders (green) VS Code serves as your testing ground.
Summary
When VS Code updates break your AL workflow, you have two choices: go backwards to a known-good version, or go forward with VS Code Insiders. The Insiders Edition provides a fully isolated, side-by-side installation where you can safely test upcoming VS Code features alongside pre-release versions of the AL Language extension. This gives you early access to bug fixes — like the Azure AD authentication token handling improvement — without putting your production development environment at risk. It’s a great option for developers who want to stay on the bleeding edge of both VS Code and AL development.