# snow-cli > A cross-platform ServiceNow command-line interface for developers and coding agents. Query and mutate Table API records, inspect schemas, aggregate statistics, run background scripts, search instance code, and render machine-readable JSON, JSON Lines, TOON, or CSV output. A read-only policy (snow-cli-ro or --read-only) blocks mutating commands. The full documentation as a single file is available at https://ewatch.github.io/snow-cli/llms-full.txt. Source and releases: https://github.com/ewatch/snow-cli ## Getting started - [Introduction](https://ewatch.github.io/snow-cli/introduction/): snow-cli is a cross-platform command-line interface for working with ServiceNow instances. - [Installation](https://ewatch.github.io/snow-cli/installation/): Install snow-cli and its read-only companion, snow-cli-ro, with Homebrew, the platform installer, or a source build. The platform installer selects the latest GitHub release for… - [Quick start](https://ewatch.github.io/snow-cli/quick-start/): This page shows a minimal first-time workflow. - [Testing with a PDI](https://ewatch.github.io/snow-cli/pdi-testing/): A ServiceNow Personal Developer Instance (PDI) is a free, full-featured instance you can use to test snow-cli safely without affecting production data. ## Configuration - [Configuration and authentication](https://ewatch.github.io/snow-cli/configuration/): snow-cli keeps connection metadata in a config file and stores secrets in the operating system keychain where possible. - [OAuth authorization code with PKCE](https://ewatch.github.io/snow-cli/oauth-authorization-code-pkce/): Use OAuth 2.0 authorization-code login when snow-cli must act in user scope instead of as a service account. This is the right setup when you want the CLI to operate as the sign… - [Secure read-only usage](https://ewatch.github.io/snow-cli/secure-readonly-usage/): When you give agents, automation, or team members access to ServiceNow data, it is often safer to ensure they cannot modify anything by accident. snow-cli supports this through… ## Command reference - [Overview](https://ewatch.github.io/snow-cli/commands/): snow-cli uses a noun-verb command style: - [profile](https://ewatch.github.io/snow-cli/commands/profile/): Use profile to manage saved ServiceNow connection profiles. - [auth](https://ewatch.github.io/snow-cli/commands/auth/): Use auth to store, inspect, and clear credentials for the active profile. - [table](https://ewatch.github.io/snow-cli/commands/table/): Use table for generic CRUD operations against ServiceNow tables. - [data](https://ewatch.github.io/snow-cli/commands/data/): Use data for portable export, validation, and import workflows that sit above the raw Table API. - [scope](https://ewatch.github.io/snow-cli/commands/scope/): Use scope to inspect ServiceNow application scope metadata and work with scope-related artifacts. - [attachment](https://ewatch.github.io/snow-cli/commands/attachment/): Use attachment to work with files attached to ServiceNow records. - [import-set](https://ewatch.github.io/snow-cli/commands/import-set/): Use import-set to load records into staging tables through the Import Set API. - [api](https://ewatch.github.io/snow-cli/commands/api/): Use api when you want to call a ServiceNow endpoint directly instead of using a higher-level command. - [graphql](https://ewatch.github.io/snow-cli/commands/graphql/): Use graphql to submit a document to the optional Now GraphQL endpoint. It is useful when an instance exposes a GraphQL schema that fits the data you need. - [script](https://ewatch.github.io/snow-cli/commands/script/): Use script to execute a ServiceNow background script. - [snu](https://ewatch.github.io/snow-cli/commands/snu/): Use snu when you want to drive the SN-Utils browser helper tab directly. - [codesearch](https://ewatch.github.io/snow-cli/commands/codesearch/): Use codesearch to search code and related metadata on a ServiceNow instance. - [completions](https://ewatch.github.io/snow-cli/commands/completions/): Use completions to generate shell completion scripts.