Concepts overview
linear-cli is a thin shell interface over selected Linear GraphQL operations. The public concepts are:
| Concept | Meaning in the CLI |
|---|---|
| Credential | An API key resolved from the global flag, environment, or config file. |
| Team | A Linear workspace team identified by a key such as ENG. Several commands resolve that key to a UUID before querying. |
| Issue | A work item. Reads accept TEAM-NUMBER identifiers; mutations resolve the identifier before updating. |
| Workflow state | A status such as Backlog, In Progress, or Done. A name can be resolved to a state UUID for issue updates. |
| Label | An issue label. Create and issue mutations resolve labels by name within a team. |
| Project and cycle | Planning containers queried by UUID or team-scoped listing. A cycle is the sprint-like object exposed by Linear. |
| Document | A workspace document that can be listed, read, or searched. |
| Envelope | The stable outer JSON object containing success, data or error, and optional pagination. |
The CLI is stateless per invocation. Configuration is persisted locally, but API requests do not rely on a daemon or a persistent connection. The GraphQL query shapes and returned fields are implementation details; the envelope, command names, flags, exit codes, and documented identifier forms are the supported interface.