Skip to main content

Advanced Usage

This guide covers advanced patterns for integrating kagi CLI into scripts, automation workflows, CI/CD pipelines, and building custom tools.

Scripting Fundamentals

Exit Codes

kagi CLI uses standard exit codes for shell integration: Using exit codes in scripts:
Chaining commands:

JSON Processing with jq

kagi outputs JSON by default, making it perfect for processing with jq:

Installation

Common Patterns

Extract single field:
Extract multiple fields:
Filter results:
Count results:
Transform output:
Nested extraction:

Automation Patterns

Cron Jobs

Schedule regular kagi operations:
Cron environment:

Systemd Timers (Linux)

More reliable than cron for complex workflows:

Launchd (macOS)

macOS equivalent of systemd:

CI/CD Integration

GitHub Actions

GitLab CI

CircleCI

Docker Integration

Building Custom Tools

Wrapper Scripts

Create domain-specific wrappers:

Shell Functions

Add to your .bashrc or .zshrc:

Python Integration

Node.js Integration

Advanced jq Patterns

Creating Reports

Data Transformation

Error Handling Strategies

Retry Logic

Fallback Commands

Logging

Performance Optimization

Batch Processing

Caching Results

Security Best Practices

Token Management

Secret Scanning Prevention

Integration Examples

Alfred Workflow (macOS)

Raycast Extension

Hammerspoon (macOS)


Build something amazing with kagi!