How to give each app the format it expects
The same file can reach five different apps and need to arrive in five different shapes. A terminal wants a path typed as text. A chat window wants the file uploaded. Finder wants the file moved. A text field wants plain text. A link box wants a web address. When you hand an app the wrong shape, it either refuses the drop, pastes something odd, or quietly does nothing. Getting this right is less about the file and more about what each destination is built to read.
Every app has a format it can read
An app does not accept “a file” in the abstract. It accepts specific formats, and it looks for them in an order it prefers. A code editor happily takes a file reference and opens the document. A shell prompt cannot open a file at all, but it can type a path, so it wants text. A note wants styled text or an image. A browser address bar wants a URL.
This is why dragging the same thing around your screen produces such different results. You are not doing anything differently. The destinations are reading different formats out of what you handed them, and the drop works only when the format you offered matches one they were looking for.
What common destinations expect
A few patterns cover most of what you do in a day.
A terminal or shell expects a path as text. It cannot receive a file directly, so what it wants is the location spelled out, like /Users/you/Documents/report.pdf, so you can run a command on it.
A chat or messaging app usually expects an upload. Dropping a file on the message area sends the file itself, which is why a path pasted there appears as a line of text rather than an attachment.
Finder expects the file. Drag a file to a folder and Finder moves or copies the actual document. Hand it text and it has nothing to file away.
A plain text field expects text. It takes the name or a path if that is on offer, and ignores a file reference because it cannot render one.
A link field or a bookmarks bar expects a URL. A web link handed there becomes a saved address, while the same link dropped into Finder can become a small .webloc file on disk instead.
Doing it by hand
You can satisfy each of these formats yourself, once you know which one a destination wants.
For a terminal, copy the path rather than the file. In Finder, hold Option in the right-click menu and choose Copy as Pathname, or press Command-Option-C, then paste. The path arrives as text the shell can use.
For a chat upload, drag the file straight from Finder onto the message area, or use the app’s attach button, so the file goes up rather than a description of it.
For Finder, drag or copy the file itself and drop it into the folder.
For a text field, paste text: a name, or a path if you copied one.
For a link, drag the address out of the browser’s location bar, or copy the URL as text and paste it into the field that wants a web address.
None of this is difficult on its own. The friction is that you have to know each destination’s preferred format in advance and prepare the file in that exact form before you hand it over.
Where it gets tedious
The work piles up when one file has several destinations. Say you have a screenshot that needs to go into a terminal command, get uploaded to a chat, and be filed in a folder. That is three formats from one file: a path, an upload, and the file. By hand, you copy the path one way, drag the file another way, and copy or drag again for the third. You are effectively translating the same file into three shapes, one after another, and keeping track of which shape each app needs.
Multiply that by a normal working day of moving things between apps, and a real amount of attention goes into format bookkeeping that has nothing to do with the actual work.
One item, many formats
Ledge is built around this exact mismatch. You drag a file up to the notch at the top of the screen and it sits on a shelf as one item, with no format chosen yet. When you drag it off toward a destination, Ledge reads what that destination expects and hands over the matching form. Drop it on a terminal and it gives the path as text. Drop it on a chat that takes uploads and it uploads the file. Drop it on Finder and it moves the file itself. A link becomes a saved web address, and a text field can take plain text.
Because the shelf keeps a single item and produces the right shape at each drop, the screenshot that needed a path, an upload, and a file is dragged off three times, and each app receives the version it can read without you preparing three separate copies. You choose which apps are routing destinations in Settings, so the ones you use stay ready even when they are closed.
Knowing the formats by hand still matters, and for a one-off move it is often quickest. The shelf earns its place when the same thing has to reach several apps that each speak a different format.
The short version
Apps do not accept files in general, they accept particular formats, and a drop works only when the format matches. Terminals want a path as text, chats want an upload, Finder wants the file, text fields want text, and link boxes want a URL. You can prepare each form yourself, and the effort only becomes noticeable when one file has to reach several destinations at once, each expecting a different shape.