Licensing
Forge requires a valid Telerik license to run workflow commands (for example, frg issue plan, frg code create, and frg pr review). The quickest way to get a license is to run frg auth login, which signs you in with your Telerik account in the browser and downloads your license key automatically. The manual options below remain supported for CI and offline use.
Commands that require a license
In protected release builds, license validation applies to agent-backed work regardless
of how it is invoked: direct commands such as ask, run, issue plan, and code create;
commands inside workflows, apps, and tutorials; and agent-type automation steps, including
pre/post items. app discover --auto also requires a license for its AI analysis.
These operations remain available without a valid license:
- All
authandconfigcommands, including AI-assisted configuration. statusdiagnostic probes,diagnose,guide,shell,update,telemetry, help, version information, and trace viewing with--tail.- Ordinary
app discover,learn init, andlearn list. - Deterministic
backlog planand command prompt previews with--print-prompt. - Workflow management (
list,status,validate,graph,approve,reject,unlock),workflow run --dry-run, andworkflow run --list-states.
Approving or resuming a workflow does not bypass validation of subsequent agent work. Prompt previews skip that command's pre/post items; independent agent steps in a workflow still require a license. Shell-only automation is not gated solely because it is a workflow.
A missing or invalid license stops the affected execution without an agent retry or an ordinary workflow failure transition. App execution reports licensing failures as command failures; concurrently scheduled repositories validate their own licenses independently. License validation does not delete your session or license file. Signing in does not itself grant entitlement, and a valid license does not require an active login session.
Development builds retain their existing bypass. These exemptions affect licensing only; configuration prerequisites, consent, and agent-provider authentication still apply.
License file names
Progress Forge looks for either of these file names:
telerik-license.txtkendo-ui-license.txt
The file contains a signed license key (a JWT). Do not rename, edit, or reformat it — Progress Forge verifies its signature and will reject a modified file. The file must be under 1 MB.
Get a license
Start your 30-day trial, or reach out to our sales team to purchase a full license.
Getting a license file with frg auth login
frg auth login
frg auth login signs you in with your browser and downloads your license key to ~/.telerik/telerik-license.txt (Windows: %APPDATA%\Telerik\telerik-license.txt) — one of the locations Forge already searches (see Full discovery order below), so no further configuration is needed.
This is the same directory the other Telerik and Kendo CLIs use, so a single frg auth login licenses your whole toolchain, not just Forge.
frg auth refreshre-downloads the key (for example, if it was deleted or has expired).frg auth whoamishows the stored key's path and status.frg auth logoutdeletes your local session but deliberately leaves the license file in place.- A licensing HTTP 403 means insufficient permission on your account, not a proven missing entitlement — contact your Progress representative with the status code and the environment you selected so they can check your scope and registration.
See Authentication Commands for the full flag reference for frg auth login, frg auth logout, frg auth whoami and frg auth refresh.
Sign-in and licensing in the desktop app
The Progress Forge Desktop App and the frg CLI share one encrypted session file and one
license key file — signing in with either signs you in in both, and a license downloaded by
either is immediately visible to the other. There is nothing to configure or copy between them.
- Signing out in the desktop app (or with
frg auth logout) is local only: it deletes the shared session but never deletes the license key, matchingfrg auth logout's behavior described above. - You can start the 30-day trial from either place: the desktop app or
frg auth trialin the CLI. Both reach the same entitlement service and write the same license file, so starting a trial in one immediately reflects in the other.
Where to place the license file
This section covers the manual path — CI, air-gapped machines, or a license supplied to you as a file. If you can run frg auth login interactively, it handles this for you.
The simplest and recommended manual approach is to place the license file in your project's Forge directory:
<your-project>/.forge/license/telerik-license.txt
Progress Forge finds it automatically the next time you run a workflow command from that project.
Tip: If you keep the license outside version control, add
.forge/license/to your.gitignoreso the key is never committed. See Version Control Setup for complete.gitignorepatterns.
Full discovery order
If you prefer a different location, Progress Forge searches the following sources in order and uses the first license it finds:
- Environment variable (license content):
TELERIK_LICENSEorKENDO_UI_LICENSE. Set the variable to the contents of the license file, not a path. This is useful in CI/CD pipelines where you inject the key as a secret. - Environment variable (path hint):
TELERIK_LICENSE_PATH, set to the full path of a license file. - Current directory:
./telerik-license.txtin the directory where you run the command. - Project (recommended):
.forge/license/telerik-license.txtat the repository root. - Connected application:
.forge/license/telerik-license.txtat the root of a connected multi-repository application, if one is configured. - User profile:
- macOS / Linux:
~/.config/forge/license/telerik-license.txt(or$XDG_CONFIG_HOME/forge/license/, falling back to~/.forge/license/) - Windows:
%APPDATA%\forge\license\telerik-license.txt
- macOS / Linux:
- Telerik fallback directory:
- macOS / Linux:
~/.telerik/telerik-license.txt - Windows:
%APPDATA%\Telerik\telerik-license.txt
- macOS / Linux:
The user-profile location (option 6) is convenient when you work across several repositories, because a single license applies to every project on your machine.
License types
The license type is stored in the signed license file. You don't set it in Forge.
| Type | Description |
|---|---|
subscription | Valid until the expiration date in the license. After that date, Forge reports License expired on …. |
perpetual | Doesn't expire by subscription term. |
trial | Time-limited evaluation license. |
Using an environment variable
To provide the license without a file — for example, in a CI job — set TELERIK_LICENSE to the license contents:
export TELERIK_LICENSE="$(cat telerik-license.txt)"
Or point Progress Forge at an existing file with a path hint:
export TELERIK_LICENSE_PATH="/secure/location/telerik-license.txt"
License errors
Forge prints these messages when license validation fails. Text after … or : varies, for example a date, a size, or a file path.
- License file not found — Run
frg auth loginfirst; Forge lists every location it searched. Alternatively, placetelerik-license.txtin.forge/license/at your project root, or set theTELERIK_LICENSEenvironment variable. - License expired — Run
frg auth refreshto renew your session and download a fresh key. Contact your Progress representative if it is still expired afterward. - License signature verification failed / corrupted — Run
frg auth loginto download a fresh key. Do not hand-edit the file. - License validation not configured — The Forge binary was built without an embedded public key. Use an official release build and contact your Progress representative if the problem persists.
frg auth loginsucceeded but no license was downloaded — Signing in and downloading a license are independent steps: authentication can succeed even when the license download fails. Follow the reported download error, then retry withfrg auth refresh. An HTTP 403 alone does not establish that you are missing an entitlement — see Getting a license withfrg auth loginabove.