Skip to main content

Schwab constantly disconnecting or not placing trades (common issue)

Why Schwab rejects trades with ACCOUNT_NOT_ELIGIBLE_FOR_TRADING, why the account stays connected, and how to enable thinkorswim trade access.

Written by Austin Bouley

If a system logs an error reading ACCOUNT_NOT_ELIGIBLE_FOR_TRADING on your Charles Schwab account, this article explains what's happening and how to fix it.

What the error means

The connection to your Schwab account is working — we can read your balances and positions — but Schwab is refusing to accept trade orders on it.

This is not a problem with your allocation, your settings, or our software. Schwab is declining the order at their end before it ever reaches the market.

Your account stays connected

An eligibility rejection is not the same as a broken connection. We no longer mark the brokerage disconnected for this error, because that produced misleading skips like "No connected broker" even though the account was still linked and readable.

What you should see instead:

  • The Brokers page still shows the account as connected.

  • The failed order is recorded with the eligibility reason.

  • On Wheel Paycheck, remaining entries for that run stop after the eligibility block so we don't hammer the broker with more rejects.

A reconnect notification still fires when the connection itself is disabled. Eligibility and options-approval issues are separate — fix them at Schwab, then reconnect once if permissions changed.

Why it happens

Schwab only permits third-party trade access on accounts that have been enabled for trading on thinkorswim. Plenty of Schwab clients have never opened thinkorswim and don't need it to trade on schwab.com — but without it enabled, Schwab's trading connection isn't available to any outside application, including ours.

This is enabled per account. If you hold more than one Schwab account, enabling it on one does not enable it on the others. Each account you want to trade with needs its own application.

This is not the same as the 7-day reconnect

Schwab's API expires third-party access roughly every 7 days for every customer. Reconnecting on that cadence is normal, expected, and unrelated to this error — see Charles Schwab 7 Day Reconnect.

If you're reconnecting on schedule and still seeing trades rejected, the thinkorswim trade access below is what's missing.

Read this before you start

  • Open orders will be cancelled. Any open orders in the account you're enabling are cancelled during Schwab's approval process. If you have working orders you care about, plan around this.

  • Approval usually takes until the next business day. It's rarely instant, so don't expect to enable it and trade the same hour.

  • Not every account type is eligible. Schwab restricts API trading to certain account types. Read their terms during the application to confirm yours qualifies.

  • Enable it separately for each account you intend to trade with.

Step 1 — Enable thinkorswim on your Schwab account

  1. Log in to Schwab. Open the Schwab web app and go to the homepage.

  2. Open the Trade tab and select Trading Platforms.

  3. Find the thinkorswim section. Look for "Enable your account for trading on thinkorswim" and click Learn how to enable thinkorswim.

  4. Begin the application. Read the disclaimers and terms of service carefully — this is where you'll see which account types are eligible.

  5. Complete and submit the application.

  6. Wait for approval, typically by the next business day.

SnapTrade, the service that connects Schwab to our platform, maintains a version of this walkthrough with screenshots: Schwab Trading: Enabling trade access via ThinkOrSwim.

Step 2 — Check your options approval level

While you're in your Schwab account settings, confirm you're approved to sell cash-secured puts and covered calls. If you're not, request an upgrade there. Options approval comes from Schwab, not from us.

This matters only if you're running Wheel Paycheck. Cash Reserve places ordinary stock orders and needs no options approval.

Step 3 — Reconnect your account with us

Once Schwab approves the application, enabling trade access does not retroactively upgrade a connection you already made. You have to reconnect so the new permission is granted.

  1. Go to Brokers in the sidebar.

  2. Find your Schwab connection and reconnect it.

  3. Sign in at Schwab and approve the connection again, including any verification code they send.

  4. Confirm your account shows as connected with your balance and buying power visible.

Step 4 — Let a system run

Your systems will attempt their next scheduled run automatically. If you'd rather not wait, trigger an evaluation manually from More options on the system, then check the execution history — the error should be gone.

If it still isn't working

Contact us and we'll look at it with you. It helps a great deal if you can tell us:

  • Whether Schwab has approved the thinkorswim application, and on which account

  • Your Schwab options approval level

  • Roughly when you last reconnected

  • Which system logged the error

Use the live chat icon on any page, or email [email protected].

Is anything at risk while this is happening?

No. Your capital stays in your Schwab account in your name throughout, and positions you already hold are unaffected.

When a system gets a rejection from your brokerage, it skips the run and records the reason rather than retrying blindly or trading on stale information. The worst outcome of this error is missed entries, not a bad trade.

Did this answer your question?