- Add `issue attach` command to attach files to issues
- Add `--attach` flag on `issue comment add`
- Show attachments section in `issue view` with auto-download
- Add `attachment_dir` and `auto_download_attachments` config options
- Add network permission for storage.googleapis.com (upload destination)
This PR adds several major features to linear-cli:
- **Initiative management**: Full CRUD support for initiatives including
list, view, create, archive, unarchive, update, and delete commands
- **Initiative-project linking**: Commands to add and remove projects
from initiatives
- **Label management**: List, create, and delete commands for labels
with team filtering
- **Project creation**: New `project create` command with interactive
mode and initiative linking
- **Team deletion**: New `team delete` command with confirmation
- **Bulk operations**: New utility supporting bulk operations across
commands (issue delete now supports multiple IDs)
## New Commands
### Initiatives
- `linear initiative list` - List all initiatives with filtering options
- `linear initiative view <id>` - View initiative details including
linked projects
- `linear initiative create` - Create new initiative (interactive or via
flags)
- `linear initiative archive <id>` - Archive an initiative
- `linear initiative unarchive <id>` - Unarchive an initiative
- `linear initiative update <id>` - Update initiative properties
- `linear initiative delete <id>` - Delete an initiative (with
confirmation)
- `linear initiative add-project` - Link a project to an initiative
- `linear initiative remove-project` - Remove project from initiative
### Labels
- `linear label list` - List labels with optional team filter
- `linear label create` - Create a new label
- `linear label delete <id>` - Delete a label
### Projects
- `linear project create` - Create a new project with team, lead, dates,
status, and optional initiative linking
### Teams
- `linear team delete <id>` - Delete a team (with confirmation)
Add support for loading `.linear.toml` from user's home directory as a
fallback when no project-level config exists:
- Unix: `~/.config/linear/linear.toml` or `$XDG_CONFIG_HOME/linear/linear.toml`
- Windows: `%APPDATA%\linear\linear.toml`
Config precedence (highest to lowest):
1. CLI flags
2. Environment variables
3. Project config (`.linear.toml` in cwd or repo root)
4. User home config
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace the get-graphql-schema npm package with the built-in
'linear schema' command, using the -o flag to write output to file
instead of stdout redirection.
Claude-session-id: c951003d-76bb-446c-9c38-d448f2f768af
Extend hyperlink support to work consistently for both issue descriptions
and comments by using charmd markdown rendering with OSC-8 extensions.
- Use renderMarkdown with extensions for comment body rendering
- Remove formatWrappedText function, replaced by markdown rendering
- Pass extensions array through captureCommentsForTerminal function
- Apply proper indentation to rendered reply comments
Claude-session-id: 49101792-03cc-423f-8162-4e8fd125d1b4
Implement local image caching for issue view command to avoid
exposing authenticated Linear URLs. Images are downloaded to a
temporary directory and cached for reuse.
- Add image download and caching system
- Update deno.json permissions for temporary directories and
uploads.linear.app domain access
- Add dependencies: remark, unified, mdast, valibot, sanitize-filename
- Add LINEAR_DOWNLOAD_IMAGES env var and download_images config option
(enabled by default, disable with --no-download flag)
Claude-session-id: 626af003-386f-486b-8357-db352b0b5766
**Fixed:**
- state column is now dynamically sized with max 20 chars and
auto-truncation
**Changed:**
- linear issue list now sorts by workflow state first
- issue pr create no longer opens browser by default, added --web flag
- removed 'about' prefix from relative timestamps
**Added:**
- automatic paging for issue view command with --no-pager flag and pager
- pager support for issue list command with --no-pager option
Restrict net access to linear api
Restrict run access to gh, git
Restrict env access to linear and variables used by gh and git.
---------
Co-authored-by: Peter Schilling <git@schpet.com>