A simple command-line tool to view and delete scheduled posts on Mastodon. Features an interactive menu for easy selection.
My Mastodon client allows me to schedule posts but doesn't have a feature to delete scheduled posts yet. I created this tool to fill that gap until the feature is added to the client.
- List all your scheduled Mastodon posts
- Interactive menu with arrow key navigation
- Shows scheduled time and post preview
- Safe deletion with cancel option
- Works with any Mastodon instance
- Python 3.7 or higher
- A Mastodon account with API access
-
Create and activate a virtual environment:
python3 -m venv venv source venv/bin/activate -
Install dependencies:
pip install -r requirements.txt
-
Create a
.envfile with your Mastodon credentials:cp .env.example .env
-
Edit
.envand add your credentials:MASTODON_INSTANCE: Your Mastodon instance URL (e.g., https://mastodon.social)MASTODON_CLIENT_KEY: Your application's client keyMASTODON_CLIENT_SECRET: Your application's client secretMASTODON_ACCESS_TOKEN: Your access token
Make sure your virtual environment is activated:
source venv/bin/activateRun the tool:
python mastodon-unschedule.pyThe tool will:
- Fetch all your scheduled posts
- Display them in an interactive menu
- Allow you to select one with arrow keys
- Delete the selected post
- Log in to your Mastodon instance
- Go to Settings → Development
- Click "New Application"
- Fill in the application details:
- Application name: Choose any name (e.g., "Scheduled Post Manager")
- Scopes: Enable
read:statusesandwrite:statuses
- Click "Submit"
- Copy the following to your
.envfile:- Your access token →
MASTODON_ACCESS_TOKEN - Client key →
MASTODON_CLIENT_KEY - Client secret →
MASTODON_CLIENT_SECRET - Instance URL (e.g., https://mastodon.social) →
MASTODON_INSTANCE
- Your access token →
MIT License - see LICENSE file for details
Contributions are welcome! Feel free to open an issue or submit a pull request.