Skip to content

Configuration

Implemented

Most pipelines need a few global settings: which model to use by default, how long to wait before timing out, and which tools agents can call. That's what pipeline.config is for.

Think of it as the "defaults" section. Any step can override these values, but if it doesn't, it inherits from here.

Pipeline-level config

yaml
pipeline:
  name: my-pipeline
  config:
    model: anthropic/claude-sonnet-4-5   # default model for all ai steps
    temperature: 0.5                     # default temperature
    timeout: 30s                         # default step timeout

That's all you need to set a sensible baseline for the whole pipeline.

The model field

Implemented

JigSpec uses provider-prefixed model strings. The prefix tells the runtime which API provider to use:

yaml
config:
  model: anthropic/claude-sonnet-4-5   # Anthropic
  # model: openai/gpt-5-codex-mini          # OpenAI
  # model: anthropic/claude-haiku-4-5  # Faster, cheaper Anthropic

If you omit model, the runtime uses its built-in default. Setting it here means every ai step in your pipeline uses that model unless it overrides the field.

Step-level overrides

Implemented

Any ai step can override the pipeline defaults for that step only:

yaml
pipeline:
  config:
    model: anthropic/claude-haiku-4-5   # fast, cheap default
    temperature: 0.3

  steps:
    - name: classify
      action: ai
      prompt: "Classify: {{ input.message }}"
      # uses haiku at 0.3 — fast classification

    - name: write_report
      action: ai
      prompt: "Write a detailed analysis: {{ input.data }}"
      config:
        model: anthropic/claude-sonnet-4-5   # upgrade to better model
        temperature: 0.7                     # more creative writing
        max_tokens: 4000

The classify step uses the pipeline's default (haiku, 0.3). The write_report step overrides to use the better model with higher creativity.

Tools

Implemented

When using agent mode, you control which tools the agent can call. Tools are configured at two levels:

Pipeline level — sets the allow-list for all agent steps:

yaml
pipeline:
  config:
    tools:
      - Write
      - Read

Step level — overrides the pipeline allow-list for a specific step:

yaml
- name: researcher
  action: ai
  prompt: "Research this topic and write findings to a file"
  tools:
    - Write
    - Read

Negation syntax

You can remove a tool from the pipeline's allow-list using ! prefix:

yaml
pipeline:
  config:
    tools:
      - Write
      - Read

steps:
  - name: read_only_analysis
    action: ai
    prompt: "Analyze the existing files and summarize"
    tools:
      - "!Write"   # removes Write; inherits Read from pipeline

The !ToolName syntax removes a tool from the effective allow-list for that step. This lets you tighten permissions per step without re-listing all allowed tools. Negation is only valid at step level — pipeline-level tools only accepts plain allow-list entries.

Available tools

Built-in tools (case-sensitive):

  • File: Read, Write, Edit, Glob, Grep
  • Shell: Bash
  • Web: WebSearch, WebFetch
  • Agent orchestration: Agent (sub-agent), Task (deprecated alias for Agent), AskUserQuestion, TodoWrite, NotebookEdit

These come from the Claude Agent SDK's tool surface and are available on any ai step whose model is routed through the Anthropic/Claude Agent SDK backend.

MCP tools

Custom tools from an MCP server follow the pattern servername/tool-name (lowercase server name, slash, tool name):

yaml
tools:
  - Read
  - Write
  - slack/send-message   # MCP tool from a 'slack' server
  - github/create-issue  # MCP tool from a 'github' server

MCP tool wiring (which servers are configured, credentials) is handled outside the pipeline spec. If the named MCP server isn't registered at runtime, the step fails with a clear error.

Available config fields

FieldTypeDescription
modelstringProvider-prefixed model name (anthropic/claude-sonnet-4-5, openai/gpt-5-codex, …)
temperaturenumberModel temperature (0.0–2.0)
max_tokensnumberMaximum tokens in the response
timeoutstringStep timeout (e.g., 30s, 5m)
max_costnumberCumulative USD cap. Pipeline halts with a clear error if exceeded. See Error Handling — max_cost.
toolsarrayTool allow-list for agent steps.

Temperature guide

  • 0.0–0.3 — factual extraction, classification, code generation
  • 0.4–0.7 — balanced (good default for most tasks)
  • 0.8–1.0 — creative writing, brainstorming