Skip to main content

Terminal iMessage client for macOS

Project description

tmsg

tmsg is a terminal client for iMessage on macOS.

Package name: terminal-messenger
Command name: tmsg

Features

  • Sends messages through Messages.app using AppleScript.
  • Reads recent messages from the local Messages database.
  • Lets you pick recent conversations from the terminal.
  • Loads recent message history when you open a chat.
  • Resolves many phone numbers and emails to contact names from macOS Contacts.
  • Supports arrow-key navigation and live search.
  • Shows unread chats in the picker.

Requirements

  • macOS
  • iMessage set up in Messages.app
  • Python 3.8+

Install

Recommended:

pipx install terminal-messenger

If you do not use pipx:

python3 -m pip install terminal-messenger

First-time macOS permissions

tmsg needs macOS permissions to work:

  • Automation so it can send through Messages.app
  • Full Disk Access so it can read ~/Library/Messages/chat.db

The first send should trigger the Automation prompt automatically.

If reading or sending fails, check:

  • System Settings > Privacy & Security > Automation
  • System Settings > Privacy & Security > Full Disk Access

You may need to grant access to both your terminal app and the Python binary it uses.

Quick start

tmsg

That opens the home screen with your recent chats.

The main flow is:

  1. Run tmsg
  2. Pick a chat
  3. Type messages
  4. Use /list anytime to go back to the home screen

Main commands

Open tmsg and show your chats:

tmsg

Go back to the chat list from inside a conversation:

/list

Other commands

Show more history when opening a chat:

tmsg --history-limit 200

While using it

In the picker:

  • Type to search
  • Up / Down to move
  • Enter to open
  • Esc or q to cancel

In a chat:

  • /list
  • /help
  • /history
  • /quit

Troubleshooting

  • Operation not permitted usually means Full Disk Access is missing
  • send failures usually mean Automation permission was denied
  • if tmsg is not found after install, reopen your terminal or refresh your shell shims
  • macOS Messages internals are undocumented, so some reactions and rich content may still be imperfect

Development

git clone <your-repo-url>
cd terminal-messenger
python3 -m pip install -e .
python3 -m unittest discover -s tests

You can also run it directly during development:

python3 -m tmsg

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

terminal_messenger-0.1.4.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

terminal_messenger-0.1.4-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file terminal_messenger-0.1.4.tar.gz.

File metadata

  • Download URL: terminal_messenger-0.1.4.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.12

File hashes

Hashes for terminal_messenger-0.1.4.tar.gz
Algorithm Hash digest
SHA256 09e8094236324619168c3d2e5ac411d8f6ce24f7e80c306a748e4484da18e93a
MD5 531b6245c25a16f12e69b2c5d9dd7a42
BLAKE2b-256 c839e48d59921a1d7ebcce28600a4bd7b51165aff3711e44921254211fcae303

See more details on using hashes here.

File details

Details for the file terminal_messenger-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for terminal_messenger-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6bf35bc63818bf4b5d91e0a0ebb33de6a42e325ec1874a46da5e4d29bbe77e33
MD5 68ea4cffe65b391027d935e1ea4d132e
BLAKE2b-256 808862d3eb5d731453fa1c8057ccce144f81972a5f42f6a4b3c76583ae988c81

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page