# Non-Interactive Mode

URL: https://docs.hanzo.ai/docs/dev/usage/exec

> Run Hanzo Dev headless for single tasks and CI/CD pipelines.

## Non-Interactive Mode

Run Hanzo Dev without the TUI for single tasks:

```bash
dev exec "Add error handling to main.py"
```

### Options

| Option                         | Description                             |
| ------------------------------ | --------------------------------------- |
| `--auto`                       | Run Auto Drive instead of single turn   |
| `--auto-review`                | Use Auto Review models and limits       |
| `--json`                       | Print events to stdout as JSONL         |
| `--color <MODE>`               | Color output: `always`, `never`, `auto` |
| `--max-seconds <N>`            | Maximum wall-clock time budget          |
| `--turn-cap <N>`               | Maximum Auto Drive coordinator turns    |
| `--include-plan-tool`          | Include planning tool in conversation   |
| `--output-last-message <FILE>` | Write final message to file             |
| `--output-schema <FILE>`       | JSON Schema for structured output       |
| `--skip-git-repo-check`        | Allow running outside Git repos         |

### Examples

```bash
# Full auto mode (sandboxed)
dev exec --full-auto "Fix all linting errors"

# Auto Drive with time limit
dev exec --auto --max-seconds 300 "Implement the TODO items"

# JSON output for scripting
dev exec --json "List all functions in src/"
```

### CI/CD Integration

```yaml
- name: Update changelog via Hanzo Dev
  run: |
    npm install -g @hanzo/dev
    export OPENAI_API_KEY="${{ secrets.OPENAI_KEY }}"
    dev exec --full-auto "update CHANGELOG for next release"
```

### Resuming Sessions

Resume a previous headless run to continue the same conversation:

```bash
# Resume most recent session
dev exec "continue the task" resume --last

# Resume specific session by ID
dev exec resume 7f9f9a2e-1b3c-4c7a-9b0e-123456789abc "continue"
```
