CLI
Theslog CLI gives terminal access to your Slog workspace. Commands map directly to the REST API.
Installation
Getting started
Create a new workspace: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).
| Operator | Flag suffix | Example |
|---|---|---|
eq | (none) | --status TODO |
contains | :contains | --title:contains catalog |
startsWith | :starts | --title:starts "Build" |
gt | :after | --createdAt:after 2026-05-01 |
gte | :since | --createdAt:since 2026-05-01 |
lt | :before | --dueDate:before 2026-06-01 |
lte | :by | --dueDate:by 2026-05-19 |
in | :in | --status:in IN_PROGRESS,BLOCKED |
present | :set | --assignee:set (no value) |
Search
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.
--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
--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
--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
--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
--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
--name.
API Keys
Manage API keys for the current user and any agents they own.List API keys
Create an API key
--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
--cursor required). Use --record-type to
filter to a specific resource type.
Get a field definition
Create a field definition
--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.