THTH
CLI to research, post, schedule and review your own social accounts. THTH is made by the headlesson operator.
What is known from testing
On 2026-10-11, the headlesson operator ran this lesson with THTH 3.15.0 (macOS 26.5.2 (25F84) arm64; Python 3.12.10; isolated venv); the first 2 of 3 steps passed, then it stopped: Step 3 thth posts requires an existing owner-authorized account and login; not run. The final Next step is advice and was not run. An independent check (revision 3fadc9d) covered: Independent trial and audit up to install, help and version of the official PyPI 3.15.0 release. Its limits: Bounded to the stopping point. thth posts was not run because no owner-authorized account or login was available; posting, scheduling and reading reactions were not measured. This is the operator's own run, not a vendor claim.
- Test record: test:tchhuqa — 2026-10-11, 3.15.0, partial
Independent check
Independent check (revision 3fadc9d6215b): Independent trial and audit up to install, help and version of the official PyPI 3.15.0 release.
Limits: Bounded to the stopping point. thth posts was not run because no owner-authorized account or login was available; posting, scheduling and reading reactions were not measured.
Description
THTH provides command line operations for Threads, Bluesky, Mastodon and X. Its bundled MCP server calls the same CLI. Invited users authenticate through a browser; operators can use a local ledger and digest based approval.
Current lesson
Goal: Inspect posts in an existing owner-authorized account without publishing.
This is the current lesson. The test record above was run on the lesson as it was at its own revision; they can differ.
- 1. pip install thth
- 2. thth --help
- 3. thth posts <ACCOUNT>
Next (advice, not tested): Next: After approval of the account, text, destination and future time, use thth schedule <confirmed-account> --text "<text>" --at <future-ISO-time-with-offset>. If schedule_unavailable is returned, ask the operator to confirm the account timer; do not fall back to immediate posting.
Cautions recorded with the lesson
These notes come from the lesson. Some describe failures seen in tests; others are general cautions. Each one is not a separately tested result.
- The account owner must first complete the invitation and browser-based thth login. Replace <ACCOUNT> with that existing account name.
- Invited-user login requires browser authorization by the account owner.
- Posting and scheduling affect external social accounts and require separate user authorization.
- Confirm: Check the invited account, permissions, timer, target and future time, then inspect the scheduling result. The like/repost README inconsistency does not settle scheduling availability.
How to start
- cli thth: install
pip install thth; checkthth --help; auth: thth login opens a browser; the account owner supplies authorization.; docs: https://github.com/aokings/thth/blob/ecfba37678d5244c8f423e9a9924aef118b0258b/README.md - mcp-stdio THTH bundled MCP (thth-mcp): install
pip install thth; checkunknown; auth: A person completes thth login; MCP tools call the same thth CLI and use its locally stored key without giving it to the assistant.; docs: https://github.com/aokings/thth/blob/ecfba37678d5244c8f423e9a9924aef118b0258b/README.md
Where each of these values comes from is listed per field under Sources (/interfaces/N/field).
Compared facts
- license: MIT (checked 2026-10-09, primary, official; source: https://github.com/aokings/thth/blob/ecfba37678d5244c8f423e9a9924aef118b0258b/LICENSE)
- open_source: true (checked 2026-10-09, inferred, editorial; source: https://github.com/aokings/thth/blob/ecfba37678d5244c8f423e9a9924aef118b0258b/README.md)
- pricing: unknown (not confirmed)
- has_human_gui: optional (checked 2026-10-09, inferred, editorial; source: https://github.com/aokings/thth/blob/ecfba37678d5244c8f423e9a9924aef118b0258b/README.md)
- non_interactive: false (checked 2026-10-09, inferred, editorial; source: https://github.com/aokings/thth/blob/ecfba37678d5244c8f423e9a9924aef118b0258b/README.md)
- machine_output: true (checked 2026-10-09, primary, official; source: https://github.com/aokings/thth/blob/ecfba37678d5244c8f423e9a9924aef118b0258b/docs/usage.en.md)
- local_mcp: true (checked 2026-10-09, primary, official; source: https://github.com/aokings/thth/blob/ecfba37678d5244c8f423e9a9924aef118b0258b/README.md)
- remote_mcp: unknown (not confirmed)
- cli: true (checked 2026-10-09, primary, official; source: https://github.com/aokings/thth/blob/ecfba37678d5244c8f423e9a9924aef118b0258b/README.md)
- rest_api: unknown (not confirmed)
- auth: local-login (checked 2026-10-09, primary, official; source: https://github.com/aokings/thth/blob/ecfba37678d5244c8f423e9a9924aef118b0258b/README.md)
- self_hostable: true (checked 2026-10-09, primary, official; source: https://github.com/aokings/thth/blob/ecfba37678d5244c8f423e9a9924aef118b0258b/README.md)
- embeds_llm: unknown (not confirmed)
- refusal_contract: true (checked 2026-10-09, primary, official; source: https://github.com/aokings/thth/blob/ecfba37678d5244c8f423e9a9924aef118b0258b/README.md)
- audit_log: true (checked 2026-10-09, primary, official; source: https://github.com/aokings/thth/blob/ecfba37678d5244c8f423e9a9924aef118b0258b/README.md)
- last_release: 2026-10-09 (checked 2026-10-09, primary, official; source: https://pypi.org/pypi/thth/json)
- ja_support: true (checked 2026-10-09, primary, official; source: https://github.com/aokings/thth/blob/ecfba37678d5244c8f423e9a9924aef118b0258b/README.md)
Sources
Each line names fields of this page (as JSON pointers into the .json version) and where they come from. Labels without a link are non-public sources. Fields not listed (such as test results) are the headlesson operator's own observations.
- /name, /one_liner, /lesson/cautions/items/0, /lesson/cautions/items/1, /interfaces/0/kind, /interfaces/0/name, /interfaces/0/install, /interfaces/0/verify, /interfaces/0/auth, /interfaces/0/docs, /axes/local_mcp, /axes/cli, /axes/auth, /axes/self_hostable, /axes/refusal_contract, /axes/audit_log, /axes/ja_support: https://github.com/aokings/thth/blob/ecfba37678d5244c8f423e9a9924aef118b0258b/README.md (checked 2026-10-09, primary, official)
- /description, /lesson/steps/0, /lesson/steps/1, /lesson/steps/2, /interfaces/1/name, /interfaces/1/install, /interfaces/1/auth, /interfaces/1/docs: https://github.com/aokings/thth/blob/ecfba37678d5244c8f423e9a9924aef118b0258b/README.md (checked 2026-10-09, primary, editorial)
- /lesson/goal, /lesson/cautions/items/2: headlesson editorial judgement (checked 2026-10-09, inferred, editorial)
- /lesson/next_advice, /lesson/cautions/items/3: https://github.com/aokings/thth/blob/ecfba37678d5244c8f423e9a9924aef118b0258b/docs/導入_招待されたら.md (checked 2026-10-10, inferred, editorial)
- /interfaces/1/kind: https://github.com/aokings/thth/blob/ecfba37678d5244c8f423e9a9924aef118b0258b/server.json (checked 2026-10-09, primary, official)
- /axes/license: https://github.com/aokings/thth/blob/ecfba37678d5244c8f423e9a9924aef118b0258b/LICENSE (checked 2026-10-09, primary, official)
- /axes/open_source, /axes/has_human_gui, /axes/non_interactive: https://github.com/aokings/thth/blob/ecfba37678d5244c8f423e9a9924aef118b0258b/README.md (checked 2026-10-09, inferred, editorial)
- /axes/machine_output: https://github.com/aokings/thth/blob/ecfba37678d5244c8f423e9a9924aef118b0258b/docs/usage.en.md (checked 2026-10-09, primary, official)
- /axes/last_release: https://pypi.org/pypi/thth/json (checked 2026-10-09, primary, official)
Primary record
Test results here are the operator's own past lesson trials (legacy). They are not claimed to meet level L1 of run-task-contract/0.1.0.
Relations
- None published yet.
8 other relations point to records that are not published yet.
Retrieve over MCP
headlesson_get id="app:thth" sections ["lesson","gotchas"] on https://mcp.headlesson.com/mcp
Cite
headlesson app:thth: see test record test:tchhuqa (https://headlesson.com/tests/tchhuqa).
Page updated: 2026-10-13 (the date its content last changed).
要約(日本語): THTH。運営の試用(2026-10-11、3.15.0、partial)の記録がある。詳しい条件・限界・出典は本文のとおり。