Soquel
A keyboard-first file manager for macOS.
Native AppKit. No Electron, no account, no network, no telemetry. It opens a folder and gets out of the way.
Apple silicon and Intel · macOS 13 or later · MIT licensed





Views everything it does, in full
- List view ⌥⌘1
- Sortable columns: name, size, kind, date, with a folders-first toggle.
- Icon view ⌥⌘2
- Adjustable tile size.
- Column view ⌥⌘3
- A pane per level, folders marked with a chevron.
- View-mode pill
- The three modes draw as one segmented control with the selected segment filled.
- Thumbnails in icon view
- Generated by Quick Look off the main thread, cached by path, size and modification date.
- Sort by name, size, kind or date ⌃⌘1–⌃⌘4
- Or click a column header, or use the palette.
- Multi-column sorting
- Shift-click a header to add a tiebreaker, up to four keys.
- Auto-sized columns ⌥⌘=
- Widths fit the longest value in the folder, measured over every row.
- Metadata columns
- Dimensions, resolution, duration, codec, bit rate, colour space, camera — in any folder.
- Preview and details panel ⌥⌘I
- Quick Look over kind, size, dates, POSIX permissions, owner, symlink target, extended attributes, media metadata, and SHA-256 on demand.
- Quick Look Space
- The system preview, as everywhere else.
Panes and tabs
- Nested pane splits ⌘D ⇧⌘D
- Vertical and horizontal mix. A split divides the focused pane only, so splitting one leaves the rest alone. ⌥⌘D rotates the split holding it.
- Up to four panes, tabs in each
- ⌘1–⌘4 to focus, ⌘T for a tab.
- Session restore
- Panes, tabs, and the active tab in each, brought back on launch.
- Named workspaces
- Save and reopen an arrangement. A nested layout reopens nested; a pane whose folder has gone leaves a gap the arrangement closes.
- Pane toolbar
- Filter field on top, a customisable button bar under it. Right-click to choose the buttons.
Moving files
- Create, rename, duplicate, copy, move, trash, delete
- Per-file error reporting. A failure in the middle never silently abandons the rest.
- Rename in every view
- List edits the name in place; icon and column use a sheet.
- Conflict handling
- Keep both, replace, skip, cancel — with both sizes and dates shown.
- Folder merge on conflict
- Merge, apply-to-all, skip-identical. A merge is deliberately not undoable.
- Undo ⌘Z
- Rename, create, duplicate, trash and move.
- Transfer queue ⌥⌘J
- Throughput, a coarse estimate, and pause, resume and cancel per job.
- Selection shelf ⌃⌘A ⌃⌘B
- Gather files from any number of folders, then deliver them all at once.
- Batch rename
- Find and replace, regex, numbering, case, extension, trim and file-date insertion, with a live preview.
- Cut and paste in the context menu
- Plus Copy Path directly, with the other formats one level down.
- Drag and drop
- Within Soquel and to and from every other application.
- New File templates
- Text, Markdown, JSON, Swift, Python, Shell, HTML and CSV, created where you are standing.
- Folder comparison and sync ⇧⌘K
- Left only, right only, differs, same — by size and date, or by checksum. Copies one direction over the rows you tick.
Finding things
- Search panel ⌘F
- Name or contents; contains, regex or glob; this folder, home, or everywhere; case, hidden files, app bundles, depth.
- Search says what it skipped
- Too large, not text, unreadable folder, result cap. "Nothing found" is never confused with "did not look".
- Search ranking
- Name matches outrank content matches; an exact name outranks a prefix, which outranks a substring.
.gitignore-aware search- Optional. Nested ignore files, negation and anchoring all honoured, and the count skipped is reported.
- Saved searches
- Named queries in the sidebar. Every option survives, and a search whose folder is gone runs in the current one.
- In-folder filter /
- Narrow the folder you are looking at without leaving it.
- Command palette ⌘K
- Fuzzy match over every command in the application.
Getting around
- Breadcrumbs and an editable path bar
- Click to type or paste a path. Quotes and newlines are stripped.
- History, enclosing folder, Git root
- Back and forward, ⌘↑, and a jump to the repository root.
- Folder tree ⇧⌘T
- An expandable hierarchy in the sidebar, lazy-loaded, following the active pane.
- Sidebar groups
- Your own named sections: create, rename, remove, collapse.
- Pin to the sidebar
- Drag a folder in, and reorder by dragging within and between groups.
- Custom sidebar icons
- Any emoji or SF Symbol per shortcut, plus a display name that does not rename the folder.
- Keyboard-first preset
- j k to move, h l to leave and enter, g g and G for the ends, ⌃d ⌃u by half a screen. Handled in the file list, so text fields are untouched.
- Remappable shortcuts
- Every command, recorded in place, with conflict detection.
Knowing what is there
- Disk map ⇧⌘U
- A sunburst of where the space went, with the biggest items beside it. Hard-linked inodes counted once, symlinks not followed, and slices too thin to draw summed rather than dropped.
- Folder sizes
- An opt-in background column. Counts a hard-linked inode once and never follows a symlink.
- Git status
- A status column and badges from
git status, with folders marked when anything inside them has changed. - Archive browsing
- Look inside zip, tar, 7z and rar without unpacking. Extract on demand.
- Copy path, six formats
- Absolute, file URL, filename, filename without extension, parent directory, shell-escaped.
- Hidden files ⇧⌘.
- Shown or not, your choice, per window.
Reaching other places
- Connect to Server ⌃⌘K
- SMB, AFP, NFS, WebDAV and read-only FTP, through the system's own mounter. A mounted server is an ordinary path, so search, compare and the shelf all work on it unchanged. No password passes through Soquel.
- Terminal and editor ⌃⌘T ⌃⌘E
- Opens the current folder in either. Installed terminals and editors are detected, and your choice is remembered.
- Open With, and set the default
- Every application registered for the file, plus changing the system-wide handler for its type.
- Choose what opens each kind of file
- Twenty-three kinds in one table in Settings, rather than one file at a time through Get Info.
- A prompt before slow applications
- Xcode, Android Studio, the JetBrains and Adobe applications and the rest ask before opening, with an "Open, don't ask again" for the ones you meant.
Making it yours
- Settings as one JSON file
settings.jsonbesidetheme.json. Edit it in any editor and the running application picks the change up — no restart.- Customisable colours
- Seven slots, for light and dark separately.
- Background image
- Any image behind the file list, with opacity and five fit modes.
- Designed light and dark palettes
- Both drawn deliberately, with monospaced figures so columns of numbers line up.
- Settings window ⌘,
- Appearance, Keyboard and Applications.
When something goes wrong
- Logging
- Every notable action, to
~/Library/Logs/Soquel/and to the unified log. - Copy Recent Logs
- In the palette. Puts the last three minutes on the clipboard, with the build and OS named. Files older than a day are removed on their own.