All apps/toot

toot

toot

A CLI and TUI tool for interacting with Mastodon instances from the command line.

Runs as toot|macOS, Linux, Windows|toot.bezdomni.net

Command form

ai-draft · 5 tasks · 17 fields

Post a status or read a timeline with toot. Login, account switching, polls, scheduling, thumbnails and the TUI are left to the command line.

Opens the form; the finished command lands at your prompt, unrun
otty gui toot

toot post

Post a status

Post text, optionally with media. Leave the text empty to compose interactively or with an editor.

Post a statusExample values, fixed in this page — nothing here reaches a terminal
Basic
Text*
string
Visibility
4 choicesenum
Advanced
Content warning
string
Language code
string
TasksEach one presets the form for one job
Post text
textvisibilityspoiler_textlanguage
Post with media
textmediadescriptionsensitivevisibility
ParametersOnly these flags are editable in the form
Text
The status text. Leave empty to compose interactively.
string · positional 0
Visibility
enum
--visibility-vpublicunlistedprivatedirect
Media files
Up to 4 attachments; give one description per file.
path · repeatable
--media-m
Media descriptions
Accessibility description, one per attached media.
string · repeatable
--description-d
Mark sensitive
boolean
--sensitive-s
Content warning
string
--spoiler-text-p
Reply to status ID
string
--reply-to-r
Language code
ISO 639-1 code, to skip automatic detection.
string
--language-l
Compose in editor
Editor command; leave empty to use the EDITOR variable.
string
--editor-e

toot timeline

Read a timeline

Show the home, public, hashtag, account or list timeline.

Read a timelineExample values, fixed in this page — nothing here reaches a terminal
Advanced
Posts per page
integer
Newest at bottom
--reverse
Do not prompt for more
--once
TasksEach one presets the form for one job
Home timeline
countoncereverse
Public timeline
publiclocalcountonce
Hashtag timeline
taglocalcountonce
ParametersOnly these flags are editable in the form
Public timeline
boolean
--public-p
Local instance only
Only valid with the public timeline or a tag.
boolean
--local-l
Hashtag
string
--tag-t
Account
string
--account-a
List
string
--list
Posts per page
Maximum 20.
integer
--count-c
Newest at bottom
boolean
--reverse-r
Do not prompt for more
boolean
--once
SourcesEvery flag above is checked against these
src
@click.argument("text", required=False) "--media", "-m", "--description", "-d", "descriptions", "--visibility", "-v", type=click.Choice(VISIBILITY_CHOICES), VISIBILITY_CHOICES = ["public", "unlisted", "private", "direct"] "--sensitive", "-s", "--spoiler-text", "-p", "--reply-to", "-r", "--language", "-l", "--editor", "-e", toot post "hello media" --media pat…
manual2026-10-27

raw.githubusercontent.com

src
@click.option("--account", "-a", help="Show account timeline") @click.option("--list", help="Show list timeline") @click.option("--tag", "-t", help="Show hashtag timeline") @click.option("--public", "-p", is_flag=True, help="Show public timeline") "--local", "-l", is_flag=True, help="Show only statuses from the local instance (public and tag timelines only)"…
manual2026-10-27

raw.githubusercontent.com

Before it fills your prompt, Otty checks the installed toot against its version. A form that does not match your version is not offered.