Elevator Pitch
A native macOS terminal with a live file browser built into the same window — click a folder, the shell is already there. Around 3 MB, no Electron, no telemetry, no subscription.
The Problem
Anyone who lives in a terminal knows the ritual. You need to be three levels down inside a project you half-remember the name of, so you type cd, then ls, then cd again, then guess, then correct the typo. Or you keep a Finder window parked alongside and drag the folder onto the terminal — which means two windows, two focus states, and a constant hunt for whichever one you meant to click.
Navigating the file system is the single most repeated action in a terminal, and every mainstream terminal app leaves you to do it by hand.
Meanwhile the alternatives have grown in the other direction. Modern "reimagined" terminals ship as multi-hundred-megabyte Electron or AI-assisted platforms with accounts, cloud sync and telemetry attached — an enormous amount of machinery bolted onto a program whose real job is to run a shell.
The Solution
CholTERM puts a live file tree and a genuine PTY-backed terminal in one resizable split-pane window, and keeps them in step. Click a folder in the tree and the shell is instantly there. Type cd in the shell and the tree follows you. Press Tab to move between the two. That is the whole idea, and it removes the most repeated friction in daily terminal work.
Everything else is deliberately restrained: a native Swift and AppKit application for macOS 13 and later, around 3 MB on disk, no accounts, no network calls, no analytics.
Features
Click to cd |
Clicking a directory in the tree sends a cd straight to the live shell. Paths are shell-quoted automatically, so spaces, quotes and unusual characters arrive as exactly one literal argument. Repeat clicks on the same folder are suppressed rather than echoed twice. |
| The tree follows you | Type cd in the terminal and the file tree reveals and selects the new directory on its own. The shell's real working directory is polled directly, so it stays correct however you got there — an alias, a script, a pushd, anything. |
| Foreground-process safety | If a program is running in the terminal — Vim, nano, an SSH session, a long build — clicking a folder opens a new tab rooted at that path instead of injecting cd into your running session. Your work is never interrupted. |
| Live file tree | The tree opens at the boot volume with your home folder pre-expanded, and watches the directories you have open. Files created, renamed or deleted by any other app appear without a manual refresh. Hidden files toggle on demand; Finder aliases to folders are badged and navigable. |
| Search as you type | Search the tree from the field above it, with results capped and delivered on a background worker so typing never stalls. A single match is auto-selected and focused. Clearing the field restores the tree exactly as it was, expansions and all. |
| Independent tabs | ⌘⇧N opens a fresh, fully independent shell. ⌘← and ⌘→ cycle between them. Each tab titles itself with its current directory — or with the name of the program running in it. |
| Save Tab Arrangement | ⌘S saves every open tab: window size and position, divider placement, font sizes and current directory — plus any program that was running. ⌘R brings the whole session back, in order. It can also restore automatically at launch. |
| Per-terminal appearance | Right-click any terminal to set its background colour, text colour and monospaced font. Each tab remembers its own, so a production session can look visibly different from a scratch one. |
| Export to HTML | ⌘E writes the terminal buffer and its full scroll-back to a single self-contained HTML file, colours preserved — ready to attach to a ticket, a handover note or an audit record. |
| Keyboard throughout | Tab swaps focus between panes in both directions. Return acts on the selected folder. ⌘+ and ⌘− resize text in whichever pane has focus. Copy, paste and drag-and-drop of text and files all behave as expected. |
Customers
CholTERM is for people who work in a terminal every day on a Mac and move around the file system constantly — and who would rather have one small, fast, native tool than a platform.
cdBenefits
Time recovered, every single day
Changing directory is the most repeated action in terminal work. Replacing a typed path with a single click, dozens or hundreds of times a day, is a small saving that compounds into a genuinely different working rhythm — and it removes the mistyped-path correction cycle entirely.
One window instead of two
No more Finder window parked beside a terminal, no more dragging folders between apps, no more losing track of which window has focus. Context lives in one place, and both halves of it are always showing the same directory.
Nothing is ever out of date
The tree watches the directories you have open and the terminal's working directory is polled at the source. Files written by a build, a script or another application appear on their own, and the tree follows a cd you typed yourself. Neither pane can drift out of step with reality.
Your session, exactly as you left it
Save an entire multi-tab arrangement — geometry, split positions, fonts, working directories and running programs — and restore the lot with one keystroke, or automatically at launch. A morning's setup becomes a single command.
Safe by construction
CholTERM never presses Return for you. Dropped files and clicked paths are typed into the shell without a trailing newline, so nothing executes until you decide it should. Paths are shell-quoted, pasted text is sanitised before it reaches the shell, and a running foreground process is detected and left alone.
Small, native and fast
Around 3 MB of compiled Swift and AppKit. It launches instantly, uses almost no memory, and has no browser engine, runtime or background service behind it. It runs on any Apple Silicon Mac from macOS 13 upwards.
A real terminal, not an approximation
A genuine PTY running your system shell as a login shell, so your dotfiles, PATH and environment are exactly what you expect. Full VT100 / ANSI support means colour, cursor addressing and full-screen programs such as Vim, top and tmux behave normally.
Private and quiet
No account, no sign-in, no cloud sync, no analytics, no update pings, no AI service in the loop. Preferences are two plain JSON files in your own Application Support folder that you can read, copy or delete. Signed, notarised and stapled with Apple.
Summary
CholTERM does not try to reinvent the terminal. It fixes the one thing every terminal user does hundreds of times a day and otherwise gets out of the way. A file tree and a real shell, side by side, permanently in agreement — in an app small enough and quiet enough that you forget it is there.
Click a folder. You are already there.
A native macOS terminal with a live file browser in the same window: two-way directory sync, live tree updates, safe path injection, per-tab appearance, session save and restore, and HTML export — around 3 MB, with no account, no telemetry and no subscription.
Key Specifications
| Platform | macOS 13 Ventura and later · Apple Silicon | Built With | Swift & AppKit, no storyboards |
| Terminal | Genuine PTY, login shell, full VT100 / ANSI | Dependencies | One (SwiftTerm), version-pinned |
| Distribution | Developer ID signed, Hardened Runtime, notarised and stapled | Preferences | Two plain JSON files in Application Support |