fx Setup
Connect Vercel Labs' fx coding agent to Pushary, so fx can notify you and ask you questions on your phone
Complete the Quickstart first to create your account and get your API key.
Pushary connects to fx through MCP. fx gets Pushary's tools, so its agent can send you a notification or ask you a question on your phone.
fx has no hooks that other tools can register. So Pushary cannot answer fx's own approval prompts, and it cannot stop an fx tool call. fx's agent asks through Pushary when it decides to. That makes fx a cooperative agent, not an enforced one. See Supported agents for the difference.
Setup
npx pushary@latest setup --agents fxOr run setup and pick fx in the list. Setup ticks fx for you when it finds fx's own files in ~/.fx: settings.json, sessions or history.jsonl.
Before you run it:
- Run fx at least once. Setup skips fx when
~/.fxdoes not exist. - fx does not run on Windows, so setup skips it there.
- The Mac app does not set up fx yet. Use the command above.
When setup finishes, restart fx, or run /mcp reload in a running session.
What setup writes
Setup installs the Pushary CLI globally, then changes three files in ~/.fx:
| File | What setup adds |
|---|---|
~/.fx/mcp.json | A pushary server. It runs pushary-mcp, a local bridge that forwards fx's MCP calls to Pushary |
~/.fx/settings.json | Two permission rules. "mcp_pushary_*": "allow" lets fx run Pushary's tools without asking. "ask_user_question": "deny" turns off fx's own terminal question tool, so its agent asks through Pushary |
~/.fx/AGENTS.md | A block between <!-- BEGIN PUSHARY ... --> and <!-- END PUSHARY -->. It tells fx's agent when to ask through Pushary and how to load Pushary's tools |
Setup adds both rules after your own rules. If you already have a rule for mcp_pushary_* or ask_user_question, setup keeps yours and tells you.
No key is written to fx's files. The bridge reads your key from PUSHARY_API_KEY when you set it, and from ~/.pushary/config.json otherwise. If you rotate your key, fx uses the new one without running setup again.
Pushary's tools in fx
fx names them:
| Tool | What it does |
|---|---|
mcp_pushary_send_notification | Send a push with optional rich context |
mcp_pushary_ask_user | Ask a question: yes/no, multiple choice, or free text |
mcp_pushary_wait_for_answer | Wait for your answer |
mcp_pushary_cancel_question | Cancel a pending question |
mcp_pushary_propose_scope | Propose the boundary of a run for you to approve |
fx does not load these tools at the start of a turn. Its agent loads each one by exact name with mcp_select_tool. The block in ~/.fx/AGENTS.md tells it to.
What Pushary cannot do in fx
- fx's approval prompts stay in the terminal. fx cannot hand them to another tool. Only questions fx's agent asks through
mcp_pushary_ask_userreach your phone. - Full-access mode keeps fx's question tool on. fx's full-access mode (
yolo,full-accessorfull access, set in settings, in a workspace, or withFX_PERMISSION_MODE) ignores permission rules. So theask_user_questionrule does nothing there, and the agent is only told to ask through Pushary. Setup anddoctortell you when this applies. Leave full-access mode with/permissionsto route questions for certain. - Workspace rules replace the global ones. An fx workspace with its own
permissionrules ignores the rules setup added. Setup tells you how many there are. Add"mcp_pushary_*": "allow"and"ask_user_question": "deny"to each one.
When setup leaves fx's files alone
Setup does not edit ~/.fx/mcp.json or ~/.fx/settings.json when fx itself would reject or refuse to edit the file. That covers comments, a trailing comma, a byte-order mark, a repeated key, servers under a key fx does not read, and a file larger than fx reads. It also leaves settings.json alone when fx would ignore it, for example because of an unknown permission action or permission mode.
Setup names the file and the reason, and prints the command that retries only fx:
npx pushary@latest setup --agents fxIf ~/.fx/AGENTS.md is a symlink to a file outside ~/.fx, fx ignores it. Setup writes no instructions there and tells you to replace the link with a file.
Check it
npx pushary@latest doctorDoctor checks the pushary server in ~/.fx/mcp.json and that its bridge is installed. It warns when Pushary's tools are not auto-allowed, and when fx's questions can still stop in the terminal.
Remove it
pushary disconnect does not cover fx. To remove Pushary from this machine, fx included:
npx pushary@latest cleanIn fx, clean removes the pushary server, the mcp_pushary_* rule setup added, the ask_user_question rule if setup added it and you have not changed it since, and the block in ~/.fx/AGENTS.md. clean removes Pushary from every agent, not only fx. See the CLI reference.
To remove Pushary from fx only, delete the pushary entry in ~/.fx/mcp.json, the two rules in ~/.fx/settings.json, and the Pushary block in ~/.fx/AGENTS.md.
Related
- Supported agents: how every agent connects, and which ones Pushary can enforce.
- Human in the loop: how questions and answers work.
- CLI reference: every command and flag.