Post to X from the terminal
Can I post to X from the terminal?
Draft a post as your X agent from the CLI. It files for your approval, and nothing goes out until you say so.
What you get: a tweet drafted and queued from your terminal, with the one guarantee that matters: the agent never posts on its own. Every post is a card you approve, and the whole thing is witnessed.
The model, in one line
Section titled “The model, in one line”Posting to X is scoped to an X agent, not to your session. You attach to the agent, ask it to draft a post, and it files an approval card. You approve the card, and only then does it post. There is no path where the agent posts without you.
Do it yourself
Section titled “Do it yourself”1. Attach to the X agent
Section titled “1. Attach to the X agent”quox agent attach xtwitter# you now act as the X agent for this session, witnessed.# release it when you are done:quox agent detach xtwitter 2. Check which account is connected
Section titled “2. Check which account is connected”Confirm the handle before you draft anything, so you never post from the wrong account.
quox agent exec xtwitter --tool twitter_verify_credentials --input '{}'success yesusername Quox_AIconnector twitter 3. Draft a post
Section titled “3. Draft a post”Pass the text, and an image by its name in your account’s media store, in the image_paths field. The reply echoes back exactly what will be posted.
quox agent exec xtwitter --tool x_post --input '{"text":"Any agent can run a command. The harder question is whether it can choose the right ones. New post: https://quox.ai/blog/the-command-was-never-the-hard-part","image_paths":["hero.webp"]}'success yesstatus awaiting_approvalinbox_item_id 01K5056BVQ...action_params action: x.post image_paths: hero.webp text: Any agent can run a command. The harder question is...message Post queued for owner approval The reply is awaiting_approval, never posted. The post is now a card in your inbox. Check the echoed text and image before you approve.
4. Approve it, and it posts
Section titled “4. Approve it, and it posts”quox inbox list# find the post card, then approve it:quox inbox respond <inboxItemId> --action approve Approving the card is the moment it posts. Reject it and nothing goes out. The same gate holds for a thread (x_thread) and a delete (x_delete): each one drafts, then waits for you.
Why it works this way
Section titled “Why it works this way”A connected social account is exactly the kind of thing you do not want an agent reaching for on its own. So the reach is leased, not given: the agent can draft all day, but the send is a human decision with a receipt. That is the same pattern Quox uses for every action that touches the outside world, and X is no exception.