C⏚ v2.10.1Updated 2026-08-23·Getting started

Licensing

A C⏚ license is a signed file bound to one machine. You generate a fingerprint, exchange it for a license on the portal, and drop the file into place. It takes about a minute.

What needs a license

Free, no licenseSyntax highlighting, snippets, file icons. Client-side, always work.
Open source (MPL-2.0)The C⏚ frontend, the Verilog generator, the language server, the runtime library. Build cg-compiler yourself and compile to Verilog forever, with no license gate.
LicensedThe prebuilt supported extension, the bytecode Fast Sim, the VHDL backend, the FSM and Graph views, and the production IP cores.

You never pay for permission to compile. The Verilog path is open source and stays that way. See the open-core promise.

The license is checked before the language server starts. Without a valid license the server does not start at all: no diagnostics, no hover, no navigation, no generation, no simulation. That is not a degraded mode, it is off. The CLI behaves the same way and prints the reason instead of running your command.

A 14-day trial takes three fields and no credit card.

Activate in VS Code

  1. Open the command palette (Ctrl/ + Shift + P) and run Neosyn: Show Machine Fingerprint. The 64-character hash goes to your clipboard.
  2. Paste it into the portal and download your license file.
  3. Run Neosyn: Install License File… and pick it. It is stored at ~/.neosyn/cg.license and VS Code offers to reload.

Neosyn: Open License Portal jumps straight to step 2 from inside the editor.

Activate for the CLI or CI

The jar carries the same three operations, so a headless machine needs no editor. Get the fingerprint:

java -jar cg-language-server.jar fingerprint
# 34b212b383c3f4ea05cb473092b6559118a4d87c377bd3446967cc4e125a7ad5

Exchange it on the portal as above, then put the file where the jar looks for it:

mkdir -p ~/.neosyn
cp neosyn-cg.license ~/.neosyn/cg.license

On CI, set NEOSYN_CG_LICENSE instead. It overrides the path entirely, so you can hold the license in a secret and write it anywhere the job can reach:

export NEOSYN_CG_LICENSE=$RUNNER_TEMP/cg.license
printf '%s' "$CG_LICENSE_CONTENT" > "$NEOSYN_CG_LICENSE"

The fingerprint is per machine, so a CI runner needs a license issued for that runner. Ephemeral runners that get a fresh identity on every job cannot be fingerprint-bound. Ask your account manager for a license scoped to your build fleet instead of trying to re-issue per job.

Check that it worked

java -jar cg-language-server.jar verify-license
OK
  customer:    acme-hardware
  issued:      2026-08-23T09:14:00Z
  expires:     2027-08-23T09:14:00Z
  fingerprint: 34b212b3…
  features:    [fastsim, vhdl]
  version-cap: 2.10.0

On failure it prints FAIL: <REASON> — <message> to stderr and exits 1, so it works as a CI gate before a build step. Pass --file <path> to check a file before installing it.

In VS Code, open any .cg file: live diagnostics and a Neosyn: Fast Simulation (Bytecode) play icon in the editor title bar mean the server started. The Quick tutorial has a file you can paste.

When it fails

The extension shows a modal with three buttons — Install License File…, Show My Fingerprint, Open Customer Portal — and a reason. The CLI prints the same reason. Every one of them:

ReasonWhat happenedFix
FILE_MISSINGNo file at ~/.neosyn/cg.license, and NEOSYN_CG_LICENSE is unsetInstall one, or set the variable
MALFORMEDThe file is not a license — truncated, or the wrong fileRe-download it. Copy the whole file; it is one long line
BAD_SIGNATUREThe signature does not match the key in this buildAlmost always a license issued for a different build generation. Ask for a reissue against your current version. The wording mentions forgery, but a stale license is the ordinary cause
EXPIREDPast the expiry date in the fileRenew, then install the new file
NOT_YET_VALIDThe start date is in the futureUsually a clock problem. Check the machine's date
FINGERPRINT_MISMATCHThe license belongs to another machineRebinding is a support operation — contact us
UNSUPPORTED_VERSIONThe license caps at an older version than the one installedRenew, or install a version within the cap
UNKNOWN_KEYThe build has no embedded public keyThe jar is broken. Re-download the extension

Non-license startup failures live in Troubleshooting. The most common by far is Could not run Java, which means no Java 17+ on your PATH.

Moving machines

The license is bound to the fingerprint, so it does not travel. A new laptop, a reimaged workstation, or a rebuilt container each need a reissue. Generate the fingerprint on the new machine and contact us.


Next: Install if you have not set up a surface yet, or the Quick tutorial to compile something.