Chirp
Chirp components are native Grasshopper nodes that run AI reasoning as part of your definition. They take data in, think it through, and pass structured results on — so a definition can make judgement calls, not just calculations.
What they’re for
Section titled “What they’re for”Some steps in a design aren’t pure geometry — they’re decisions. Which option fits the brief? How should this be described? Is this result any good? Chirp lets you place that kind of reasoning right on the canvas, where it belongs, instead of breaking out to a separate tool.
You stay in control of the structure; Chirp handles the judgement inside the box you give it.
Categories
Section titled “Categories”Each Chirp component plays a role you’d recognize from a design team:
| Category | Role |
|---|---|
| Planner | Breaks a goal into steps |
| Interpreter | Turns loose input into structured data |
| Critic | Reviews a result and flags issues |
| Narrator | Describes what’s happening in plain language |
| Classifier | Sorts inputs into categories |
| Gate | Decides whether to pass or stop |
| Editor | Revises content against a goal |
Cascades
Section titled “Cascades”Chain several Chirp components and they can share reasoning context — a cascade — so a multi-step design stays coherent from one decision to the next. Ask Rook to set one up by describing the chain you want.
Connect a model
Section titled “Connect a model”Chirp calls a language model with your own key. Without a key, Chirp components still run: they return typed default values and show a warning, and any results you froze with the Freeze pin keep replaying.
-
Open
%LOCALAPPDATA%\Rook\app\chirp\in File Explorer. -
Copy
.env.exampleto a new file named.env, then replaceyour-key-herewith your key:ANTHROPIC_API_KEY=sk-ant-... -
Apply it. Chirp’s background process reads
.envonly when it starts, and it keeps running after you close Rhino. Sign out of Windows and back in (or, in Task Manager → Details, end thepython.exeprocesses whose command line contains-m chirp --rook-managed). The next Chirp component you create starts it again with your key.
Set your key before you build Chirp components if you can.
By default, planner components use anthropic/claude-opus-5 and the other categories
use anthropic/claude-sonnet-5. To use another model or provider, set CHIRP_MODEL in
the same file (it replaces both defaults), with that provider’s key:
CHIRP_MODEL starts with | Key |
|---|---|
anthropic/ | ANTHROPIC_API_KEY |
openai/ | OPENAI_API_KEY |
openrouter/ | OPENROUTER_API_KEY |
gemini/ | GEMINI_API_KEY |
For another OpenAI-compatible endpoint, describe it in CHIRP_PROVIDERS:
CHIRP_MODEL=openai/my-modelCHIRP_PROVIDERS={"openai/my-model": {"api_base": "https://your-endpoint/v1", "api_key_env": "MY_ENDPOINT_KEY"}}MY_ENDPOINT_KEY=...How you make one
Section titled “How you make one”You don’t configure Chirp by hand. Describe what the component should do:
“Add a critic that checks each layout against the brief and flags the weak ones.”
Rook places and configures it.