Skip to content

Repository files navigation

paste-typer

paste-typer is a small macOS shell utility that types clipboard text as keystrokes for local accessibility, automation, and compatibility workflows.

It reads the current clipboard with pbpaste, waits for a short countdown, and uses macOS System Events to type each character into the currently focused app. Clipboard contents are not logged, stored, or sent over the network.

Requirements

  • macOS
  • Bash, pbpaste, pbcopy, osascript, and bc from the standard macOS toolset
  • Accessibility permission for the terminal app that runs paste-typer

Grant Accessibility permission in:

System Settings -> Privacy & Security -> Accessibility

Add Terminal.app, iTerm2, or whichever terminal application you use.

Installation

Clone the repository, then run:

./install.sh

The installer creates this symlink:

/usr/local/bin/paste-typer -> ./paste-typer.sh

If /usr/local/bin is not writable, the installer prints the exact sudo command before asking for permission. If a command already exists at /usr/local/bin/paste-typer, the installer stops unless you pass --force.

You can also run the script directly without installing:

./paste-typer.sh

Usage

paste-typer [OPTIONS]

Options:
  --delay N          Countdown seconds before typing (default: 3)
  --speed PRESET|N   Typing speed: slow (50ms), normal (20ms), fast (5ms), or N ms
  --yes, -y          Skip confirmation prompt
  --quiet            Suppress completion notification
  --help, -h         Show this help message
  --version          Show version

Examples

paste-typer                     # Type clipboard text with defaults
paste-typer --delay 5           # 5-second countdown
paste-typer --speed slow        # Slower typing for unreliable fields
paste-typer --yes --speed 10    # No confirmation, 10ms delay
paste-typer --yes --quiet       # Silent mode

Keyboard Shortcut

An optional Automator Quick Action is included in PasteTyper.workflow.

The workflow runs:

/usr/local/bin/paste-typer --yes

That means you should run ./install.sh before using the workflow.

To install the Quick Action:

cp -R PasteTyper.workflow ~/Library/Services/

Then open System Settings -> Keyboard -> Keyboard Shortcuts -> Services, find PasteTyper, and assign a shortcut.

Safety And Privacy

  • Use this only for workflows you are authorized to automate.
  • Do not use this tool to evade policy controls or site/app rules.
  • Clipboard contents are read once, typed locally, and never intentionally logged, stored, or transmitted.
  • By default, the confirmation prompt shows only a masked preview for longer clipboard text.

Testing

bash -n paste-typer.sh install.sh test/test.sh
bash test/test.sh
PASTE_TYPER_DRY_RUN=true ./paste-typer.sh --yes --delay 0 --speed 0

The automated tests use dry-run mode for behavior that would otherwise send real keystrokes.

Known Limitations

  • This project targets macOS only.
  • Non-ASCII clipboard text may not type reliably in v0.1.0.
  • The focused app must accept normal keyboard input during the countdown.

Contributing

Small, focused issues and pull requests are welcome. Please keep the project dependency-light and avoid adding telemetry, background services, or clipboard logging.

License

MIT

About

macOS utility that types clipboard contents character-by-character into any field, bypassing anti-paste restrictions.

Topics

Resources

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages