terminal
cmdhub adapter

Linear CLI
for cmdhub.

Linear resources through the cmdhub CLI.

lock Auth: api_key
Quick Install cmdhub get linear

data_object Agent Contract

Agents should start with auth/status and discovery commands, inspect schemas before composition, and treat commands marked as mutating as state-changing operations.

Output

Use human output for normal reads, `--json` for scripting or complete structured fields, and `--jsonl` for upstream pipe inputs.

Auth

Linear OAuth or API key. Used for Linear workspaces, teams, users, states, cycles, labels, projects, issues, and comments.

Refs

Prefer list/search, then short refs or piped JSONL. Use `resolve` to inspect cached refs.

Schemas

Use `linear schema` and `catalog.json` to inspect fields, flags, examples, and side effects.

Auth scopes

readwriteissues:createcomments:create

terminal Command Reference

Generated from source. Global flags apply to all commands.

Global Flags

--json bool Emit JSON machine output
--jsonl bool Emit JSONL records for piping
--output, -o string Compatibility output mode: json|jsonl. Prefer --json or --jsonl
--view string = summary View mode: summary|full
--profile string = default Config/auth profile
--config string Config path override
--quiet, -q bool Suppress non-essential diagnostics
--debug bool Enable debug diagnostics
--limit int = 50 Maximum items to emit
--page-size int = 50 Requested upstream page size
--cursor string Continuation cursor
--no-paginate bool Fetch only one page
--version, -v bool Print version information
linear agent Plan agent-oriented Linear command adaptations
#cmd-linear-agent discovery safe
$ linear agent --help
linear agent adapt Dry-run a JSONL item adaptation to a Linear command
#cmd-linear-agent-adapt discovery safe dry-run
--dry-run bool Plan without mutating Linear
--to string Target Linear command, such as "linear issue create"
$ linear agent adapt --to "linear issue create" --dry-run
linear attachment Manage Linear attachment records
#cmd-linear-attachment discovery safe
$ linear attachment --help
linear attachment create Create a Linear external URL attachment
#cmd-linear-attachment-create mutates state
--issue string Issue ref, identifier, URL, or ID
--metadata-json string Attachment metadata JSON object
--subtitle string Attachment subtitle
--title string Attachment title
--url string External URL to attach
$ linear attachment create --help
$ linear attachment create --issue i1 --url https://example.com/logs --title "Logs"
linear attachment delete Delete a Linear external URL attachment
#cmd-linear-attachment-delete mutates state dry-run
--dry-run bool Preview without changing Linear state
--yes bool Confirm attachment deletion
$ linear attachment delete a1 --yes
linear attachment get Get a Linear attachment
#cmd-linear-attachment-get discovery safe
$ linear attachment get a1
linear attachment list List Linear attachment records
#cmd-linear-attachment-list discovery safe
--include-archived bool Include archived Linear records
--issue string Issue ref, identifier, URL, or ID
$ linear attachment list
$ linear attachment list --issue CMD-123
linear attachment update Update a Linear external URL attachment
#cmd-linear-attachment-update mutates state
--metadata-json string Attachment metadata JSON object
--subtitle string Attachment subtitle
--title string Attachment title
$ linear attachment update a1 --title "Updated logs"
linear auth Manage Linear authentication
#cmd-linear-auth discovery safe
$ linear auth --help
linear auth login Authenticate with Linear
#cmd-linear-auth-login mutates state
--api-key bool authenticate with a Linear personal API key instead of OAuth
--api-key-stdin bool read the Linear API key from stdin
$ linear auth login
$ linear auth login --api-key
$ linear auth login --help
$ linear auth status
linear auth logout Remove stored Linear credentials
#cmd-linear-auth-logout mutates state
$ linear auth login
$ linear auth logout
$ linear auth logout --help
linear auth refresh Refresh stored Linear credentials
#cmd-linear-auth-refresh mutates state
$ linear auth refresh
$ linear auth refresh --help
linear auth status Show Linear auth status
#cmd-linear-auth-status discovery safe
$ linear auth status
$ linear auth status --help
$ linear auth status --json
linear auth whoami Show the current Linear user and workspace
#cmd-linear-auth-whoami discovery safe
$ linear auth whoami
$ linear auth whoami --help
$ linear auth whoami --json
linear capabilities Describe capabilities
#cmd-linear-capabilities discovery safe
--section string Show one capability section: scopes, schemas, or commands
$ linear capabilities --help
linear comment Manage Linear comment records
#cmd-linear-comment mutates state
$ linear comment --help
linear comment create Create a Linear issue comment
#cmd-linear-comment-create mutates state
--body string Comment markdown body
--body-file string Read comment body from a file
--issue string Issue ref, identifier, URL, or ID
$ linear comment create --help
$ linear comment create --issue i1 --body "Reproduced in staging."
linear comment delete Delete a Linear issue comment
#cmd-linear-comment-delete mutates state dry-run
--dry-run bool Preview without changing Linear state
--yes bool Confirm comment deletion
$ linear comment delete cm1 --yes
linear comment get Get a Linear comment
#cmd-linear-comment-get discovery safe
$ linear comment get cm1
linear comment list List Linear comment records
#cmd-linear-comment-list discovery safe
--include-archived bool Include archived Linear records
--issue string Issue ref, identifier, URL, or ID
$ linear comment list
$ linear comment list --issue CMD-123
linear comment update Update a Linear issue comment
#cmd-linear-comment-update mutates state
--body string Comment markdown body
--body-file string Read comment body from a file
$ linear comment update cm1 --body "Updated comment."
linear config Inspect local configuration
#cmd-linear-config discovery safe
$ linear config --help
linear config explain Explain resolved configuration
#cmd-linear-config-explain discovery safe
$ linear config explain --help
linear cycle Manage Linear cycle records
#cmd-linear-cycle discovery safe
$ linear cycle --help
linear cycle get Get a Linear cycle
#cmd-linear-cycle-get discovery safe
$ linear cycle get cy1
linear cycle list List Linear cycle records
#cmd-linear-cycle-list discovery safe
--include-archived bool Include archived Linear records
--team string Team ref, key, name, or ID
$ linear cycle list
$ linear cycle list --team CMD
linear doctor Run diagnostics
#cmd-linear-doctor discovery safe
$ linear doctor --help
linear document Manage Linear document records
#cmd-linear-document discovery safe
$ linear document --help
linear document get Get a Linear document
#cmd-linear-document-get discovery safe
$ linear document get d1
linear document list List Linear document records
#cmd-linear-document-list discovery safe
--include-archived bool Include archived Linear records
$ linear document list
$ linear document list --limit 10
linear initiative Manage Linear initiative records
#cmd-linear-initiative discovery safe
$ linear initiative --help
linear initiative get Get a Linear initiative
#cmd-linear-initiative-get discovery safe
$ linear initiative get in1
linear initiative list List Linear initiative records
#cmd-linear-initiative-list discovery safe
--include-archived bool Include archived Linear records
$ linear initiative list
$ linear initiative list --limit 10
linear issue Manage Linear issue records
#cmd-linear-issue discovery safe
$ linear issue --help
linear issue archive Archive a Linear issue
#cmd-linear-issue-archive mutates state dry-run
--dry-run bool Preview without changing Linear state
--yes bool Confirm the issue archive operation
$ linear issue archive i1 --yes
linear issue create Create a Linear issue
#cmd-linear-issue-create mutates state
--assignee string Assignee user ref, email, name, ID, or me
--cycle string Cycle ref, number, name, or ID
--description string Issue markdown description
--description-file string Read issue markdown description from a file
--due-date string Due date in YYYY-MM-DD form
--label stringArray = [] Issue label ref, name, or ID; repeatable
--priority string Priority: none, urgent, high, medium, low, or 0-4
--project string Project ref, slug, name, or ID
--state string Workflow state ref, name, or ID
--team string Team ref, key, name, or ID
--title string Issue title
$ linear issue create --help
$ linear issue create --team CMD --title "Investigate login error"
linear issue get Get a Linear issue
#cmd-linear-issue-get discovery safe
$ linear issue get CMD-123
linear issue label Manage labels on Linear issues
#cmd-linear-issue-label mutates state
$ linear issue label --help
linear issue label add Add a label on a Linear issue
#cmd-linear-issue-label-add mutates state
--label string Label ref, name, or ID
$ linear issue label add i1 --label cmdhub-demo
linear issue label remove Remove a label on a Linear issue
#cmd-linear-issue-label-remove mutates state
--label string Label ref, name, or ID
$ linear issue label remove i1 --label cmdhub-demo
linear issue list List Linear issue records
#cmd-linear-issue-list discovery safe
--assignee string Assignee user ref, email, name, ID, or me
--created-after string Only include issues created after this date or RFC3339 timestamp
--creator string Creator user ref, email, name, ID, or me
--cycle string Cycle ref, number, name, or ID
--due-after string Only include issues due on or after this YYYY-MM-DD date
--due-before string Only include issues due on or before this YYYY-MM-DD date
--include-archived bool Include archived Linear records
--label string Issue label ref, name, or ID
--priority string Priority: none, urgent, high, medium, low, or 0-4
--project string Project ref, slug, name, or ID
--state string Workflow state ref, name, or ID
--state-type string Workflow state type such as backlog, unstarted, started, completed, or canceled
--team string Team ref, key, name, or ID
--updated-after string Only include issues updated after this date or RFC3339 timestamp
$ linear issue list
$ linear issue list --limit 20
linear issue unarchive Unarchive a Linear issue
#cmd-linear-issue-unarchive mutates state dry-run
--dry-run bool Preview without changing Linear state
--yes bool Confirm the issue unarchive operation
$ linear issue unarchive i1 --yes
linear issue update Update a Linear issue
#cmd-linear-issue-update mutates state
--assignee string Assignee user ref, email, name, ID, or me
--clear-assignee bool Remove issue assignee
--clear-cycle bool Remove issue cycle
--clear-due-date bool Remove issue due date
--clear-project bool Remove issue project
--cycle string Cycle ref, number, name, or ID
--description string Issue markdown description
--description-file string Read issue markdown description from a file
--due-date string Due date in YYYY-MM-DD form
--label stringArray = [] Issue label ref, name, or ID; repeatable
--priority string Priority: none, urgent, high, medium, low, or 0-4
--project string Project ref, slug, name, or ID
--state string Workflow state ref, name, or ID
--title string Issue title
$ linear issue update i1 --label cmdhub-demo --label urgent
$ linear issue update i1 --state "In Progress"
$ linear issue update i1 --title "Updated title"
linear label Manage Linear label records
#cmd-linear-label mutates state
$ linear label --help
linear label get Get a Linear label
#cmd-linear-label-get discovery safe
$ linear label get l1
linear label list List Linear label records
#cmd-linear-label-list discovery safe
--include-archived bool Include archived Linear records
--team string Team ref, key, name, or ID
$ linear label list
$ linear label list --team CMD
linear mcp Run the MCP server
#cmd-linear-mcp discovery safe

Run a stdio Model Context Protocol server for this adapter.

The server exposes read-only resource commands by default. Mutating commands are listed only when explicitly allowed with –allow and remain gated by the command contract safety class.

--allow stringArray = [] Allow mutating command keys such as gmail.message.archive or gmail.message.label.*
--allow-dangerous bool Allow --allow wildcards to include destructive or sends_external commands
--concurrency int Maximum concurrent MCP subprocesses
--max-output int64 = 0 Maximum stdout/stderr bytes captured per MCP command
--print-config bool Print MCP tool configuration and exit
--timeout duration = 0s Per-command MCP subprocess timeout, for example 45s or 2m
$ mcp
$ mcp --print-config
linear profile Manage provider profiles
#cmd-linear-profile discovery safe
$ linear profile --help
linear profile create Create an unauthenticated provider profile
#cmd-linear-profile-create mutates state
$ linear profile create --help
linear profile delete Delete a local provider profile
#cmd-linear-profile-delete mutates state
$ linear profile delete --help
linear profile list List provider profiles
#cmd-linear-profile-list discovery safe
$ linear profile list --help
linear profile rename Rename a local provider profile
#cmd-linear-profile-rename discovery safe
$ linear profile rename --help
linear profile use Set the default provider profile
#cmd-linear-profile-use mutates state
$ linear profile use --help
linear project Manage Linear project records
#cmd-linear-project discovery safe
$ linear project --help
linear project archive Archive a Linear project
#cmd-linear-project-archive mutates state dry-run
--dry-run bool Preview without changing Linear state
--yes bool Confirm the project archive operation
$ linear project archive p1 --dry-run
linear project create Create a Linear project
#cmd-linear-project-create mutates state
--description string Project markdown description
--description-file string Read project markdown description from a file
--name string Project name
--start-date string Project start date in YYYY-MM-DD form
--status string Project status name or type
--target-date string Project target date in YYYY-MM-DD form
--team string Team ref, key, name, or ID
$ linear project create --help
$ linear project create --team CMD --name "Auth hardening"
linear project get Get a Linear project
#cmd-linear-project-get discovery safe
$ linear project get p1
linear project list List Linear project records
#cmd-linear-project-list discovery safe
--include-archived bool Include archived Linear records
$ linear project list
$ linear project list --limit 10
linear project unarchive Unarchive a Linear project
#cmd-linear-project-unarchive mutates state dry-run
--dry-run bool Preview without changing Linear state
--yes bool Confirm the project unarchive operation
$ linear project unarchive p1 --dry-run
linear project update Update a Linear project
#cmd-linear-project-update mutates state
--clear-start-date bool Remove project start date
--clear-target-date bool Remove project target date
--description string Project markdown description
--description-file string Read project markdown description from a file
--name string Project name
--start-date string Project start date in YYYY-MM-DD form
--status string Project status name or type
--target-date string Project target date in YYYY-MM-DD form
$ linear project update p1 --target-date 2026-07-01
linear resolve Resolve a local ref, short id, or URL alias
#cmd-linear-resolve discovery safe
$ linear resolve --help
$ linear resolve <ref>
linear schema Emit schema hints
#cmd-linear-schema discovery safe
--in bool Show input schema
--input bool Show input schema
--out bool Show output schema
$ linear schema --help
linear state Manage Linear state records
#cmd-linear-state discovery safe
$ linear state --help
linear state get Get a Linear state
#cmd-linear-state-get discovery safe
$ linear state get s1
linear state list List Linear state records
#cmd-linear-state-list discovery safe
--include-archived bool Include archived Linear records
--team string Team ref, key, name, or ID
$ linear state list
$ linear state list --team CMD
linear team Manage Linear team records
#cmd-linear-team discovery safe
$ linear team --help
linear team get Get a Linear team
#cmd-linear-team-get discovery safe
$ linear team get t1
linear team list List Linear team records
#cmd-linear-team-list discovery safe
--include-archived bool Include archived Linear records
$ linear team list
$ linear team list --limit 10
linear user Manage Linear user records
#cmd-linear-user discovery safe
$ linear user --help
linear user get Get a Linear user
#cmd-linear-user-get discovery safe
$ linear user get u1
linear user list List Linear user records
#cmd-linear-user-list discovery safe
--include-archived bool Include archived Linear records
$ linear user list
$ linear user list --limit 10
linear version Show version information
#cmd-linear-version discovery safe
$ linear version --help
linear view Manage Linear view records
#cmd-linear-view discovery safe
$ linear view --help
linear view get Get a Linear view
#cmd-linear-view-get discovery safe
$ linear view get v1
linear view issue List issues from a Linear view
#cmd-linear-view-issue discovery safe
$ linear view issue --help
linear view issue list List Linear issues from a saved view
#cmd-linear-view-issue-list discovery safe
--include-archived bool Include archived Linear issues
$ linear view issue list
$ linear view issue list v1 --limit 20
linear view list List Linear view records
#cmd-linear-view-list discovery safe
--include-archived bool Include archived Linear records
$ linear view list
$ linear view list --limit 10

play_circle Live Examples

Output captured from a real workspace. Regenerate with scripts/gen-docs.sh --update.

auth

Check Linear readiness
$ linear auth status
Authenticated as kestrelphilip@gmail.com

Next steps:
- Issues:       linear issue list --limit 10
- Teams:        linear team list --limit 10
- Doctor:       linear doctor
- Capabilities: linear capabilities
Check current Linear identity
$ linear auth whoami
Linear identity
Field          Value
-------------  -----
Profile        default
Account        kestrelphilip@gmail.com
User           kestrelphilip
Workspace      cmdhub-test
Workspace key  cmdhub-test
Auth mode      oauth
User URL       [u1]

URLs:
- [u1] https://linear.app/cmdhub-test/profiles/kestrelphilip

Next steps:
- Issues:       linear issue list --limit 10
- Teams:        linear team list --limit 10
- Doctor:       linear doctor
- Capabilities: linear capabilities
Run Linear diagnostics
$ linear doctor
linear doctor: WARN
Account: kestrelphilip@gmail.com
Checks: credential_backend ok, credential_security warn, profiles ok, oauth_config ok, auth ok, scopes ok, connectivity ok
CHECK                STATUS  DETAIL
credential_backend   OK      using file
credential_security  WARN    credential backend stores local plaintext secrets
profiles             OK      active profile "default"
oauth_config         OK      Linear built-in public PKCE OAuth client id is configured
auth                 OK      stored Linear OAuth token expires at 2026-07-07T08:51:45Z
scopes               OK      stored Linear token covers required scopes
connectivity         OK      Linear GraphQL API reachable

Next steps:
- Status:       linear auth status
- Capabilities: linear capabilities

alt_route Composition Patterns

Bridge your ecosystem with zero middleware.

# Inspect auth state and available command schemas
linear auth status --json
linear schema