v1 · open source · MIT

Terminal Text Expander

A terminal-only, local-first text expander for macOS, Windows, and Linux.

Define shortcuts from your terminal and expand them anywhere — browsers, forms, editors, job boards, chat apps, and desktop apps.

bash
$ pip install text-expander
$ text-expander install

Type ;l then press Space to expand your saved text.

// see it work

Type a trigger. Get the text.

Triggers expand when followed by Space, Enter, or Tab — anywhere on your system.

You type
;lSpace
Expands to
https://www.linkedin.com/in/yourprofile/

Space, Enter, and Tab all trigger expansion.

// built for repetition

If you type it twice, save it.

Developers

Repo links, issues, PRs, localhost URLs, bug templates, code review replies.

;issues → github.com/you/repo/issues

Job seekers

LinkedIn, GitHub, portfolio, email, intro paragraphs — fly through job boards.

;l → linkedin.com/in/you

Support teams

Repeated replies, refund messages, troubleshooting steps, escalation templates.

;refund → "We've issued your refund..."

Recruiters & sales

Outreach templates, meeting links, follow-ups, calendar URLs.

;cal → cal.com/yourname

Everyday forms

Address, phone, bio, calendar links — never type the same details twice.

;addr → 123 Main St, City

// features

Everything a text expander should be.

Terminal-only

No GUI to learn. Pure CLI.

Global keyboard listener

Works in every text input.

macOS · Windows · Linux

One tool, every platform.

Local JSON storage

Your data lives on your disk.

No cloud dependency

Works fully offline.

No account required

Install and go. Zero signup.

Auto-start on login

Runs quietly in the background.

Import / export / backup

Move snippets between machines.

Search, edit, delete

Manage shortcuts from the CLI.

Privacy-focused

No telemetry. No tracking. Ever.

// CLI reference

Commands

~/text-expander
$ text-expander add

Add a new shortcut (interactive or direct).

$ text-expander list

List all saved shortcuts.

$ text-expander edit ';l'

Edit an existing shortcut.

$ text-expander delete ';l'

Remove a shortcut.

$ text-expander search linkedin

Search triggers, replacements, and tags.

$ text-expander start

Start the global keyboard listener.

$ text-expander stop

Stop the background daemon.

$ text-expander status

Show daemon status and file paths.

$ text-expander doctor

Diagnose dependencies and permissions.

$ text-expander install

Register auto-start on login.

$ text-expander uninstall

Remove auto-start registration.

// installation

Get started in 30 seconds

pipx
$ pipx install text-expander
$ text-expander install

If text-expander is not found after install, you may need to add Python's Scripts/bin folder to your PATH. See the user guide →

// OS permissions

Per-platform notes

macOS

Requires Accessibility permission. Enable your terminal app under System Settings → Privacy & Security → Accessibility.

Windows

Make sure Python's Scripts folder is on your PATH. You can also run python -m text_expander as a fallback.

Linux

X11 sessions work best. Wayland may restrict global keyboard listeners by design.

// privacy

Local-first by design.

Your shortcuts never leave your computer. No servers. No middlemen. No surprises.

  • All snippets stay local on your machine
  • No cloud sync, ever
  • No telemetry, no tracking
  • No account required
  • You own your data — it's just JSON