Query your Schwab account balance, positions, and transaction history directly from the terminal or inside automated shell scripts.
Stream real-time market quotes and option chain data from Schwab's API into other programs by piping the JSON output.
Give an AI agent structured brokerage data access using the --agent mode compact JSON output.
Preview and safely place orders from the command line using the two-step safety mechanism that prevents accidental trade submission.
Requires a Charles Schwab developer account and completing an OAuth login flow to generate and store credentials locally.
This tool is a command-line program that connects to Charles Schwab's brokerage trading API. It is written in Rust and designed to be used from a terminal, by automated scripts, or by AI agents that need to read or act on brokerage data. The project has no affiliation with Charles Schwab. Once installed and connected to your Schwab developer account through a standard login flow called OAuth, you can run commands to check account balances, list positions, pull transaction history, get market quotes for specific stock symbols, view option chains, and look at price history for a stock. It also supports streaming real-time market data directly to your terminal. A notable design choice is how it handles live order placement. Placing, replacing, or canceling a real order requires two separate safety steps: setting an environment variable called SCHWAB_CLI_ALLOW_LIVE_TRADING and also passing a flag called --yes-live-order on the same command. Previewing an order, by contrast, has no such barrier and is encouraged as a first step. This makes it harder to accidentally submit a trade. The tool outputs data as JSON to the standard output channel and sends diagnostic messages to a separate channel, which makes it easy to pipe the output into other programs or store it in files. There is also an --agent mode that produces more compact output for AI tools reading the results programmatically. Installation is a single shell command that downloads the latest release to a folder in your home directory. The tool stores its credentials and account data in configuration files on your local machine, outside the repository, so that sensitive information like OAuth tokens is never accidentally committed to version control. The README notes that Schwab's API does not expose all account types visible on the Schwab website. Certain products like Treasury bonds, CDs, and fixed-income ladders may require using the Schwab website directly even after setting up this tool.
← pashpashpash on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.