The open-source quantum workspace. Learn it. Research it. Run it on real hardware.
Nuclei is a free, open-source desktop workspace for quantum computing. In Learn mode it's a purpose-built IDE for your first quantum course — write quantum code in a full-featured editor, see circuits render in real time, explore qubit states on an interactive Bloch sphere, and get help from an AI tutor that understands your code. In Research mode it's a workspace for real work: multi-file projects, declarative parameter-sweep experiments, a QEC Studio (Stim circuits, sinter campaigns, threshold/Λ plots, resource estimation), and eight hardware providers — all local and private. Four frameworks (Qiskit, Cirq, CUDA-Q, Q#), one workspace.
Download from GitHub Releases or try the web version.
Developer and researcher docs live at getnuclei.dev/docs -- the kernel WebSocket API (protocol v1), data schemas, framework adapters, hardware providers, plugin system, and runnable client examples. If you want to drive the kernel from your own scripts, integrate hardware pipelines, or extend Nuclei, start there.
Monaco Code Editor -- The same editor engine that powers VS Code, configured with quantum-aware syntax highlighting, autocomplete, and inline AI assistance for Qiskit, Cirq, CUDA-Q, and Q#.
Live Circuit Visualization -- Circuits render as you type. The D3.js-powered SVG diagram updates on every keystroke (300ms debounce), so you always see the circuit your code describes without running anything.
Interactive Bloch Sphere -- A Three.js 3D Bloch sphere visualizes single-qubit states after simulation. Rotate, zoom, and inspect qubit state vectors in real time.
Probability Histograms -- After execution, measurement probabilities are displayed as clear bar charts so you can immediately see the output distribution of your circuit.
Dirac AI Assistant -- A Claude-powered tutor named Dirac that sees your code, circuit, and simulation results. Dirac explains concepts at a beginner level, diagnoses errors in plain English, generates exercises, and can insert code or run simulations on your behalf.
Multi-Framework Support -- Write in Qiskit, Cirq, CUDA-Q, or Q# (QDK). Nuclei auto-detects the framework from your code and handles the rest. Switch frameworks without changing your workflow.
Grab the latest release for your platform:
- macOS:
.dmgfrom GitHub Releases - Windows:
.msiinstaller from GitHub Releases - Linux:
.AppImageor.debfrom GitHub Releases
Starting with v0.1.2, Nuclei for macOS is signed with an Apple Developer ID and notarized by Apple. Double-click the .dmg, drag Nuclei into /Applications, and open it — no Gatekeeper warnings, no right-click workaround needed.
Still on an older build? If you see "Apple could not verify nuclei is free of malware" (v0.1.1 or earlier), upgrade to v0.1.2. If you must keep the old version, right-click the app in Finder → Open → Open, or run xattr -dr com.apple.quarantine /Applications/nuclei.app.
No installation required. Try Nuclei in your browser at getnuclei.dev. The web version uses Pyodide to run Python entirely client-side.
Dirac uses the Anthropic API (Claude) and requires your own API key.
- Create an account at console.anthropic.com
- Generate an API key under API Keys
- In Nuclei, open Settings and paste your key into the Anthropic API Key field
Without a key, the editor, circuit visualization, Bloch sphere, and histograms all work normally. Only Dirac AI features are disabled.
- Node.js 20+
- Rust (latest stable, via rustup)
- Python 3.10+ with pip
- Tauri CLI:
cargo install tauri-cli
git clone https://github.com/calelamb/nuclei.git
cd nuclei
# Install frontend dependencies
npm install
# Install Python kernel dependencies
pip install -r kernel/requirements.txt
# Copy environment file and add your API key (optional)
cp .env.example .env
# Start the development server with hot reload
npm run tauri devnpm run tauri build # Build distributable for your platform
npm test # Frontend tests (Vitest)Note: Rust backend tests (
cargo test) and Python kernel tests (pytest) are planned. See the issues tracker for progress. Contributions welcome!
Nuclei is a three-layer application:
| Layer | Technology | Role |
|---|---|---|
| Desktop Shell | Tauri 2.x (Rust) | Process management, file I/O, IPC, native menus |
| Frontend | React 19 + TypeScript | Editor, visualizations, Dirac chat, panel layout |
| Python Kernel | WebSocket subprocess | Code execution, framework adapters, simulation |
The frontend sends code to the Python kernel over a WebSocket. The kernel parses the code, detects the quantum framework, extracts a CircuitSnapshot for live visualization, and runs full simulations on demand (Cmd+Enter / Ctrl+Enter).
For detailed architecture documentation, see CLAUDE.md.
| Framework | Provider | What It Provides |
|---|---|---|
| Qiskit | IBM | General-purpose quantum SDK with broad gate support and AerSimulator |
| Cirq | Fine-grained circuit control, native noise modeling | |
| CUDA-Q | NVIDIA | GPU-accelerated quantum simulation, hybrid quantum-classical workflows |
| Q# (QDK) | Microsoft | Quantum language that compiles to QIR and submits to Azure Quantum hardware |
Nuclei auto-detects which framework you are using by analyzing your code — Python import statements for Qiskit, Cirq, and CUDA-Q, and Q# syntax for Q#. All four frameworks produce the same universal CircuitSnapshot format, so visualizations work identically regardless of your choice. Q# is Nuclei's first non-Python language: it uses a source-mode adapter, so your Q# source goes straight to the QDK interpreter rather than through a Python circuit object.
Contributions are welcome. See CONTRIBUTING.md for development setup, code style guidelines, and the pull request process.
MIT -- Copyright 2026 Cale Lamb