Finder Folder Sizes is a macOS command-line tool that enables Finder’s Calculate all sizes option in existing list-view settings across a folder tree.
A folder can contain gigabytes while Finder’s Size column shows a dash. For a single folder, start with Finder’s own View Options: switch to list view, press ⌘J, and enable Calculate all sizes. Imagine an archive drive with folders for 2023, 2024, and 2025, each containing more photo and document folders. Opening each one and pressing ⌘J is tedious. The tool is useful when those folders already have saved Finder list views that can be updated together.
Finder Folder Sizes provides the finder-sizes command and an optional Finder Quick Action for that narrower job.
What the script changes
Finder stores view preferences in .DS_Store. A folder’s own settings can be recorded in its parent’s file, so changing only the .DS_Store inside the selected folder can miss the relevant record.
The tool checks the parent record and existing records below the target. It enables calculateAllSizes without changing sorting, grouping, column widths, or icon sizes. It does not create a new .DS_Store or a missing list-view record.
That last detail explains an important limit: this is not a way to force every possible folder to display sizes. A folder without a saved applicable view can remain unchanged. Size calculation itself is still Finder’s work and may take time.
Install in a Python virtual environment
The project requires macOS, Python 3.10 or later, and ds-store 1.3.3. A virtual environment avoids changing the system Python environment:
|
|
Use the activated environment when running the source command. The repository also documents installing finder-sizes into ~/.local/bin; if you choose that approach, its Python interpreter must still be able to import ds_store.
Run on a folder you have chosen
From the project directory, supply the target through a change of working directory:
|
|
Keep the virtual environment active and replace the example path. Before writing, the command asks for confirmation.
The operation closes affected Finder windows so cached preferences can be flushed. If records change, it restarts Finder and checks whether the changes persisted. Finish Finder copying or moving operations before accepting that prompt.
Back in Finder, the Size column may still show -- while Finder calculates, especially on an external drive or a large folder. If the report says zero records changed, check whether the setting was already on or whether the target folders have saved list-view settings at all.
Verify one small folder first
Choose an archive folder you already open in Finder’s list view, with a manageable set of subfolders. Finish file transfers before running the command. The warning’s Target should match your intended folder. If it does not, press Return to cancel and check where cd took you. The command uses Terminal’s current directory, not the frontmost Finder window.
Read the report as several different counts. Scanned directories describe the traversal. Existing list-view settings describe eligible records. Updated records describe settings that actually changed. Many scanned folders and few updates can be a perfectly reasonable result; rerunning does not make missing settings eligible.
Open the target and a couple of familiar subfolders in Finder, switch to list view, and inspect Size. Give Finder time to replace dashes with values. If one folder stays unchanged, open View Options with ⌘J and inspect its setting. New folders and folders without saved view records may still need an initial manual setup.
When Terminal works but the Quick Action fails
Finder and Terminal can launch programs with different environments. Activating .venv changes that terminal session; it does not tell Finder where to find the same Python. A successful import in Terminal verifies only that entry point.
Before installing the Quick Action, put the command in ~/.local/bin as documented and ensure the workflow can locate a Python interpreter that imports ds_store. A missing-command message concerns the command’s location. A missing-module message concerns the interpreter and its dependencies. Trace those separately rather than installing packages into several unrelated environments.
If the action is absent from the menu, confirm the workflow is installed, then quit and reopen Finder as the README suggests. Start with one selected folder. With files selected, their parent folders become targets, and multiple selections are deduplicated. Read the confirmation’s directory list to understand the actual scope.
Finder still has to calculate the sizes
Enabling the setting does not create a permanent capacity inventory. Finder must inspect folder contents, which can take time on large external archives. Opening many such folders can keep it busy for a while. Wait for calculation rather than repeatedly running a script that changes the display preference.
A large result is a reason to inspect a folder, not a deletion recommendation. The utility does not find duplicates or decide which photographs matter. It makes capacity easier to see so you can investigate the files with the right tools.
You can later remove just the Quick Action while retaining the command, or uninstall the command using the README. Uninstalling does not automatically switch off preferences already enabled in Finder. Change an individual folder’s View Options when you want a different display style; installation and folder preferences are separate choices.
Optional Finder access
The repository includes install-quick-action.sh for Finder access. First install finder-sizes into ~/.local/bin as the README describes, and make sure the Python interpreter used by the Quick Action can import ds_store. Then run ./install-quick-action.sh from the repository. Activating a virtual environment in one Terminal window does not necessarily make it available to Finder.
The Quick Action processes a selected folder, or a selected file’s parent folder, and deduplicates overlapping target selections. It still asks before proceeding. This changes view preferences rather than calculating and storing a separate permanent inventory of folder sizes.
For finding files across directories, see MacHunt. For this tool’s precise record-handling behaviour and removal instructions, use the project README.