ServiceNow CLI for agents

Let your coding agent work with ServiceNow.

snow-cli gives developers and terminal-based agents a structured command surface for ServiceNow. Investigate tables, schemas and records, trace instance code, understand most low-code artifacts, and review recent changes without navigating the UI for every question.

brew install ewatch/tap/snow-cli

macOS & Linux · Windows, curl, and other install methods

agent session / incident lookup
developer
Show me a few active incidents from this instance.

agent
# One read-only call — then pick any output format.
$ snow-cli --read-only --output <format> table list incident --query 'active=true' --fields number,short_description,priority,state --limit 3

The same instance, two interfaces

Users view versus Agents view

The screenshots show the captured ServiceNow UI. Beside each one, a matching read-only snow-cli command returns a structured payload containing the same records visible in the screenshot.

Human / ServiceNow UICustom application list
ServiceNow Custom Applications list showing Australia Demo Showcase with scope x_2135095_au_demo
LLM / structured JSONCustom scope inventory
$ snow-cli --profile dev --read-only --output <format> scope list --kind custom-app

The CLI payload contains the same Australia Demo Showcase application and scope visible in the screenshot, in every captured output format.

Human / ServiceNow UIFlow Designer list
ServiceNow Flow Designer list showing Business Calendar Demo in the Australia Demo Showcase application
LLM / structured JSONActive flow records
$ snow-cli --profile dev --read-only --output <format> table list sys_hub_flow --query 'nameLIKEBusiness Calendar^ORDERBYname' --fields name,active,status,sys_updated_on --limit 3

Switch among six captured renderings of the same three-record flow query. For this payload, auto selected TOON.

Human / ServiceNow UIScript Include form
ServiceNow Script Include form for ES12Demo in Australia Demo Showcase with Glide AJAX enabled
LLM / structured JSONInstance code search
$ snow-cli --profile dev --read-only --output <format> codesearch search ES12Demo --scope x_2135095_au_demo --limit 10

The CLI payload contains the same ES12Demo Script Include visible in the form screenshot, in every captured output format.

Human / ServiceNow UIUpdate Sets list
ServiceNow Update Sets list showing five rows for Incident Management for Service Operations Workspace, Upgrade Console, Australia Demo Showcase, and Global
LLM / structured JSONRecent update sets
$ snow-cli --profile dev --read-only --output <format> table list sys_update_set --query 'sys_created_on<2026-07-15^ORDERBYDESCsys_created_on' --fields name,application.name,state,sys_created_on,sys_created_by --limit 5

The CLI payload contains the same five update sets visible in the screenshot, including both Australia Demo Showcase rows — in every captured output format.

A bounded agent interface

Structured enough for tools. Legible enough for developers.

snow-cli uses the same command surface in an interactive terminal, an agent harness, or a shell pipeline. Instance permissions still determine which ServiceNow records the authenticated identity may read.

01

Read-only execution policy

--read-only allows the inspection commands shown here while denying table mutations and non-GET raw API requests.

02

Explicit result bounds

table list defaults to a bounded result and supports explicit --limit, field selection, and encoded queries.

03

Machine-readable output

The global --output option supports JSON, JSON Lines, CSV, TOON, text, and automatic format selection.

Start with a read-only review

Bring ServiceNow evidence into the terminal.

After installing a release, add a profile for your instance and authenticate. Use an identity whose ServiceNow roles match the access you intend to grant.

profile setup
$ snow-cli profile add dev \
  --instance <your-instance-url>
$ snow-cli auth login --profile dev