macOS has a frustrating gap: you can select ten files in Finder, hold Option, right-click — and you'll either get just the last file's path, or nothing useful at all. The native "Copy as Pathname" doesn't support multi-file selection. It's a one-at-a-time operation.

This limitation hits in very specific but common scenarios. You want to feed a list of files into a script. You're building a manifest of assets. You're pasting multiple file references into an AI prompt. You need to log which files changed for a ticket. All of these require the same thing: the paths of multiple files, at once, on the clipboard.

Quick answer

macOS can't do this natively. The fastest solution is Pathly: select multiple files in Finder, right-click, choose your format — all selected paths are copied as separate lines. For a terminal-only approach, use ls -d "$PWD"/* | pbcopy from within the folder.

What Happens with the Native Method on Multiple Files

Let's confirm the problem. Select three files in Finder using ⌘+click or shift+click. Hold Option and right-click. You'll see "Copy 3 Items" in the menu — but the "Copy [filename] as Pathname" option changes behavior depending on macOS version:

This is a deliberate macOS design limitation, not a bug. The native path copying feature was designed for single-file use. The workarounds below are the accepted solutions.

Method 1: Terminal with ls and pbcopy

If all the files are in the same folder, this Terminal one-liner is the fastest approach without extra software:

# Copy the absolute paths of all files in the current directory
$ ls -d "$PWD"/* | pbcopy

# Now your clipboard contains something like:
/Users/alex/projects/assets/banner.png
/Users/alex/projects/assets/hero.webp
/Users/alex/projects/assets/icon.svg

Each file path is on its own line, separated by newlines. You can paste the entire block wherever you need it.

To navigate to the right folder, you can drag it from Finder into the Terminal window after typing cd (with a trailing space) — macOS inserts the path automatically.

$ cd # (drag folder here from Finder)
$ ls -d "$PWD"/* | pbcopy

Method 2: Filter by File Type

If you only want paths for specific file types — say, all the .png files in a directory, or all .ts source files — you can filter with a glob:

# Copy paths of all PNG files
$ ls -d "$PWD"/*.png | pbcopy

# Copy paths of all TypeScript files
$ ls -d "$PWD"/*.ts | pbcopy

# Copy paths of all JS and TS files
$ printf '%s\n' "$PWD"/*.{js,ts} | pbcopy

Method 3: Recursive — All Files in a Folder Tree

If you need the paths of all files across a folder and its subfolders, use find:

# Copy paths of all files recursively (no directories)
$ find . -type f | sed "s|^\\.|$(pwd)|" | pbcopy

# Copy only image files recursively
$ find . -type f \( -name "*.png" -o -name "*.webp" -o -name "*.svg" \) \
| sed "s|^\\.|$(pwd)|" | pbcopy

# Git-tracked files only (respects .gitignore)
$ git ls-files | pbcopy

The sed command converts the relative paths from find into absolute paths by replacing the leading . with the current directory. The last example uses git ls-files which is cleaner for getting paths within a git repository — it automatically excludes files in .gitignore.

Method 4: Pathly — Select in Finder, Right-Click, Done

All of the Terminal methods work, but they require switching to Terminal, navigating to the right folder, and typing or recalling the right command. That's fine for scripts and automation, but for ad-hoc use it's more friction than the task warrants.

Pathly handles multi-file selection directly from Finder's context menu:

1

In Finder, select multiple files using ⌘+click (individual files) or Shift+click (range).

2

Right-click the selection (no Option key required).

3

Choose Copy Path, Copy Filename, or any other Pathly format.

All selected files' paths are copied to the clipboard, one per line. Paste them into a text editor, a script, a prompt, or any other destination.

The format choice matters here — and this is where Pathly's five formats become especially useful with multiple files:

From Zura's workflow

When I'm describing a change to Claude Code that spans multiple files, I select all the affected files in Finder, right-click, and choose Copy Git Path. I get something like:

js/i18n.js
index.html
blog/blog.css

I paste this directly into my prompt: "I changed these files: [paste]. Review the changes for consistency." Claude reads the git-relative paths, correlates them with the files in its context, and gives me a focused review. This takes about 5 seconds. The Terminal equivalent would be 30+ seconds, minimum.

Use Cases for Multi-File Path Copying

Here are the scenarios where this capability actually matters:

Batch file processing scripts

You have 8 video files to transcode. You want to build the ffmpeg command list without typing each path manually. Select all files in Finder, copy their paths, paste into your script template.

# Paste multi-line paths into a for loop
for f in \
/Users/alex/Videos/clip-01.mov \
/Users/alex/Videos/clip-02.mov \
/Users/alex/Videos/clip-03.mov; do
ffmpeg -i "$f" "${f%.mov}.mp4"
done

Asset manifests

You're documenting what images are in a project's images/ folder. Select all, copy filenames (not full paths), paste into a markdown table or JSON manifest.

AI coding prompts with multiple file context

Select the files relevant to your question, copy their git-relative paths, paste them at the top of your prompt: "These are the files involved: [paths]. The issue is X." See our guide on using file paths with AI coding tools for more on this workflow.

Bug reports and tickets

You need to list which files are affected by a regression. Select them in Finder, copy paths, paste into the ticket. Much faster than right-clicking each one individually.

Code review preparation

Before a PR review, list all the files you changed using git-relative paths. Paste them into your PR description or a Slack message so reviewers know exactly what to look at.

Comparison: Methods for Copying Multiple File Paths

Method Requires Terminal Selective files Multiple formats Steps
Option + right-click (native) No 1 file only No 4 × N
Terminal ls | pbcopy Yes By glob only With scripting 5–8
Terminal find | pbcopy Yes By pattern With scripting 5–10
Pathly multi-select No Yes, any selection Yes, 5 formats 2

Shell Functions Worth Adding to Your Profile

If you frequently need multiple file paths in Terminal and prefer not to install anything, these shell functions are worth adding to your ~/.zshrc or ~/.bashrc:

# Copy all file paths in current directory
copypaths() {
ls -d "$PWD"/* | pbcopy
echo "Paths copied to clipboard"
}

# Copy git-relative paths of changed files
copygitpaths() {
git diff --name-only | pbcopy
echo "Changed file paths copied to clipboard"
}

# Copy git-relative paths of staged files
copystagepaths() {
git diff --cached --name-only | pbcopy
echo "Staged file paths copied to clipboard"
}

Source your profile (source ~/.zshrc) and these become available as simple commands. copygitpaths is particularly useful before an AI code review session — it gives you the exact list of files you changed, ready to paste into a prompt.

For the Finder-centric workflow without Terminal, Pathly handles this with the familiar right-click menu you already use. For everything else, the Terminal one-liners above cover the power-user scenarios.