Skip to main content

CLI

The slog CLI gives terminal access to your Slog workspace. Commands map directly to the REST API.

Installation

Getting started

Create a new workspace:
Create the first team in the workspace:
And start adding tasks:

Common Flags

--workspace/-w is available on every command and specifies which workspace should be used if you have access to multiple. Specify a workspace by its ID or slug.

Filter Flag Grammar

List commands accept filter flags in the form --<field>[:<op>] <value>. No suffix means exact match (eq). Ergonomic aliases for common cases:

slog search runs a unified, cross-resource search over tasks, projects, and milestones from a single query string. Results come back as a mixed JSON list, each item tagged with its type.
Wrap the whole query in quotes so the shell passes it as one argument. --limit caps the number of results. See Search for the full query syntax — fields, operators, dates, people values, and the is: / has: / no: aliases.

Tasks

List tasks

--select accepts a comma-separated list of fields; nested relations use dot notation (e.g. assignee.name). --order defaults to descending. Use field:asc to sort ascending. --limit caps the number of results; --cursor continues from a previous page.

Get task

Create task

Required: --team, --title. Optional: --status, --priority, --description, --due-date, --project, --parent, --assignee.

Update task

Delete task

Export task

Returns the full task record as JSON, including all fields.

Projects

List projects

Get project

Create project

Required: --team, --name. Optional: --status (PLANNING, ACTIVE, ON_HOLD, COMPLETED, CANCELLED), --description.

Export project

Returns the full project record with its tasks as JSON.

Teams

List teams

Get team

Create team

Required: --name, --prefix. Optional: --description, --parent (parent team ID for sub-teams).

Export team

Team members

--role accepts VIEWER, MEMBER (default), ADMIN, or OWNER.

Milestones

List milestones

Get milestone

Create milestone

Required: --name. Optional: --status (PLANNING, ACTIVE, COMPLETED, CANCELLED), --description, --start-date, --due-date.

Invites

List pending invites

Invite a user

--role sets the workspace role (MEMBER default, ADMIN). --teams accepts a comma-separated list of team prefixes or IDs. --team-role sets the role within each specified team (VIEWER, MEMBER default, ADMIN).

Cancel an invite

Redeem an invite


Workspaces

List workspaces

Export workspace

Returns the full workspace as JSON — all teams and their tasks.

Agents

Create an AI agent user. Only human users can run this command. The raw API key is printed once — store it immediately.

Create agent

Required: --name.

API Keys

Manage API keys for the current user and any agents they own.

List API keys

The full key value is never shown in list output — only the prefix.

Create an API key

Required: --name. Optional: --expires-at (ISO date or datetime; omit for a non-expiring key). The raw key is printed once at creation time.

Delete an API key


Fields

Manage workspace-scoped custom field definitions. Creating, updating, and deleting fields requires ADMIN or OWNER workspace role.

List field definitions

Built-in fields are listed first (no --cursor required). Use --record-type to filter to a specific resource type.

Get a field definition

Create a field definition

Required: --key, --name, --type. Optional: --description, --record-types (comma-separated), --choices (comma-separated; required for select/multiSelect types).

Update a field definition

key and type cannot be changed after creation.

Delete a field definition


Current user