Your money, in the terminal
Check balances, pull transactions, see your income, all from your terminal. Built for scripts, agents, and people who live in the shell.
Get startedA real terminal session with MyTruv CLI
Tables on a TTY, JSON when piped, the same data either way
How it works
Set it up in 3 minutes.
curl -fsSL https://raw.githubusercontent.com/truvhq/mytruv-cli/master/scripts/install.sh -o install.sh
sh install.sh Install
The install script puts the mytruv binary on your $PATH (defaults to ~/.local/bin). Linux binaries need glibc 2.35+ (Ubuntu 22.04, Debian 12, RHEL 9). Or install with uv:
uv tool install git+https://github.com/truvhq/mytruv-cli.git Log in
Browser-based OAuth, no API keys to manage:
mytruv auth login Check your data
View accounts, balances, and recent transactions:
mytruv links # connected providers
mytruv balances # aggregated balances
mytruv transactions # last 7 days by default
mytruv spending # spending breakdown Pipe to jq, build scripts
Every data command emits JSON on stdout when piped, with structured exit codes (0 success, 1 error, 2 auth required) and JSON errors on stderr. Built for automation.
mytruv balances | jq '[.aggregated_balances[] | select(.type=="CHECKING") | (.balance | tonumber)] | add' Your money belongs in the terminal
Pipe your finances like any other data.
`mytruv balances | jq | grep CHECKING`. Your accounts are first-class citizens of the Unix toolchain now. Compose them with cron, ssh, fzf, anything. Money becomes scriptable, finally.
Built for automation, not eyeballs.
JSON-first output. Structured exit codes. stderr/stdout split correctly. The CLI was designed for scripts, dashboards, and AI agents to consume. (It still looks great on a TTY.)
Doubles as a local AI agent endpoint.
Run `mytruv mcp` and the same binary becomes a local stdio MCP server. Any AI agent (Claude Code, Codex, anything new) can talk to your money without going through the cloud.
Open source. Yours forever.
github.com/truvhq/mytruv-cli. Read the code, file issues, fork it. The CLI does not go away if MyTruv changes plans, it lives on your machine.
Things to try
Copy-paste straight into a shell. The CLI is read-only, these can't hurt anything.
Sum balances
Sum all your checking-account balances.
mytruv balances | jq '[.aggregated_balances[] | select(.type=="CHECKING") | (.balance | tonumber)] | add' Top merchants
Top 5 merchants over the last 30 days.
mytruv spending --days 30 --group-by merchant \
| jq '.spending.by_merchant[0:5] | map({merchant_name, total_amount, transaction_count})' Date range
Pull transactions in a date range and count by category.
mytruv transactions --from 2026-01-01 --to 2026-04-01 \
| jq '[.transactions[] | .categories[]] | group_by(.) | map({cat: .[0], n: length})' Net worth
Net-worth time series for the last year.
mytruv balance-history --date-range 1y --time-period month | jq '.time_series' Auth guard
Guard a script on authentication.
if ! mytruv auth status | jq -e '.authenticated' > /dev/null 2>&1; then
echo "Please run: mytruv auth login" >&2
exit 1
fi MCP stdio
Start an MCP stdio server for a local agent.
mytruv mcp API surface
Commands
Every data command accepts --json, --output csv, --no-color.
mytruv auth login() // Browser-based OAuth (use --no-browser for headless).
mytruv auth status() // JSON {authenticated, user}, perfect for script guards.
mytruv user() // Your profile, including subscription / onboarding flags.
mytruv links() // Paginated list of connected providers.
mytruv balances() // Aggregated balances by account type.
mytruv liabilities() // Aggregated liabilities for credit cards and loans.
mytruv transactions() // Bank transactions, with --from / --to / --categories.
mytruv spending() // Spending by category, merchant, or time period.
mytruv income() // Income from payroll and bank sources, tagged by source.
mytruv recurring() // Subscriptions, bills, and recurring deposits.
mytruv balance-history() // Net-worth trends with --date-range and --time-period.
mytruv mcp() // Start an MCP stdio server for local AI agent integration.
Questions &
Answers
Yes. The CLI cannot modify your accounts, create transactions, or change any settings, same guarantee as MyTruv MCP.
Python 3.10+ and a MyTruv account with at least one connected financial account.
Yes. Use --json for raw JSON, --no-color to disable ANSI colors, and check exit codes (0 success, 1 error, 2 auth required). Errors are structured JSON on stderr so they never pollute parseable output.
Yes. MyTruv CLI ships as a Gemini CLI extension. Run `gemini extensions install https://github.com/truvhq/mytruv-cli` after installing and authenticating the mytruv CLI.
Run `rm "$(command -v mytruv)"` to remove the binary.
Yes. github.com/truvhq/mytruv-cli.
Make AI worry about your finances
Know what you're owed. Keep what you earn. See your net worth grow