Skip to main content
List the routines available to the authenticated workspace. The list view returns id, name, and description only — use clay routines get for the full routine definition.
clay routines list [--integration <name>] [--limit <n>] [--cursor <token>]
Results are paginated. --limit sets the page size, and the response includes a top-level cursor when more routines are available; pass it back with --cursor to fetch the next page.

Flags

FlagDescription
--integration <name>Restrict to routines exposed on the given integration. One of api, mcp, or claygent.
--limit <n>Maximum routines to return per page. Must be a positive integer up to 100. Defaults to 20.
--cursor <token>Resume from a previous response’s cursor to fetch the next page.

Output

{
  "data": [
    {
      "id": "function:t_abc123",
      "name": "Enrich company",
      "description": "Look up a company by domain."
    }
  ],
  "cursor": "next_page_token"
}
FieldTypeDescription
data[].idstringRoutine id. Always prefixed with the routine type (e.g. function:).
data[].namestringDisplay name.
data[].descriptionstring | nullDescription, or null if not set.
cursorstringPresent when more routines are available. Pass it back via --cursor. Omitted on the last page.

Errors

CodeExitNotes
validation_error2--limit is not a positive integer or exceeds 100.
auth_forbidden3The API key lacks the cli:all scope (or all).

Examples

clay routines list
clay routines list --integration mcp
clay routines list --limit 10 | jq -r '.data[].id'
clay routines list --limit 10 --cursor "$CURSOR"