Your portfolio, one keystroke away.
See the code
Your portfolio, one keystroke away. A keyboard-first, read-only view of every brokerage account you've connected through SnapTrade: net worth, holdings, activities, and Fog, the cash you've left idle.
Works with Wealthsimple, Questrade, Interactive Brokers and every other brokerage SnapTrade supports. MIT licensed. Read-only by design: Folio cannot place trades or move money.




You need macOS, Raycast and Node 20+.
git clone https://github.com/ShayanAbedi/folio && cd folio/extension && npm install && npx ray develop
Once it has built, quit and reopen Raycast once (killall Raycast && open -a Raycast). Raycast only routes OAuth sign-in callbacks to extensions that were present when it started, so a freshly imported development extension can't finish signing in until you relaunch. After that you can stop the dev server with Ctrl+C; Folio stays installed under Raycast's "Extension Development" section. To update later, git pull, run the same command again, and relaunch Raycast.
Either way, you'll also need a SnapTrade account with at least one brokerage connected. Folio's Connect Brokerage command can open the connection portal for you after you sign in.
| Command | What it shows |
|---|---|
| Show Portfolio | Net worth per currency, accounts by institution, holdings per account |
| Show Positions | Every position across accounts, searchable. Show Positions AAPL jumps straight to a ticker |
| Show Activities | All · Trades · Dividends · Deposits for the last 365 days |
| Show Fog | Idle cash: how much is sitting undeployed and for how long |
| Connect Brokerage | Link another brokerage, or repair a disabled connection |
| Menu Bar Portfolio | Net worth in the menu bar, with per-account totals and Fog |
| Sign In with SnapTrade | Start or end your session |
Everywhere: ⌘⇧P hides every balance (privacy mode), ⌘R refreshes, ⌘I toggles position details.
Fog is cash that isn't doing anything. The amount is your cash balance across accounts. The idle days are counted from the later of your last buy and your last deposit (or cash transferred in from another account). If neither happened in the last 365 days, Folio says "365+" rather than guessing. It understates on purpose.
auth-worker/ that turns your one-time sign-in code into tokens. It holds no user data and keeps no logs of tokens. Its threat model is written up in SECURITY.md.Found a security problem? See SECURITY.md.
Bug reports and pull requests are welcome. Setup, tests, and how to run your own auth worker are in CONTRIBUTING.md.
Your portfolio, one keystroke away.
See the code
Your portfolio, one keystroke away. A keyboard-first, read-only view of every brokerage account you've connected through SnapTrade: net worth, holdings, activities, and Fog, the cash you've left idle.
Works with Wealthsimple, Questrade, Interactive Brokers and every other brokerage SnapTrade supports. MIT licensed. Read-only by design: Folio cannot place trades or move money.




You need macOS, Raycast and Node 20+.
git clone https://github.com/ShayanAbedi/folio && cd folio/extension && npm install && npx ray develop
Once it has built, quit and reopen Raycast once (killall Raycast && open -a Raycast). Raycast only routes OAuth sign-in callbacks to extensions that were present when it started, so a freshly imported development extension can't finish signing in until you relaunch. After that you can stop the dev server with Ctrl+C; Folio stays installed under Raycast's "Extension Development" section. To update later, git pull, run the same command again, and relaunch Raycast.
Either way, you'll also need a SnapTrade account with at least one brokerage connected. Folio's Connect Brokerage command can open the connection portal for you after you sign in.
| Command | What it shows |
|---|---|
| Show Portfolio | Net worth per currency, accounts by institution, holdings per account |
| Show Positions | Every position across accounts, searchable. Show Positions AAPL jumps straight to a ticker |
| Show Activities | All · Trades · Dividends · Deposits for the last 365 days |
| Show Fog | Idle cash: how much is sitting undeployed and for how long |
| Connect Brokerage | Link another brokerage, or repair a disabled connection |
| Menu Bar Portfolio | Net worth in the menu bar, with per-account totals and Fog |
| Sign In with SnapTrade | Start or end your session |
Everywhere: ⌘⇧P hides every balance (privacy mode), ⌘R refreshes, ⌘I toggles position details.
Fog is cash that isn't doing anything. The amount is your cash balance across accounts. The idle days are counted from the later of your last buy and your last deposit (or cash transferred in from another account). If neither happened in the last 365 days, Folio says "365+" rather than guessing. It understates on purpose.
auth-worker/ that turns your one-time sign-in code into tokens. It holds no user data and keeps no logs of tokens. Its threat model is written up in SECURITY.md.Found a security problem? See SECURITY.md.
Bug reports and pull requests are welcome. Setup, tests, and how to run your own auth worker are in CONTRIBUTING.md.