Your money, in the terminal.
Check balances, pull transactions, review income, analyze spending, without leaving the shell. Built for scripts, agents, and people who love jq.
A 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.