What is Grasshopper 2?
Grasshopper 2 is the next generation of Grasshopper, included in the Rhino BETA. It is a ground-up rewrite of the visual programming environment you already know — new solver, new data model, new interface — built to remove the limits we’ve been designing around in Grasshopper 1 for over fifteen years.
Grasshopper 1 is still there and getting regular enhancements. GH2 installs alongside it — run the GH2 command to open it and start exploring.
Why Grasshopper 2?
Grasshopper 1 has been not been able to add key features for years because its core architecture can only stretch so far. Rather than keep patching, GH2 rebuilds the foundation to allow core features to continue to grow into the future.
- A real data model. Data trees have been redesigned, and every item can now
carry meta data — attach names, values, and tags to your data and filter,
sort, or assign by them downstream. No more shuttling parallel trees around to
keep track of what’s what. - A solver you can interrupt. GH2 computes across your cores, and a running
solution can be cancelled — a slider nudge you didn’t mean no longer means
waiting out the solve. - Native looping. A cluster can feed its own output back into its input, with
a Loop Repeats pin setting the iteration count. Random walks, relaxation,
growth, anything iterative — built in, no add-on required. - Globals without wires. Shout publishes a named value, and any parameter
expression downstream can read it by name. The dependency is real — move the
slider and everything listening updates — with nothing to route across the
canvas. - A modern interface. Redesigned components and icons, a zoomable UI that
reveals more detail as you get closer, dark and light modes, and in-canvas
widgets that put settings where you’re working. - Documentation built in. GH2 ships with over 120 example definitions,
conceptual help topics, and a 300+ term glossary — all available inside the
app. Hover help actually helps. - Display rules. Control how results preview in the viewport — colour,
visibility, styling — with a rule syntax, per object, without baking. - GH2 scripting. C# and Python 3 script components running on the new script
editor stack. See the Script Components post for details.
How It Works
Open the Rhino BETA and run GH2. GH1 and GH2 can be open at the same time —
your GH1 workflow is not affected.
The canvas will feel familiar: components, wires, parameters. The differences
show up as you work. Every parameter carries its own data modifiers — thirteen of
them, in every parameter — so flattening, grafting, sorting, and cleaning happen
where the data already is instead of needing a component each. Meta data travels
with your geometry. Previews can be governed by rules connected to the meta data.
Help is built into the canvas rather than sitting in a browser tab. Every
component and parameter has its own documentation page: click the Help button
in its panel, or press ? to search components. For the full library — components by category,
conceptual topics, a pin reference, a type reference, and a 300+ term glossary,
all searchable — use Help > Documentation…, or right-click the canvas and pick
Documentation….
The example definitions are the fastest way in. Over 120 ship with GH2, covering
lists, trees, gradients, display rules, meta data, meshes and more, and most are
linked from the help page of the component or topic they demonstrate — open one,
pull it apart, change it.
Try It
- Download the Rhino BETA and run the
GH2command. - Open a few of the built-in example files and pull them apart.
- Rebuild one of your small GH1 definitions in GH2 and see what the new data model does for it.
Notes
Grasshopper 2 is a work in progress:
- Feature parity with GH1 is not there yet. Components are still being added; keep production work in GH1.
- GH1 plugins do not load in GH2. The GH2 SDK is still evolving — plugin developer docs will follow.
- Opening GH1 Files: You can open GH1 files in GH2 but its not a recommended workflow, it opens GH1 in the background to support the GH1 components.
Found a bug? Have opinions? That’s what the BETA is for — post them here and we’ll get them into the system.










