Key Update: AI with Classiq
A Quantum Engineer plugin for AI coding agents, and a Classiq platform assistant
6 Enhancements
GPU simulation, molecular embedding, streamlined remote execution, and more
3 Documentation Additions
New user guides for the AI capabilities and M2M authentication
6 Bug Fixes & Deprecations
Correctness fixes and one function removal
AI with Classiq
Two separate AI capabilities shipped this month; if you work locally, the Quantum Engineer plugin enables your coding agent to model, synthesize, execute, and analyze quantum programs with Classiq. If you work on the platform, the Classiq Assistant turns a description into a synthesized, executable program, and answers your questions along the way. For further reading, refer to the Classiq blog.Quantum Engineer Plugin
The plugin draws its capability from a set of Classiq skills paired with the Classiq MCP: it writes in Qmod (through the Classiq SDK), builds on validated components from the Classiq Library, and synthesizes on Classiq’s backend engine to produce optimized circuits. That grounding is what lets it pull ahead on hard work, such as reproducing paper implementations, research, and multi-step applications you refine over time. The plugin is available to Classiq’s enterprise customers. For more information, including a full breakdown of the skills for each phase of quantum algorithm development, see the Quantum Engineer Plugin user guide. To request access, contact us.Classiq Assistant (Beta)
The new Classiq Assistant, built within the Classiq platform, takes you from an idea to a working quantum program. It accepts natural-language descriptions or circuit images, builds a Qmod-native model, synthesizes it, and opens the result on the Quantum Program page. You start from the new text input box at the center of the home page, with no prior installation or configuration needed:

Enhancements
NVIDIA DGX Statevector Simulator
Statevector simulations can now run on a GPU-accelerated backend hosted on an NVIDIA DGX system. Selected by passingbackend="classiq/dgx_simulator", it handles up to 35 qubits in single precision (float32) across both sampling and statevector modes. Exact simulation at this scale lets you validate larger algorithms, so you can catch errors in the logic before spending resources running on real hardware. Access requires specific license permissions; see DGX Statevector Simulator.
Wavefunction-in-DFT Embedding
Simulating a full molecule at quantum accuracy quickly outgrows the qubit budget of current hardware, yet most of the chemistry that matters happens in a small, chemically active region of it. The newEmbeddingCalculator class runs projection-based embedding to exploit exactly that: it partitions a molecular system into an active fragment, treated with a quantum algorithm such as VQE, and a surrounding environment described by DFT. The calculator drives the full DFT-and-embedding pipeline server-side and returns Hamiltonians ready to hand to a quantum solver.
A notebook walking through a complete example is coming in July.
Streamlined Remote Execution
Two changes cut the job and queueing overhead of running on remote cloud hardware:-
Hosted optimization on IonQ: The
variational_minimizevariants (standalone function andExecutionSessionmethods), used for variational algorithms such as VQE or QAOA, now accepthosted=Trueto run the entire optimization loop on IonQ Hosted Hybrid as a single Classiq execution job. Previously each optimizer iteration was submitted as its own Classiq sample job, so the job count grew with the optimization; now the SDK submits and polls that one job, while the Classiq backend handles all communication with IonQ. Code Example:Hosted mode has specific configuration requirements; seevariational_minimizefor details. -
Persistent IBM Runtime sessions: When you run on a remote IBM backend inside a single
ExecutionSession, successive primitives (sample,observe,estimate_cost,variational_minimize, and non-blocking counterparts) now reuse one IBM Quantum Runtime session rather than each opening its own. On busy hardware, where each session waits in the queue, keeping the session open across a multi-step workflow means you queue once instead of at every step. No flag needed; the session reuse happens automatically:
Per-Call Shot and Routing Overrides
Within an execution session,ExecutionSession.sample(), observe(), and variational_minimize() (and their submit_* counterparts) now accept optional num_shots and run_via_classiq keyword arguments that override the session defaults for that invocation only. This lets the session hold your shared defaults while you vary shot counts or execution routing per primitive call.
Code Example:
Visualizer Label Management
The quantum program visualizer now keeps large circuits readable with finer control over variable labels. Previously, the same variable name repeated down every wire added visual noise that could obscure the circuit’s architecture. What has been updated:- Adjacent repeating labels are suppressed automatically, cutting the clutter.
- A suppressed label is never lost: hover over the wire for a tooltip with the hidden name.
- A right-click context menu on each variable wire lets you show or hide individual labels as needed.


LaTeX Export for Large Circuits
LaTeX export on the Quantum Program page now also handles very large circuits, rendering them as publication-quality diagrams.Documentation Additions
- Quantum Engineer Plugin: Install and set up the plugin in your AI coding agent, with a breakdown of the skills for each development phase and worked examples to start from.
- Classiq Assistant: Getting Started: Access the platform assistant, generate and refine a program from a prompt, and learn the best practices for prompting it well.
- M2M Authentication: Authenticate backend services to the Classiq platform with no human intervention required, using the non-interactive machine-to-machine flow built on the OAuth 2.0 client credentials grant.
Bug Fixes
-
Loops and controls that reuse variables now compile correctly:
foreach/powerloops that modified quantum-numeric variables used in later comparisons, andcontrolstatements whose bodies reused their condition variables, could previously produce incorrect circuits (the latter by leaking a phase onto the controlled state). -
subscriptnow accepts a quantum expression as its index: Indexing asubscriptwith a quantum expression (for exampleres ^= subscript(table, a + b)) previously raised an internal error; such expressions are now lowered and synthesized correctly. -
Classical expressions can now reuse a variable: A classical expression that reuses a variable, such as the exponent
k + kinpower(k + k, ...), no longer fails with “both sides of the operation are identical”; that restriction now applies only to in-place quantum arithmetic. -
Clearer error message when exporting parametric programs to QASM 2: Exporting a parametric program with the default
target_language=TargetLanguage.QASM2now raises an indicative error suggesting QASM 3, rather than an unclear internal one. - The visualizer stays responsive on oversized function blocks: Running Expand All on a function block with too many child operations to render could previously freeze or crash the browser tab. It now stops with a warning that the block is too large to visualize, and the same warning appears when expanding a single oversized block.
Deprecations
exponentiation_with_depth_constraintremoved: This function exponentiated a Pauli operator (Hamiltonian simulation) while automatically selecting Suzuki-Trotter parameters to fit a target maximum circuit depth. It has now been removed after a deprecation period. Useexponentiatefor Hamiltonian exponentiation, or thesuzuki_trotterfamily andqdriftwhen you need explicit control over the decomposition order and repetitions.