icepick.start method starts the Icepick worker to process agents, tools, and toolboxes. It automatically discovers and registers your workflows or accepts explicit registration.
Quick Reference
- Auto-discovery: Automatically finds agents, tools, and toolboxes created with
icepick.agent(),icepick.tool(), andicepick.toolbox() - Explicit registration: Register specific workflows using the
registerparameter - Worker configuration: Configure worker slots, labels, and other runtime options
Usage Example
Parameters
Thestart() method accepts a single optional options parameter with the following properties:
BaseOrRegisterable Type
Theregister parameter accepts workflows and registerable objects:
Supported workflow types:
- Agents created with
icepick.agent() - Tools created with
icepick.tool() - Toolboxes created with
icepick.toolbox() - Hatchet workflows created with the Hatchet SDK
WorkerLabels Type
Worker labels for affinity-based assignment and routing:
Common label examples:
Returns
Type:Promise<undefined | void[]>
Returns a promise that resolves when the worker starts successfully. The exact return value depends on the underlying Hatchet worker implementation.
Auto-Discovery
Whenregister is omitted, Icepick automatically discovers workflows from an internal registry that gets populated when you create:
- Agents: Added when calling
icepick.agent() - Tools: Added when calling
icepick.tool() - Toolboxes: Added when calling
icepick.toolbox()
Worker Configuration
Concurrency Control
Worker Identification
name: Identifies the worker in Hatchet dashboard and logslabels: Used for workflow routing and worker affinity
Examples
Basic Auto-Discovery
Explicit Registration
Related
icepick.agent- Create agents that get auto-discoveredicepick.tool- Create tools that get auto-discoveredicepick.toolbox- Create toolboxes that get auto-discovered- Hatchet Documentation - Learn more about the underlying workflow engine and worker configuration

