Claude says it can't place trades on Robinhood: what's actually wrong
The six symptoms people actually report, in their own words, and what is really going wrong in each one. Measured first-hand against the live server; nothing secondhand.
Start here if it's a connection problem: a bare claude mcp add <name> <url> registers a local command, not a remote server — the #1 cause of "can't connect." Use claude mcp add --transport http robinhood-trading <URL>. If it connects but refuses to trade, the six symptoms below are the causes, in the order worth checking; the longer ordered diagnostic goes deeper once you know which one you have.
Robinhood publishes the same line with the flag after the name — claude mcp add robinhood-trading --transport http https://agent.robinhood.com/mcp/trading — and that is the form most people paste off their setup screen. The flag itself is the part that cannot be missing.
Not sure what a tool is supposed to do in the first place? The full surface is documented in our 53-tool Robinhood MCP reference — categorized, with the measured gotchas inline and a JSON your agent can load.
The connection command
The command that adds Robinhood's agentic trading MCP server to Claude Code is:
claude mcp add --transport http robinhood-trading https://agent.robinhood.com/mcp/trading
Two caveats before you run it. Coil neither hosts that endpoint nor endorses it — it is Robinhood's, they can move it, and the address in their agentic-trading documentation beats the one on any page like this. The command itself carries no credential of any kind; authentication happens afterwards, in a browser, on robinhood.com.
Claude keeps telling me I can't actually make trades in agentic Robinhood
That sentence is usually true, and Claude is reporting it rather than being stubborn. Robinhood's place_equity_order rejects orders from any account that does not have agentic trading switched on, so every read succeeds, the order comes back refused, and what reaches your chat window is the refusal in plain English. Ask it to run review_equity_order on a single share and read the reason it returns — that names the account, not your prompt. If the account is the cause, the fix lives inside the Robinhood app, and no rewording on your side will move it.
Claude is doing nothing with my Robinhood agentic account
Silence is a different failure from refusal. It almost always means the agent has a connection but no rules: with nothing telling it what would make it buy, it reads your positions, describes what it sees, and stops. The other common cause is a scheduled run that reached the confirmation step with nobody there to confirm, which is the broker's flow working as designed. The tool-call log tells the two apart. Calls but no order points at strategy or confirmation; no calls at all means the server isn't loaded in that session, and claude mcp list will show that. A scheduled run that made no calls and left no error has a third cause: a headless session cannot answer a permission prompt, so it waits until something kills it. The flags that prevent that are in the always-on agent guide.
My Claude says it has the function to place trades on Robinhood but that it won't — why is that?
Two unrelated things produce that same complaint. A tool showing up in the list only means the MCP server advertises it. Listing is not entitlement, and the broker still decides at the account level whether a call is allowed, so a visible place_equity_order can refuse every single time. The other case is the question you asked. "Should I buy NVDA?" asks the model to originate an investment recommendation, and it will decline, correctly. "Execute the rule I already wrote" is a different request, and it will act on that one.
I can't find where to create an agentic account in Robinhood
That's because it isn't in Claude and it isn't in Coil. Agentic trading is switched on from your account settings inside the Robinhood app, and its exact placement moved more than once during the beta, so in-app search finds it faster than hunting through menus. The rollout has gone account by account, so you may land on a waitlist instead of a toggle — that queue is Robinhood's, and neither we nor your agent can move you up it. Once it is on, take the MCP URL from Robinhood's own agentic-trading page and nowhere else; a URL copied from a video description or a forum comment is how credentials get phished. The command form is claude mcp add --transport http robinhood-trading <URL from Robinhood's agentic-trading page>, and --transport http is the part that decides whether it works.
Robinhood agentic trading not working with Claude
Split the problem in half before you change anything. Run claude mcp list. If the Robinhood server is missing or shows as failed, this is a connection problem, and the usual cause is a bare claude mcp add <name> <url>, which registers a local command instead of a remote server. If the tools are listed and orders are still refused, the connection is fine and the cause is one of the ones above — the account, the missing confirmation, or the way you asked. Prompt-wrangling fixes neither half, and an agent you can argue into placing an order it was never authorized to place is a liability rather than a feature.
Robinhood's own first move, quoted from its agentic-trading support page as of September 6, 2026: “If you are experiencing issues with your MCP connection, disconnect and reconnect the Robinhood Trading MCP on your AI platform.” In Claude Code that is claude mcp remove robinhood-trading, the add command above again, then /mcp and a fresh sign-in in the browser. It takes a minute, and it is the step Robinhood asks for before anything else, so do it before you start editing prompts.
Claude doesn't allow order placement on a stock
Sometimes it is one symbol rather than the whole setup. Tradability is per-symbol at Robinhood, so pre-flight with get_equity_tradability before you build the order. Order type is the other half: market, stop-market and stop-limit are regular-hours only, and extended sessions accept limit orders only, so a stop tagged to an overnight session comes back rejected every time. When reads work on that symbol and the order still fails, review_equity_order hands you the reason.
Where Coil fits, plainly. Coil Engine is $79 one-time: the whole system as source, downloaded and run on your own machine inside your own AI agent, built for Claude Code against Robinhood, and it ships with live trading off until you arm it yourself. Coil never sees your brokerage account, never holds funds or credentials, and never places an order — your agent does that at your own broker. Our own live forward record is behind its benchmark by 0.66pp: +2.30% against SPY's +2.96% over 29 sessions settled through 2026-08-18. We publish it anyway. If you would rather not run source, Coil Live (MCP feed) serves the same feed and the same trading discipline to your agent over MCP for $29/mo.
The error table
| Symptom | Cause | Fix |
|---|---|---|
429 on bursts of tool calls | Server-side rate limiting | Pace calls sequentially; back off on first 429. Plan for one symbol per call on indicator endpoints. |
| Filters you passed seem ignored | Unaccepted filter params are silently dropped, not errored | Read filters_applied back from the response — treat it as the truth, not your request. |
| 5-minute bars lag your other feed | 5m data can run ~5 bars behind real time (enough to flip a 25-minute move's sign 28% of the time in our measurement) | Use completed bars only; never treat the newest 5m bar as current price. |
| Hourly close ≠ official close | The forming h1 bar can differ from consolidated SIP by up to ~3.4% | Reconstruct the hour from completed 5-minute bars when an hourly close feeds a decision. |
| Indicators missing history on first calls | Server-side warmup — indicators compute from completed bars after the server has seen enough of them | Expect early calls to be thin; retry after the session has bars behind it. |
| Every order rejected, reads all work | place_equity_order requires an agentic-enabled account | Enable agentic trading on the exact account you named, in the Robinhood app. |
| Order rejected on session tag | Market, stop-market and stop-limit orders are regular-hours only; overnight executes limit only | Tag stops to regular hours; use limit orders for extended sessions. There is no trailing variant — a scheduled agent recomputes its level and sends a plain order (how). |
| Symbol trades elsewhere but not here | Tradability is per-symbol | Pre-flight with get_equity_tradability before building an order. |
| Buying power looks wrong | get_accounts does not return reliable buying power | Route buying-power questions through get_portfolio. |
The full tool surface (~52 tools) and which ones an equities routine actually calls is on the operator guide. The safety half — account lockdown, order caps, loss halts, the kill switch — is a copy-paste template at guardrails.md.
Every row in the table above is a data problem you inherit the moment your agent has to build its own market view: bars that lag, filters silently dropped, one symbol per indicator call, an hourly close you cannot trust. Coil Live (MCP feed) is the way to skip that layer — $29 a month for a board we compute on our side, with structural stops and targets already derived, served over the same MCP transport you just configured for the broker. Your broker connection stays yours and still places every order. Coil supplies the numbers and the rules, and never sees your account.
The other errors people hit
Why is the Robinhood MCP returning 429 errors?
The server rate-limits bursts. Agents that fire tool calls in parallel hit 429s quickly; pace calls sequentially and back off on the first 429. Batch-style workloads (many symbols) should expect one-symbol-per-call on the indicator endpoints and plan their pacing accordingly.
Why are my Robinhood MCP filters being ignored?
The server can silently drop filter parameters it does not accept rather than erroring. Always read the filters_applied field back from the response and treat it — not your request — as the truth about what was filtered.
Why do Robinhood MCP 5-minute bars disagree with my other feed?
Five-minute data can run several bars behind real time. In our measurements a naive read was ~5 bars stale, enough to flip the sign of a 25-minute move 28% of the time. Use completed bars only, and never treat the newest 5-minute bar as current price.
Why does the hourly close differ from official prices?
The final (still-forming) hourly bar can differ from consolidated SIP prices by up to ~3.4% in our measurements. If an hourly close feeds a decision, reconstruct the hour from completed 5-minute bars instead of trusting the last h1 print.
Why are all my orders rejected even though the tools connect?
place_equity_order requires an account with agentic trading enabled; every read works and every order is rejected when the account you named is not agentic-enabled. Enable agentic trading on that specific account in the Robinhood app. Also note the documented flow is review_equity_order, explicit confirmation, then place_equity_order — an unattended run with nobody to confirm places nothing by design.
Everything above was measured against the live server on our own account and is stated as of August 2026. Robinhood's surface is theirs to change — when their docs and this page disagree, trust theirs and tell us. Scores and states only; nothing here is investment advice.
Connected and reading cleanly? The other half is one more line
The Robinhood server gives the agent hands. What to buy, when to enter and when to stand aside is a separate problem, and Coil’s answer to it is an MCP server on the same pattern — free tier, no key, wallet or account:
claude mcp add --transport http coil https://coil.trade/mcp
Then ask the agent to call get_live_setup. It answers without a key: what the free board is (every scored name, one market day delayed), what Coil Live adds (the intraday feed and the served rulebook the live record trades by), and the read order that puts Coil’s selection before Robinhood’s execution. Coil’s server has no brokerage tools, so nothing on that line can reach your account.