🎉Find Prospects and SendCold Emails All in One Place

How to Add Attachments to Issues in Linear

Table of Contents

You open a Linear issue and the context is missing. There’s a title, maybe a short description — but the screenshot, the design file, the error log, the Loom recording that actually explains the problem? Gone. Not there.

Your team member made a guess. Spent two hours building the wrong thing.

That’s the real cost of attachment-less issues. Not just inconvenience — wasted cycles, back-and-forth messages, and work that has to be redone. Over 150,000 teams use Linear as their core project management layer. The ones that move fastest are the ones who treat issue context as non-negotiable.

This guide covers every way to add attachments to issues in Linear — files, images, links, and external resources — so nothing gets lost and your team always has what they need to ship.

Why Attachments Matter More Than You Think

Context is everything in async work. Engineers rated Linear 4.6/5 for user experience in a 2024 developer satisfaction survey — and a large part of that satisfaction comes from how well Linear handles contextual information inside issues.

Attachments are how you close the gap between “what needs to be done” and “what actually needs to happen.” A bug report without a screenshot is an opinion. A feature request without a Figma file is a guess. A task without a spec doc is a prayer.

Get your attachments right, and your issues stop being vague tickets. They become executable work units.

Types of Attachments You Can Add in Linear

Before diving into the steps, it helps to understand what Linear actually supports. You’re not limited to uploading files.

Linear supports four primary attachment types:

Uploaded files — Images, PDFs, documents, videos, and other files you upload directly to the issue. These live inside Linear and are immediately accessible to anyone with workspace access.

Link attachments — URLs that get displayed as rich previews on the issue. GitHub pull requests, Notion docs, Figma frames, Loom videos, and any external URL can be attached this way.

Inline images and files in the description — Media you embed directly in the issue description or comments using the editor toolbar or drag-and-drop.

API-created attachments — For teams using custom integrations, Linear’s developer API allows external systems to attach resources programmatically — useful for CI/CD pipelines, support tools, and automated workflows.

Knowing which type fits your use case saves time and keeps issues cleaner.

How to Add a File Attachment to a Linear Issue

This is the most common method — uploading a file directly to an issue.

Step one: Open the issue. Navigate to the issue you want to update. You can do this by clicking it from your team view, inbox, or project board.

Step two: Access the attachment option. Scroll to the bottom of the issue description area. You’ll see an attachment icon (paperclip) in the issue editor toolbar, or you can use the / command inside the description to trigger the upload option.

Step three: Upload your file. Click the attachment icon and select the file from your device. Linear will upload it and attach it directly to the issue. Images render inline. Other file types appear as downloadable links.

Step four: Drag and drop (fastest method). If you’re inside the issue description or comment editor, you can drag a file directly from your desktop into the editor. It uploads automatically.

Linear supports standard file formats — images (PNG, JPG, GIF, SVG), documents (PDF, DOCX), videos, and more. Email-created issues support attachments up to 25 MB per file.

How to Add a Link Attachment to a Linear Issue

Link attachments are where Linear gets particularly powerful. Instead of pasting a raw URL in the description, you can attach it as a dedicated resource that sits visibly on the issue.

Step one: Open the issue sidebar or details panel.

Step two: Find the “Add attachment” option. In the issue detail view, look for the attachment section — it’s typically in the right-side details panel or accessible from the issue action menu (the three-dot menu at the top right of the issue).

Step three: Paste your URL. Enter the link. Linear will automatically pull metadata — title, favicon, and preview — so the link displays meaningfully rather than as a raw string.

This works especially well for:

  • GitHub pull requests (Linear shows PR status directly on the issue)
  • Figma design files
  • Notion documents
  • Loom video walkthroughs
  • Google Docs or Sheets
  • External bug reports or customer tickets

Linear’s native GitHub and GitLab integrations take this further — PR status updates sync back to the issue automatically, so you can see at a glance whether the linked PR is open, merged, or closed without leaving Linear.

How to Add Attachments via Drag and Drop

Speed matters. If you’re working fast, drag-and-drop is your best friend.

Open the issue. Click into the description field or the comment area. Drag any file from your desktop directly over the editor. Linear will detect the file, upload it, and embed it in place. For images, you’ll see a live preview. For other file types, a download link appears.

This method works for both new issues and existing ones. It’s the fastest way to get a screenshot or quick file into context without leaving your current workflow.

How to Embed Images Inline in Issue Descriptions

Sometimes you don’t want an attachment — you want the image to appear directly in the description so the reader sees it immediately without clicking anything.

Linear’s rich text editor supports this natively. Paste an image URL into the description using Markdown image syntax:

![Alt text](https://your-image-url.com/image.png)

 

Or simply drag and drop the image file into the description. It will render inline, visible to anyone reading the issue.

This is particularly useful for bug reports (paste the error screenshot right in the description), design feedback (embed the Figma export directly), and onboarding checklists where visuals guide the reader through steps.

How to Add Attachments via Email-Created Issues

Linear supports creating issues by email. When you forward an email to your team’s Linear email address, it becomes an issue — and any email attachments come with it.

To set this up, go to Settings → Teams → General and enable the Create by email toggle. Once active, emails sent to that address generate issues automatically, with the email body as the description and the email’s file attachments converted to issue attachments.

A few things to keep in mind: email attachments are capped at 25 MB per file. Files larger than that will fail to attach. The sender does not receive notifications when the issue is updated or resolved — this is a one-way intake method.

This feature is powerful for teams that receive bug reports, support requests, or stakeholder feedback by email and want to route them directly into their Linear workflow without manual copy-paste.

How to Add Attachments Through Linear’s API

If you’re building custom integrations or automating workflows, Linear’s API makes it possible to attach external resources programmatically to any issue.

The API is designed for developers who want to surface data from other tools — CI/CD build results, customer support tickets, monitoring alerts, deploy logs — directly on Linear issues. This keeps every relevant data point in context without requiring manual attachment.

Linear’s developer documentation covers the full attachment API, including how to create, update, and delete attachments via GraphQL. The attachmentCreate mutation accepts a URL, a title, and an optional icon, and associates the attachment with any issue by ID.

This is how tools like Sentry, Intercom, and Zendesk surface their data inside Linear issues — through the same attachment API you can use for your own integrations.

How to Manage and Remove Attachments

Attachments don’t have to be permanent. If you’ve added something outdated or incorrect, you can remove it cleanly.

For file attachments: hover over the attachment in the issue view, and you’ll see a delete option appear. Click it, confirm, and it’s gone.

For link attachments: navigate to the attachment section in the issue’s sidebar panel. Each link shows a remove option when you hover.

For inline images in the description: edit the description and delete the image element directly from the editor.

Keeping issues lean matters. Over time, cluttered issues with outdated attachments create noise. Audit attachments when issues move to completion, especially for long-running projects.

Keyboard Shortcuts for Faster Attachments in Linear

Linear is built around keyboard-first workflows. Interactions are designed to complete within 50 milliseconds — and that commitment to speed extends to how you manage attachments.

A few shortcuts worth knowing:

  • Cmd/Ctrl + K — Opens the command bar from anywhere. Type “attach” or “add link” to access attachment options without reaching for the mouse.
  • / inside the editor — Triggers the slash command menu. Select “Image” or “File” to upload from here.
  • Cmd/Ctrl + V — Paste a copied image directly into the description editor. If you’ve taken a screenshot and it’s in your clipboard, paste it straight in.

These shortcuts compound over time. The less you switch between keyboard and mouse, the faster your issue management becomes — and with 150,000+ teams on Linear, the fastest movers are consistently the ones who’ve committed to keyboard-first habits.

Common Mistakes to Avoid with Linear Attachments

Even experienced Linear users fall into these traps.

Attaching instead of embedding. If a screenshot is the core context for an issue, embed it inline in the description rather than attaching it as a separate file. Embedded images are visible immediately — attachments require a click.

Using raw links instead of link attachments. Pasting a URL into the description text is fine, but it’s not the same as a proper link attachment. Use the attachment feature for important external resources so they’re visible in the issue’s structured metadata, not buried in prose.

Uploading oversized files. For files over 25 MB, use cloud storage (Google Drive, Dropbox, Notion) and attach the link instead of uploading directly. This keeps Linear fast and avoids delivery failures.

Not cleaning up attachments after issues close. Old attachments on completed issues become dead weight. They contribute to workspace clutter and can cause confusion if issues are referenced or duplicated later.

Linear Attachment Tips for Team Workflows

Individual habits matter, but team-level consistency is what scales.

Standardize attachment expectations by issue type. Bug reports should always include a screenshot or screen recording. Feature requests should link to the Figma file. Infrastructure issues should include relevant logs or monitoring links. Make this part of your issue templates.

Use Linear’s template system. Go to Settings → Teams → Templates and build issue templates that prompt the creator to include specific attachments. This reduces the “context-free issue” problem at the source.

Connect your integrations. Linear’s native integrations with GitHub, GitLab, Figma, and Sentry mean that relevant external artifacts surface automatically as attachments on issues. A PR linked to an issue shows its merge status without any manual work. A Sentry error linked to a bug issue shows the stack trace count. Set these up once and let them run.

Train your team on drag-and-drop. It sounds small, but teams that use drag-and-drop consistently see faster issue resolution because context is captured at the moment of creation, not retrofitted later when memory fades.

Conclusion

Attachments are not a secondary feature in Linear — they’re the difference between an issue that moves and one that stalls. Every screenshot embedded, every design file linked, every PR attached is context that someone doesn’t have to chase down.

The mechanics are simple once you know them: drag and drop for speed, link attachments for external resources, inline images for immediate visibility, API attachments for automated workflows. Use them consistently, build them into your templates, and clean them up when work is done.

The teams that ship fastest on Linear aren’t just using the tool — they’re using it with intent. Start with your next issue. Add the file. Attach the link. Give your team what they need.

And if you’re looking to apply that same intentionality to how you fill your pipeline — SalesSo builds outbound systems that turn cold outreach into booked meetings. Same principle, different problem.

🚀 Ready to Scale Your Outreach?

Your profile photo is just the start. We design complete LinkedIn prospecting campaigns that fill your calendar with qualified meetings—using proven systems that work.

7-day Free Trial |No Credit Card Needed.

FAQs

Can Linear's attachment system support outbound lead generation the way SalesSo does?

Linear is built for internal issue tracking — it keeps your team organized, but it won't fill your pipeline. SalesSo runs complete outbound systems: precise audience targeting, cold email and LinkedIn campaign design, and volume scaling built to book qualified strategy meetings consistently. If your revenue depends on a predictable flow of new conversations, internal tooling alone won't get you there. Book a strategy meeting with SalesSo to see what a purpose-built outbound engine looks like.

Is there a file size limit for attachments in Linear?

Yes. Email-created issue attachments are capped at 25 MB. Files above this fail to deliver through email routing.

Can I attach files to a Linear issue from my phone?

Yes. iOS users can add link attachments to issues directly from the issue screen in the Linear mobile app.

Do attachments sync when Linear integrates with other tools?

Yes. Integrations like Sentry, Intercom, and Zendesk surface data via Linear's attachment API, syncing automatically.

We deliver 100–400+ qualified appointments in a year through tailored omnichannel strategies

What to Build a High-Converting B2B Sales Funnel from Scratch

Lead Generation Agency

Build a Full Lead Generation Engine in Just 30 Days Guaranteed