---
title: "axiom create node"
description: "Scaffold a new node in nodes/"
category: reference
surfaces: [cli]
related: [reference/cli/axiom-create, guides/create-a-node-python, guides/create-a-node-go, guides/create-a-node-typescript, guides/create-a-node-rust, guides/create-a-node-java, guides/create-a-node-csharp]
last_reviewed: 2026-06-06
---

<!-- GENERATED by docs/scripts/gen-cli-reference — DO NOT EDIT.
     Source of truth: the cobra command definitions in cmd/axiom/cmd/.
     Regenerate from the repo root with: go run ./docs/scripts/gen-cli-reference -->

# axiom create node

Scaffold a new node in nodes/

Create a node implementation file and test file in nodes/, then update axiom.yaml.

The node name must be PascalCase. Input and output messages must be defined in
messages/messages.proto or available from an imported package in gen/imports/.

If --input or --output are omitted and stdin is a terminal, the command will
prompt interactively with a numbered list of all available messages.

The comment block immediately above the function in the generated file is
extracted by the publish pipeline and shown in the Axiom registry as this
node's description — the same convention used for proto message leading
comments. Edit the placeholder before publishing.

Examples:
```text
axiom create node ProcessOrder --input OrderRequest --output OrderConfirmation
axiom create node ValidateOrder --input OrderRequest --output ValidationResult
axiom create node ProcessOrder   # interactive: prompts for input and output
```

## Usage

```sh
axiom create node <Name> [flags]
```

## Flags

| Flag | Shorthand | Type | Default | Description |
|---|---|---|---|---|
| `--description` |  | string |  | Node description (optional, can be set later in axiom.yaml) |
| `--help` | `-h` | bool |  | help for node |
| `--input` |  | string |  | Input message name |
| `--no-generate` |  | bool |  | Skip running axiom generate after scaffolding (useful when creating multiple nodes before generating) |
| `--output` |  | string |  | Output message name |
| `--type` |  | string |  | Node type: unary (default) or pipeline |

## See also

- [axiom create](./axiom-create.md) — Create Axiom resources
- Guide: [Create a node (Python)](../../guides/create-a-node-python.md)
- Guide: [Create a node (Go)](../../guides/create-a-node-go.md)
- Guide: [Create a node (TypeScript)](../../guides/create-a-node-typescript.md)
- Guide: [Create a node (Rust)](../../guides/create-a-node-rust.md)
- Guide: [Create a node (Java)](../../guides/create-a-node-java.md)
- Guide: [Create a node (C#)](../../guides/create-a-node-csharp.md)
