# Dynamo: open source visual canvas for BIM and computational design automation

> Dynamo is an open-source visual programming tool connecting node-based canvas scripting with BIM workflows and Revit automation, accessible to both non-programmers and engineers who want text-level control. The user interface runs on Windows only while the engine compiles on Linux and macOS, and library authors must track API changes between versions in a dedicated wiki document.

**DynamoDS/Dynamo** — Open Source Graphical Programming for Computational Design and Automation

- Repository: https://github.com/DynamoDS/Dynamo
- Website: https://dynamobim.org
- Stars: 2,034 · Forks: 678
- Language: HTML
- License: Apache-2.0
- Published: 2026-10-11 · Updated: 2026-10-11 · Language: en
- Canonical page: https://hysenlabs.com/projects/dynamods-dynamo

## A canvas entry point for building automation that does not require a code-first start

Dynamo opens a canvas where a designer can connect nodes to wire logic without writing the equivalent in a scripting language. The same environment accepts textual programming languages for engineers who need lower-level control, so the canvas is not locked to a point-and-click mode. That dual path is the core design: the project covers both groups, and neither path requires switching tools or leaving the interface.

The project connects to Revit and the Autodesk product family, and its repository topics confirm that: the list includes BIM, Revit, automation, and visual programming alongside the Dynamo API. A developer resource page at developer.dynamobim.org and a community forum at forum.dynamobim.com serve different parts of that audience. Feature requests go to a separate DynamoWishlist repository on GitHub rather than the main issue tracker, keeping the two channels apart.

## The canvas runs on Windows; the engine targets Linux and macOS as a separate build path

A server pipeline that needs Dynamo logic without the visual workspace can target the engine directly on Linux or macOS, since those platform builds are documented on a dedicated wiki page. The visual environment, the canvas itself, compiles and runs on Windows only. These are two different scopes, and the distinction matters before any non-Windows deployment planning begins.

Anyone building server-side automation on Linux should read the platform-specific wiki page before committing to that path. The README points to those directions without reproducing them inline. Testing the engine build on the intended server platform early in a project is the way to confirm that the separation holds for the specific Dynamo behavior the pipeline needs.

## Source builds on Windows need Visual Studio 2022, .NET 10 SDK, and Node.js LTS together

Three tools are required before a source build on Windows will complete. Visual Studio 2022 satisfies the first, and the edition restriction is open: the free Community edition qualifies alongside Professional and Enterprise. The .NET 10 SDK is the second, pinning the build to the current .NET generation. Node.js LTS and its bundled npm are the third, required alongside .NET as part of the build itself, not only for web assets.

Legacy Dynamo branches may need legacy .NET Framework versions, available through Visual Studio under Tools > Get Tools and Features, or from the Microsoft archive directly. The README notes this for legacy branches without listing which branches or which Framework versions apply, so a developer working on older code has to find the correct version from the branch's own files.

Two files at the root of the repository stand out in a scan of the top-level directory: CLAUDE.md and AGENTS.md sit alongside the standard build configuration files. The README makes no mention of either.

## Node libraries use DynamoVisualProgramming NuGet packages and the Zero-Touch API

A developer building a custom node library has a starting point in the DynamoSamples repository. Those samples already demonstrate project structure and dependency management in a working build, which gives a faster start than setting up from a blank Visual Studio project. The package family used is DynamoVisualProgramming, installable through the NuGet package manager in Visual Studio. DynamoVisualProgramming.Core is the central package, and related packages share the same namespace on NuGet.

Zero-Touch Plugin Development is the documented mechanism for adding nodes without modifying Dynamo's core code. The wiki page on Zero-Touch development and the documentation at developer.dynamobim.org go beyond what the README covers inline. Any library that worked against one version of the core and needs to move to another should also be checked against the API Changes document on the wiki before the upgrade.

## API stability and the cost of tracking changes between core versions

Dynamo maintains an API Changes document on the wiki to record what shifts between versions of the core. Library authors who pin a package to one version and later need to upgrade face a reading task before touching the code: that document answers whether existing node calls will still work.

One detail in the build timeline is worth noting: v4.2.1 followed v4.2.0 by a single day, with the two landing on 2026-08-12 and 2026-08-13 respectively. The GitHub assets for both carry the DynamoCoreRuntime label with no change description in the title. The API Changes document on the wiki is therefore the only place to find what the correction covered. Library authors stepping through more than one upgrade must read the entries for each step, not only the final version they land on.

## Opt-in telemetry and the shared Autodesk instrumentation component

The instrumentation component in Dynamo is the same one Autodesk uses across its other products, and the opt-in decision follows the same pattern those products present. Collected data is described in the README as being used to enhance the usability of the product.

What the opt-in covers and where to change the setting after installation are not described in the README. For any environment where telemetry policy is a concern, the dynamobim.org documentation is the place to look for those details, since the README captures only the single statement that opt-in applies and that the component is shared.

## Getting Dynamo as an end user versus embedding the runtime as a developer

End users looking to install Dynamo are directed by the README to dynamobim.org for downloads. The GitHub repository carries build assets under the DynamoCoreRuntime label, a name that points toward developer use, specifically embedding the runtime in another application, rather than a desktop installer for an end user. The README does not explain the relationship between the website download and those assets.

Change documentation lives on the project wiki rather than in the GitHub asset pages. A user who needs to read what changed in a given version follows the wiki link, which the README calls out separately. Bug reports go to the Dynamo Issues tracker on GitHub, while feature requests go to the DynamoWishlist repository, which accepts them through an issue form on GitHub.

## Conclusion

Dynamo fits teams already working inside Revit or other Autodesk tools who need to automate repetitive model operations without writing procedural code for every step. The wrong context is any project that requires a fully cross-platform user interface: the canvas only compiles on Windows, even though the engine targets Linux and macOS. Before adopting, read the API Changes document on the wiki to understand what shifted since the Dynamo version your host application bundles, and confirm that any Zero-Touch libraries you plan to extend are compatible with the current core.

## FAQ

### How do I install Dynamo?

For end-user installation, the README directs users to dynamobim.org for downloads. The GitHub repository carries build assets under the DynamoCoreRuntime label intended for developers embedding the runtime, and the README gives no direct download link in its own body.

### Does Dynamo run on Linux or macOS?

The Dynamo user interface runs on Windows only. The underlying engine can be compiled on Linux and macOS, and the project wiki includes a dedicated page with build directions for those platforms.

### How do I create a custom node library for Dynamo?

The DynamoSamples repository is the documented starting point, using the DynamoVisualProgramming NuGet packages installed through Visual Studio. The Zero-Touch Plugin Development page on the Dynamo wiki explains the mechanism for adding nodes without changing Dynamo's core.

### What licence does Dynamo use?

Dynamo is distributed under the Apache License, with third-party components covered in LICENSE.txt at the repository root.

### What is the relationship between Dynamo and Revit?

The repository topics list revit and bim alongside dynamo and visualprogramming, placing Dynamo within the Revit and Autodesk tool family. The homepage at dynamobim.org reflects this, and the developer documentation lives at developer.dynamobim.org.

## Sources

- [DynamoDS/Dynamo on GitHub](https://github.com/DynamoDS/Dynamo)
- [License: Apache-2.0](https://github.com/DynamoDS/Dynamo/blob/master/LICENSE)
- [Project website](https://dynamobim.org)
- [README](https://github.com/DynamoDS/Dynamo/blob/master/README.md)
- [Releases](https://github.com/DynamoDS/Dynamo/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/dynamods-dynamo
